The current data layer (including both the schema and the storage implementation) is causing a steady accrual of tech debt. This manifests itself in the form of many workarounds, which are often untested and pollute other aspects of the app’s implementation. Both developer productivity and app quality suffer as a result.
The iOS engineers would like to iteratively improve the data layer, and eventually release it as a ObjC(/Swift) client for the Mediawiki API (or whatever services are driving the Wikipedia app).
Will it increase our velocity?
Not at first, but a main concern while planning this task will be to minimize negative impact on feature development speed in the short term, and but the engineers plan to realize a positive impact on velocity in the medium to long term.
Will it reduce risk?
Yes, the data layer is one of the riskier parts of the application and improving it will directly reduce the risks we’re currently taking my maintaining its current design.
Will it improve user happiness?
Yes, since we hope to improve application reliability, and hopefully performance.
1: https://gerrit.wikimedia.org/r/#/c/197006/, https://gerrit.wikimedia.org/r/#/c/197259/, https://gerrit.wikimedia.org/r/#/c/195790/, https://gerrit.wikimedia.org/r/#/c/194355/, https://gerrit.wikimedia.org/r/#/c/191894/, https://gerrit.wikimedia.org/r/#/c/193863/