When you need to get bids on software for a research project, it can be hard to know exactly what to ask for. There are currently three primary categories of software applications. These three types of apps exist because there now exists a wide variety of technological choices for achieving different outcomes.
Each has its own pros and cons; there is no "winner" here or preferred application type. But knowing the possibilities will help you more quickly zoom in on the right kind of technology for your situation.
You will also likely need "administrative" or "back end" interfaces or dashboards, so that you can manage your data, generate reports, and so on. But for this article, we will focus on "the app" that you're most likely thinking of when first envisioning a user-centric clinical trial or study.
Let's start with the ending: here is my "scoreboard" that provides an at-a-glance comparison:
1. Mobile Web Applications These apps are actually just standard websites that can be viewed in any browser, but we use the prefix "mobile" to indicate that they are smart enough to customize their display depending on the size of the user's screen. With one codebase, your application is usable regardless if your users choose a laptop, tablet, or phone. This is generally the cheapest and most flexible choice that can accommodate the widest range of users. However, due to device security restrictions, web applications cannot usually access any data stored privately on the user's laptop or phone, nor can they access device-specific hardware such as the accelerometer, compass, or biometrics.
2. Hybrid Applications These apps use newer technologies to strike a middle ground between run-everywhere web applications and device-specific native applications (see below). Hybrid applications enable developers to write a single, reusable codebase that can be published as both an iPhone and Android application. Hybrid applications can often look and feel closer to their native counterparts than mobile web apps can, and with extra work can often access device-specific capabilities such as the camera and accelerometer.
3. Native Applications These apps are written to operate exclusively on one specific kind of device: iPhone, Android, or Windows. The code for the application must comply with stringent requirements set forth by the respective manufacturers. Writing a native app is a complicated software engineering endeavor, leading to longer build times and higher cost. And if your users are split between iPhone and Android, you'll have to build two completely separate applications. However, native applications result in the best user experience possible. Native apps look and feel just as snappy and "tight" as any Apple- or Google-built app. They can take advantage of everything possible on the device: the camera, accelerometer, compass, local databases, and even integrate with other apps installed on the phone.
Drop me an email: firstname.lastname@example.org
Find me on Twitter (DMs are open): @jeffcohen