Deciding on a Cloud Platform – Mobile App Development

Use Case :

We wanted to build a mobile App as an extension of existing desk top application for a client in Healthcare.

device

Challenges –

Client application’s data infrastructure consisted of several hundred tables across multiple sql database instances.

They wanted to bring on a mobile developer. Unfortunately, ios developer resources tend to be expensive and in high demand. The last thing we wanted was to have the ios developer spend valuable time trying to understand native data infrastructure. It was also important that iOS development occur in parallel to client existing development (EHR, Integration with HL7 etc etc ), since it was moving fast and constantly changing.

Here is the approach we took and lessons learned during development  – 

We choose  Kinvey , a Mobile backend as a service (MBaaS) provider that makes it easy for developers to set up, use and operate a cloud back-end for their mobile apps.

Lesson #1: Do not transfer your entire application to mobile

Doing so would make your mobile app UI too clunky and cumbersome to use.

We narrowed our use cases to just a few simple, but highly valuable use cases that would significantly increase the value to the user.

  1.  Build a mobile app connecting directly to our existing data infrastructure
    1. Disadvantage:
      1. complicated task of selectively connecting to the target data tables. Would require us to build web services to interface our mobile app to the data.
  2. Focus on design on the UI that

Lesson #2 : Design the User Interface First

The goal is to make the UI focus on the user case,

  • Develop a the user interface first from the user’s perspective.
  • Make sure that the UI is optimized for the use case.

Lesson #3: Design the mobile datamodel to match the User Inteface.

i.e each view should be mapped directly to a table on the mobile data store.

This greatly simplifies the mobile development.

Determine the data model the best supports the UI. Avoid creating complex data relationships for the mobile data model. It’s preferable to use highly non normalized data.

You do not want you mobile app developer to have to think about the data model. It should be as easy as get data from a single table (collection) and display it on the mobile view.

Created a subset of data on Kinvey mobile platform and created a service to synchronize data from our sql infrastructure to kinvey.

Advantages:

  • Allowed our development to occur in parallel.
  • Once our mobile data model deployed on Kinvey, our mobile developer, who had no knowledge of our existing application and its data model, was quickly able to build a mobile user interface and connect to the kinvey for the data.
  • Avoid writing business logic in the mobile app code. We placed our logic on the synchronization code running between our main application data store and Kinvey mobile platform.This way, our existing full time developer, with detailed knowledge of current application, was able to focus on business logic code. This developer also, did not have to think out the mobile app. He just focus on “here is our existing data, I just need to push out a subset of our the data to a few Kinvey data collections.
    On reverse, I just need to pull data from Kinvey and load it back to our main data store and update any data on Kinvey.

Over all points:

– Smooth development cycle
– Efficient use of our ios mobile app developer.
(App developer did not need to have any knowledge of our existing application and native data model.)
– App developer was able to focus on connecting the UI to a few data collections on Kinvey.
– Any change in logic was managed by our existing development team who had existing.

Our Team has vast experience building Mobile apps using Kinvey SDK /API :

  • Android and iOS to develop native application.
  • Used REST api for Backend Application, to insert bulk of data to kinvey collection.
  • Implemented Offline Caching, Data storage, file storage, Push Notification, Data Encryption, User management and Business Logic.
  • Login to Application (using kinvey user management, and Kinvey social login as well).
  • Fetching data from collections and storage.
  • Adding and updating data to collections, and uploaded file as well.
  • Added business logic for push notification.

Please contact us at sales@propeersinfo.com for Mobile app development using Kinvey API.

#Kinvey #MobileAppDevelopment #Cloud #HealthCare #HealthIT

Leave a Reply