Hi everyone,

*tl;dr: The Mobile Apps iOS Engineering Team is doing some refactoring of
network operations and data storage in the iOS app. Track our progress
using the red and purple filters on our Trello board
<https://trello.com/b/zgT6XuU6/mobile-app-sprint-40-ios-insert-theme-9-15>.*

The iOS team has been working on the "Update all for saved pages" story
this sprint. The work is taking much longer than expected due to some
antiquated code in the app that handles network operations and data
storage. The code is fragile, which creates peculiar crashes that are
difficult to diagnose, it's hard to maintain, and it's difficult to develop
on. "Update all for offline reading" in particular involves one synchronous
process (the downloading of the data) talking to another (the saving of the
data) in the background while there are other tasks going on in the main
thread, which is a difficult enough problem to deal with without also
dealing with antiquated code.

This problem needs to be dealt with. Rather than delaying dealing with it,
we decided to tackle it head on.

Our two high-level objectives for the refactor are:

   - Migrate from our custom network operation code to the AFNetworking
   library, a well-maintained open source networking library.
   - Migrate our data storage system from Core Data to using a flat file
   system.

This translated into a list of 11 action items, which are recorded on on
our Trello board
<https://trello.com/b/zgT6XuU6/mobile-app-sprint-40-ios-insert-theme-9-15>
using
the purple (networking refactor) and red (storage refactor) filters.

In terms of priorities, this refactoring effectively blocks the "Update all
for offline reading" story. That said, a sprint represents a commitment to
completing the stories in said sprint, so we are going to complete
everything in our current sprint that is not dependent on the refactoring
before we begin the refactoring itself.

If you have any questions, please do ask!

Thanks,
Dan

-- 
Dan Garry
Associate Product Manager, Mobile Apps
Wikimedia Foundation
_______________________________________________
Mobile-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mobile-l

Reply via email to