Our task was to build an app that would stream slide films online but store some data locally on mobile devices and therefore use less internet traffic.
We researched and estimated an average size of a slide, average number of slides per film, number of films in each category and etc. On the basis of the gathered information, we chose the most suitable framework for simultaneous image loading.
Each slide film is downloaded in a separate stream so that improves overall speed. In order to synchronize and manage these streams we used reactive programming approach, therefore, we created a flexible and responsive architecture for the app.
Slide films that were watched or marked as favorites are stored in a special cache storage and once there is not enough space films that were added there the earliest are removed.
In the end we accomplished all of the requirements specified by the client and designed one of the best apps for slide film viewing that received positive feedback and has a good rating in the App Store. Users got a chance to watch slide films from 50 years ago on the go and save them for later.