mHealth (mobile health) apps will not replace real doctors, but the fact that their market size is projected to reach US$102.35 billion by 2023 shows their actual value. Today, the app market demands multi-platform solutions. According to the Statista report, apps from the health and fitness category were downloaded 593 million times during the first quarter of 2020, and projected to be downloaded 656 million times by the end of the second quarter. If comparing this data with the previous year, we can see the following picture:
The growth of healthcare apps’ downloads is probably related to the COVID-19 pandemic, which uncovered the real need for virtual healthcare. But the increase of downloads and market size are not the only criteria displaying the need for healthcare apps. If we check Google Trends for the most recent stats for the 12-month period, we can see the following dynamics:
Since healthcare apps influence human health, the software development approach should be selected thoroughly. The question is how to develop a reliable and stable app for several platforms while not waiting for decades until its launch? In this article, I describe how cross-platform technologies may work for healthcare apps depending on practical experience, but please note that I don’t say that it’s the best approach – it’s just a fact.
1) Healthcare App Categories and Features
The cross-platform app development approaches are selected depending on business goals, system’s functional requirements, and user goals. Thus, before talking about development frameworks and approaches, let’s review healthcare app categories and features.
Modern mHealth apps can be divided into three major groups: apps for patients, for doctors, and for administration. Each group comprises a number of categories displayed in the table below:
This list may be expanded as new solutions enter the healthcare app market. Categories may migrate from one group to another or exist in both groups. Everything depends on the target audience that is supposed to use the future product. Patients and doctors have different tasks, and it’s important to find out who will do what in the future system since the app’s UI/UX design and software development approach are highly influenced by these factors.
The functionality features list for healthcare apps depends on the business and users’ goals and is finally approved after the medical and ethical analysis. From the practical experience of healthcare app development, I worked with the following features:
- Registration & Login
- User profile
- Social networks integration
- Dashboard
- Video conferences
- HIPAA / HITECH Act / CCPA / NIST / GDPR compliance
- Push notifications
- Chatbots
- Tracker
- Activity feed
- Reporting & Analytics
- Payment, Etc.
It’s important to pay enough attention to the healthcare app capabilities and storage of sensitive data. According to App Store and Google Play policies, an app cannot set diagnosis or treat patients itself.
When building a healthcare app, it’s important to consider the roles of a target audience in the system and the physical abilities of these people, the environment, and conditions where the app is supposed to be used. These factors are essential since the UI and software architecture are built according to them.
2) Cross-Platform VS Native Technologies for Healthcare App Development
The core selection criteria of software development approach is the optimal functionality speed which meets requirements of a future product. There are no “right” or “wrong” technical solutions. There is only the optimal solution for each specific case.
When making a decision between cross-platform or native app development, experts take into account a huge number of factors. These factors may comprise:
- Design specifics
- App accessibility
- Computations complexity
- Support capabilities after the product launch
- The number of native components involvement
- Time and budget restrictions, etc.
It’s important to pay particular attention to accessibility in healthcare apps when planning UI/UX design and software architecture. The fact that an app may be developed for disabled or elderly people may highly reverse technology and design selection approaches.
When a healthcare app is supposed to be used by disabled people, there is a number of software features to consider:
- Voice input & Voice-over
- Zooming
- Visual and vibrating alerts
- Video conferencing
- Color and UI design adaptation
Thus, when software engineers decide on cross-platform or native solutions, they should have as much information about the future app as possible. It means that a product owner is expected to describe the product’s goal and vision, target audience, main features and common use cases. It’s also important for software engineers to understand privacy specifics and principles of working with sensitive data. And that’s where a business analyst can add value, since his/her role is to ask the right questions for getting the required information.
You might already read articles like “Cross-Platform VS Native App Development.” In fact, you see general information which has nothing in common with the real process of how software engineers choose technical solutions.
3) Best Cross-Platform Frameworks for Healthcare App Development
Healthcare apps often process a large amount of personal and financial data, and healthcare records. Thus, it’s a priority requirement to keep these data private. Let’s focus on how cross-platform frameworks can ensure security and stability for an app.
Security. The majority of security-related questions are on the baсk-end side. Cross-platform frameworks are mostly responsible for the front-end part of an app, but it’s critically important to consider how source code is stored in the packages for stores (App Store / Google Play). If an app’s source code is not compilable, like in Phonegap or Cordova frameworks, it will be easier to hack it rather than if this code is compilable, like in Flutter-based or native apps.
Modern software implies server or cloud-based data storage for security reasons. For example, cloud-based solutions are good for EHR (Electronic Health Records) and EMR (Electronic Medical Records) systems. Since these systems commonly suppose large databases with sensitive data, cloud-based storage makes these data easily accessible, verifiable, and shared.
Stability. The main factor that may influence the stability of cross-platform apps is OS or cross-platform framework updates. Like any evolving technology, cross-platform frameworks are continuously being improved and expanded. But developers usually take care of their users and do their best in order not to crash any updates related functionality. Flutter-based apps, for example, are not influenced by any OS updates or system customization.
When it comes to the selection of a cross-platform framework, first of all, it’s important to remember that they are responsible for the visual part of an app and its business logic. The evaluation criteria for selecting a cross-platform framework may involve:
- Frameworks’s components for app development experience
- API/tooling stability & limitations
- Google Play and App Store restrictions
- Platform maintenance
- Low occurrence of OS-specific crashes
- Feasibility and cost of the app extension
- Official documentation
Let’s briefly review each framework from the healthcare apps perspective.
Flutter for Healthcare Applications
“It’s all widgets!” – Flutter developers state. Being developed by Google, Flutter is a silver bullet of cross-platform app development which is rapidly gaining the confidence of software engineers. It has its own coding language named Dart and BLoC pattern architecture, which makes it suitable for apps with complex architecture and processing of a large amount of data.
If a healthcare app is UI/UX design-oriented, Flutter will add significant value. Flutter’s widget catalog contains Cupertino (iOS), Foundation, and Material (Android) specific widgets, that can be used when designing custom interfaces. For example, if a healthcare app contains dashboards, geolocation, progress bars, and other interactive visual elements – Flutter provides a multitude of ready-to-use widgets that will look the same on any OS.
React Native for Healthcare Products
React Native is Facebook’s brainchild. Its killer feature is the usage of JavaScript code for both iOS and Android. By utilizing React.js library React Native provides many UI design capabilities. This framework is still in beta, but according to updates in 2019, it has promising future potentials. For example, with the help of new system architecture it’s possible to reduce the weight of an app, improve the responsiveness of the UI, navigation, and gesture handling, write C++ code for apps and enable easier approaches.
React Native will be an optimal option for a healthcare app if its support after the launch will be managed by JavaScript developers. Since JavaScript language is older than Dart (Flutter’s language), it may be easier to find JS developers and get strong JS community support in case of issues.
It is also a good choice if a future app will have standard UI components and interaction, decreasing load time, and improving UI’s responsiveness.
Xamarin for Healthcare Product Development
Xamarin is Microsoft’s framework for cross-platform app development. In order to build cross-platform apps, it utilizes C# language, which has been used by the Microsoft community for a long time. Being the most mature cross-platform SDK, Xamarin supports Android, iOS, macOS, tvOS, watchOS, tvOS, etc. Thus, there are a lot of UI elements that can be used for designing new apps. Almost 90% of business logic and code can be reused across Android and iOS apps, especially if the back-end side of an app is based on .Net. By providing access to native platform APIs, Xamarin allows software engineers to enable Google Wallet on Android, and Apple Pay on iOS.
Xamarin would be a good option for a healthcare app if its back-end component is developed with C# (.NET) language, and the app will be supported by .NET development team after the launch.
4) Examples of Cross-Platform Apps in Healthcare
The majority of healthcare software systems are mostly developed for private usage, for example for the administration of a particular hospital, or for support of private clients. This is a good way to keep sensitive data secure and avoid hacking. As for available cross-platform apps, I can list the following:
Reflectly
Reflectly is a Flutter-based app for tracking mental health. Users can track mood and feelings and make smart personal journals that allow them to evaluate stress levels, analyze everyday life, and track negative thoughts. By using AI algorithms, this app involves behavioral therapy approaches and positive psychology that are used as tools for mood improvement and habits tracking.
Gyroscope
Gyroscope is a React Native-based app for iOS, Android and Apple Watch. Being integrated with the HealthKit, this app can track heart rate, steps, productivity, meditation, weight loss, sleep, and other activities. Users can see all the metrics and analytics in a dashboard, and get feedback from the Health Score. It is also capable of connecting users with human health experts, that provide personalized recommendations based on data provided by the user.
Novarum Reader Technology
Novarum is a Xamarin-based mHealth solution for diagnostics. It allows users to review and share results of diagnosis via a mobile phone. This app connects clinicians, lab researchers, primary care specialists and patients. By providing a simple guided workflow via the interface and automatic reading lateral flow test results, the app reduces human errors and the risk of wrong results interpretation.
The examples of cross-platform-based apps are not limited to only those mentioned above. I want to show that all three frameworks might be used as a technical solution for healthcare apps. The question is, what business and user goals are supposed to be met with the help of cross-platform app development?
