About two years ago, I began development of a mobile app for a project called REDCap. REDCap is a leading data collection tool used for, among other things, administering surveys and collecting that data. The REDCap app would help take those tools mobile.
My goal was to develop a mobile app using a hybrid development platform – one that uses iOS and Android as iOS is popular in the US and Android is popular globally. Further, a hybrid system, with one set of code for multiple platforms, would minimize code development and maintenance costs. Mobile apps that are used globally, in a variety of environments, seem well-suited for hybrid development.
Since the REDCap Mobile App’s launch in April, I’ve had an opportunity to see medical research through a pretty unique perch. Here are a few practical insights I’ve gained along the way.
Troubleshooting the app
Bugs are unavoidable in apps, even if you do your best to find them before launch.
Our app has now been downloaded by Androids in 85 countries. The Android technology is particularly helpful here because I can hear of a bug report in one place and ship out a bug fix via the Google Play Store quickly, in about 3 hours – not bad!
The Apple App store is more limiting. It takes about one week for an app to be approved or approved again. While Apple has a good commercial base in the developed world, the slowness is limiting. If there is a critical bug that needs fixing immediately on iOS, there is a path for expedited review, which can release software on the same business day. I used this when something I sent out was a version with faulty encryption. I chewed on my fingernails for about 24 hours! This problem would probably have been solved in 6 hours or less with the Google Play Store.
Many days, I receive email from someone in east Asia with a question or two. Other days, it’s an email from a researcher in Africa. Internet access issues are common in these regions. Here, the app can be especially useful through offline use of computing materials, including downloaded ones, and uploads when back on the grid.
And beyond access, another issue is speed. Download times of dynamic information can take much longer in South Africa than in the United States. For example, three minutes US download time = twenty minutes South Africa download time – and that’s at a major South African university with better Internet access. Things are even worse in a place like Uganda or some of the Southeast Asian countries. But it all depends on your location.
A developer has to figure out how to efficiently send data if he/she wants to access users in these spots. Also, the developer has to figure out how to handle dropped transmissions and restart them mid-stream.
Good local technical partners are also important. But I’ve also found email to be a slow means of transmission. There are various face-to-face, screen-sharing, and text-based tools out there. Also, Facebook isn’t a bad option for rapid transmission of text.
There are probably other challenges to confront down the road. Maybe you might teach me some. Feel free to share any experiences below in the comment section.