ResearchKit: 4 Challenges in Building a Cross Platform Appby Shweta Mishra
Apple launched Researchkit – an open source library in 2015 which has been the source of about 25 research study apps like mPower app, Glucosuccess, myHeart app etc. However, with 85% of all smartphones sold being android phones, android users are a bigger potential target audience for the app industry as well as the investigators aiming to collect human health data for their research.
Interacting with a few researchers at top academic institutions, TrialX CTO and cofounder Dr. Chintan Patel found that they were reluctant to invest their time and effort in a study app that can only run on iphones, as only a certain section of the society can afford them. Moreover, the researchers firmly believed that using such an app for collecting study data would introduce biases in the study and an app that is supported on both android as well as apple based device – a cross platform app – is more likely to get a representative sample. So, the new medical apps coming out should ensure that they are targeting both android as well as apple users.
America Walks Study is an example of a cross platform app, first of its kind, released by TrialX Research in Feb 2016.
What are the options available to make a cross platform app?
There aren’t too many options available yet, but let’s have a look at the libraries that are currently functional for use in building cross platform apps.
- ResearchDroid - Applied informatics released an android based open source library called ResearchDroid in October 2015. Research droid is like the researchkit of android systems, which offers everything that researchkit offers to apple based systems. It is an open source offering and Applied informatics also provides commercial long term support.
- ResearchStack - Another option that can be used is the ResearchStack, that was an academic initiative by the Cornell University to build research library and was released in 2016. The famous mole mapper study is based on ResearchStack.
Whether an app is built for iOS or android based systems, or both, it more or less has a similar architecture in terms of backend storage. So, you don’t have to worry about using a different storage database or backend API’s for a cross-platform app.
What are the Challenges?
Coming to the major challenges faced in building cross platform apps, “One of the first challenges we came across was matching the user interface (UI) norms across the two platforms,” Dr. Chintan Patel explained at the Mobile in Clinical Trials conference recently held in Boston. For instance, he further explains, “iOS users are used to back buttons on top, whereas on Android people prefer to use a physical back button. These are small details but they become important when you try to go across platforms.”
He outlines the following main challenges in building a cross platform app in this webinar:
- Fragmentation of device and OS on android – There is a lot of fragmentation in the android world, which means that there is a huge variability in the type of android smartphones people are using, both at the hardware and software levels. There are a large number of devices running on android OS, each with a different hardware setup like screens size, back buttons etc. that should be catered to while developing a cross-platform app. Moreover, constant availability of customized android versions and a newer version of OS is hard to keep up with. The app must be compatible with the lower versions of a software too, to have a wider impact.
- Variations in the device capabilities – Almost all apps use some kind of sensors like accelerometer, gyrometer or GPS etc., but there is a lack of standardization in the sensors being used in android and iOS systems. So lack of hardware compatibility can pose data validity problems. It is difficult to ensure the validity of data coming in from 2 different kinds of sensors. For example, we cannot say with surety that the step count data measured using an iOS versus an android sensor has the same meaning.
- Backend API to support both platforms – Ensuring that backend API is able to support both android and ios platforms is challenging as even privacy and security are different between the two platforms. “iOS has HealthKit and there’s a permission step before a participant gives access to the data. With Android, there is no such thing, only when you install the app it gives all those permissions. In designing the app you have to consider these things. You need to think about security and privacy on Android. People were concerned, one concern was ‘Does the data go to Google?’ We had to get data from raw servers instead of from Google Fit, because Google Fit does send data to the server, which is a no-no for us.” Dr. Patel explained.
- Data normalization of timestamps and other local sensor data parameters – We don’t know yet if the local sensor data, the time stamp data etc. collected via these 2 different platforms are normalized and clean enough to be used to do proper research.
While explaining the data collected via the America Walks Study cross platform app at the conference, Dr. Patel said that there were challenges with backend data syncing and integrating with different default mapping apps. Also, it was hard to judge whether the step counts that differed significantly between iOS and Android participants, was more of a data collection problem or partially because of demographic differences. Mobihealthnews covered the Mobile in Clinical Trials conference updates in detail in this article.
Apart from challenges related to android compatibility, one important thing to be taken care of, in general by the app developers, is the validation and standardization of data collected using these apps. Even bigger challenge of coming times would be the analysis of all the data hence collected.