mPOWEr as an HTML5 Web App

In developing mPOWEr as a mobile health application we faced an early decision about whether to build using native code or a more general HTML5-based web app. We’ve decided to take the latter approach—building iteratively using an HTML5 framework. Here’s why:

Building on existing cPRO codebase
cPRO is a set of flexible web-based, interactive, domain-specific health assessments and interventions, built on a common platform developed to support research projects over the last decade. The CIRG team has implemented versions for oncology, HIV and pain management. While mPOWEr’s focus is unique, at its heart the focus remains on improving communication between patients and providers which is what cPRO does well. It made sense to leverage the existing cPRO framework for the backend. cPRO is built first for desktop use, so it’s easier to integrate if we stick to HTML5.

Allow for a variety of use cases
mPOWEr is being developed as a mobile application, but by developing it as a web-based app, we can easily pivot to allow patients to use it with any device whether it’s a smart phone or a desktop. Perhaps a patient who tracks their wound via a phone may be sitting at a computer while recovering at home. This gives mPOWEr a flexibility that just wouldn’t be there if we built a native app.

Designing for all platforms
The most common argument in favor of an HTML5 approach, we’re avoiding (for now) any concerns about whether a patient is using an iPhone, Android or, heck, Windows phone.

Focusing on team strengths, keeping an agile approach
Frankly, another very compelling reason to hold off on native development was our team’s strengths were elsewhere. Rather than spending much time getting comfortable with C# or even tools like PhoneGap, we were able to jump in and immediately begin implementing mPOWEr-specific functionality. That’s not to say an old (but agile!) dog can’t learn new tricks, but with limited staffing and budget this makes a lot of sense.

A good jumping off point for thinking about HTML5 and native apps.