Skip to content

Mobile Applications

Complete Reboot of US Image Sharing Leader’s Mobile Apps

Complete Reboot of US Image Sharing Leader’s Mobile Apps

Success Story

Scalefocus helped our customer, a US-based image sharing and photography leader, totally rebuild its mobile applications. The apps were native implementations of the service written in Objective-C and Swift for iOS and Java and Kotlin for Android. Both apps were over five years old before Scalefocus took over their support.

The project scope included complete support and new feature development. Some key features of the project were working with a distributed team featuring a client project manager in the US and QE in India. The service’s main goal was to drive user acquisition, but our client was struggling with a massive ecosystem of microservices related to photo sharing and legacy code base.  

1M unique monthly users on the web and 700k on mobile

Build time reduction from 7 down to 2 minutes

AppStore and Google Play store ratings up
by 1.1 stars

The Client

Founded 25 years ago, our customer quickly built on its humble beginnings to become a true leader in the realm of photography, photo products and image sharing and a recognizable name across the globe. The company offers a wide range of services that include photo and video storage, award-winning photo books, gifts, home decor, premium cards, invitations, stationery, etc.

Our client’s platform allows the creation of personalized sites, content sharing and collaboration via pre-defined modules and layouts. Use cases are quite diverse and range from schools and teachers using them to collaborate and notify pupils and parents, sports teams keeping their practice calendars and scores, to baby milestone sites, where people share photos and milestones of their kids. The service’s most popular features are photo sharing, calendars, notice boards and journals.

The Challenges

Tackling a massive legacy code base with no architecture was certainly among the critical challenges. The project was quite old and extensive and included over a million lines of code written in Objective-C. Naturally, many things were deprecated or simply would not work on the newer iOS version, and the project build time was very long, exceeding 7 minutes for a clean build.

There were also memory leaks and multithreading issues. Most code had not been designed for memory management or multithreading, so plenty of hidden bugs slowed down the app or caused random crashes. To resolve all these, Scalefocus needed to use Instruments for meticulous examination. 

As the primary usage of the app was centered around the client’s ecosystem and photos, creating a seamless user experience was pivotal when uploading and downloading photos. In some extreme cases, users had over 1,000 albums, with 1,000 images each, so, it was essential to be able to download only what was necessary.

Scalefocus also had to address security and access rights. With numerous professionals collaborating on a single site, it was always going to be a challenge to figure out the correct set of access settings to ensure enough granularity of control and ease of use. Additionally, it was crucial to secure access to the user’s data on such an open platform and use all standard encryptions and security measures that Apple and an external security auditor recommended.

In certain cases, diversity is not an advantage. The project’s sheer amount of very diverse features meant that implementing the underlying infrastructure to support everything had to be straightforward to extend and not damage other modules. For example, when changing event creation and editing in the Calendar, we would have to ensure the scoreboard still recognized the events with certain “game” types and that links from the Notifications still opened in the correct module with all required data.

 

The Solutions

So, how do you manage a legacy database that contains millions and millions of lines of code? Take a page out of Scalefocus’ book. Our team used Swift, rewrote older code, and utilized MVVM as architecture, while still supporting multiple Objective-C files to build all the new features.  

To shorten the project’s build time, we tracked the problem to cyclic module imports, which led to a development pod being built over 30 times during the process. After carefully examining the build process, we managed to reduce the build time to around 2 minutes down from 7. 

Scalefocus also introduced offline mode so that users could at least access partial functionality if they lost network connection. Our team utilized a local Core Date database to store much of the data and sync it with the backend on demand. 

To address the huge photo volumes, we made a custom implementation of an infinite scroll gallery view, supporting custom gestures and UI. The implementation had to be reusable and customizable, working with async image loading from different backend or local Core Data sources.  

Scalefocus also did a successful integration with the customer’s shop. We developed a framework SDL, using the existing app code, whose role was to present product customization and checkout UI, with access to both the users’ photos on the phone, the share site, and their personal account. The SDK was very complex, with a code base nearly as extensive as the original project.  

We were also in charge of research and suggesting tools and services. Since we had complete ownership of the project, our team was responsible for proposing feature implementation and external service usage. These included Braze for push notifications, Graphana and Splunk for logging, Twilio for SMS sending, etc. Therefore, we invested a lot of time and effort in research and different service comparisons to be able to make recommendations.

Scalefocus also delivered a Photo Share extension, allowing users to upload photos directly from the Share action of iOS. This extension shared the same app group, so it had access to the user’s auth token, and they did not have to re-authenticate to upload. Most of the code was shared from the base app with few UI changes.

Results

Scalefocus has already worked for over five years on this project and has gained the client’s complete trust, to the point where we create the road map for the year, propose improvements and features, and have complete freedom to drive the project forward.

  • The service currently has around 1 million unique monthly users on the web and around 700k on mobile. 
  • Another major achievement was the reduction of build time from 7 down to 2 minutes.
  • The mobile apps’ AppStore and Google Play store ratings went up by 1.1 stars – an impressive increase, especially since both apps already had over 1000 existing reviews.
  • Stability of the apps increased from 97% to 99.8%, according to Firebase Crashlytics stats.
  • The new features in the apps, the first ones to be released in over 5 years at that time received very positive coverage in users’ social media and blog groups as tracked by the client’s marketing team.

The Technology

iOS

CoreData
UIKit
SwiftUI
Core Graphics
REST API
Keychain
Push Notifications

Android

Retrofit
MVVM
MVP
Room
Shared Preferences
Java
Kotlin
Kotlin coroutines
Android XML
LiveData
Firebase
Splunk
Firebase Performance
Firebase Analytics
Firebase Crashlytics
Rest API
Jenkins

Our Work

We have a global client base that includes Fortune 500 companies, innovative startups and industry leaders in Information Technology, E-Commerce, Insurance, Healthcare, Finance and Energy & Utilities.

Explore all

Ready to scale and meet the technology challenges of tomorrow?

Contact us