Mobile App Development with Backend Integration Case Study
The Client
The client is an eCommerce platform for small and medium sized companies. It allows both affiliates and marketers to place consumers in a optimized virtual shopping cart, track sales and easily process payments.
The Need
The client has a web application that allows customers to apply for credit and manage that credit line so they could make purchases and pay later. They wanted to extend this functionality to a mobile platform and create native apps for both Android and iOS that would communicate with their existing backend in real time. They required a very attractive and responsive UI for both mobile platforms that would function within the API framework that was developed internally by the client’s development team.
Key Challenges
- The mobile apps had to communicate with the backend of the client’s existing web based software via REST APIs; however, these APIs were not stable at the time.
- Integration with push notification services was required, but this function was still under development by the client’s development team.
- The release cycle was accelerated while also having to mitigate the impact of changes induced by ongoing updates to the APIs as part of their stabilization.
The Optimus Solution
The project began with a brief overview of the functionality to be supported. Since the app was to function as an extension of an already existing web-based application, the main use cases and workflow were derived by studying the existing web application. In parallel, the Optimus team analyzed the client’s existing APIs and mapped them to the requirements of each module.
Optimus also focused considerably on providing a high end experience for the end user. The Optimus UI team worked closely with the client team to get the right design and workflow and to ensure that the mobile apps met the expected business and functional requirements.
Optimus ramped up a development team in very short time to successfully meet the aggressive timeline. Agile development was followed for the development with regular huddles and reviews with the client team, this ensured that the key functionality was developed first and that interpretation of features remained consistent among all stakeholders.
One of the major challenges encountered by the Optimus team during development was the multiple failures and errors detected in the client’s API framework. These caused several iterations of further analysis, debugging and changes to design. While these were not accounted for in the initial baseline scope, the Optimus team collaborated actively with the client team to stabilize the APIs quickly by providing timely input and suggestions.
The Optimus team also collaborated with the client’s development team and recommended the integration of Google Cloud Messaging and Apple Push Notification Service for the apps.
TestFlight was used for sharing builds. This let all stakeholders experience the app on actual devices so they could provide regular feedback on the basis of the various builds released at each sprint end.