Why a Multi-platform App Development Approach Matters
Mobile devices account for a massive 50% of worldwide online traffic. That leaves the remaining half to be taken up by desktop and tablet browsing. These numbers highlight the notion that online applications should typically be aiming for a multi-platform release, from day one!
Users, customers and staff demand the convenience of being able to utilise apps in different ways. They want the freedom to access an app while commuting, walking or in the garden, but they also they want to be able to enjoy a superior, wide-screen experience when sitting at their desktop computer.
Luckily, a multi-platform application no longer involves multiplying development costs by x2 – x3 (desktop, tablet and mobile). Instead, apps can be developed and deployed off a single codebase, in a code once type approach. This drastically reduces upfront and ongoing development costs. And with an app being available on additional platforms, who wouldn’t like an increase in their potential audience size by 50% or more?
What is multi-platform?
Multi-platform development is the practice of developing an app so that it can be distributed to more than one platform: mobile or tablet handheld devices, or a desktop computer.
There are various software development libraries that make this possible, such as Ionic, React Native and Flutter. These platforms offer a code once, deploy to any platform type approach. By only having to maintain a single codebase, development teams can decrease the time it takes to build new features by potentially x3.
Traditionally, app development was performed on a code once, deploy once per platform process. This meant that to release an iOS app, you needed to write the code for the application in the native language of iOS (either Objective C or Swift).
This is still how native apps are built today, and there are reasons you may still build apps this way, but in terms of speed and value for money – this method is at the lower end of the viability scale.
Why it matters?
When launching a new app, you should be focusing on putting as many new features into the hands of your users as fast as possible. We do this to work out what features our users want, and it’s done in the understanding that some of these features will turn out to be rejected by our users.
This is done as part of the Iterative MVP development approach. Your feature backlog will grow quickly, as you’re rapidly learning about your customers wants and needs. To keep up with their demands, you need to develop and release these features quickly, and ideally before the competition does.
We find that the traditional method for developing apps is at odds with this requirement. Although performance can be better for your customers with native apps. What good is an improved performance if you don’t have any customers?
By striving to launch your app across as many device types as possible from the get-go, and by keeping up with your users demands, you’re increasing the likelihood of your products success drastically. And to accomplish this under a typical budget – multi-platform development is the only way to go.
Here’s an example
To highlight the impact on a project budget with an example. Let’s look at how a project budget would be affected by the choice of development approach, comparing native and multi-platform development.
iOS App – $10,000.
Android App – $10,000.
Web App – $6,000.
Total initial app development cost: $26,000.
iOS/Android/Web App – $10,000.
Added cost of deployment per platform: $3,000.
Total initial app development cost: $13,000.
As you can see, even after factoring in the extra overhead of setting up the deployment streams for the various platforms, the multi-platform approach costs half as much as the native approach.
Also, this is only the initial development costs for a hypothetical first release of the app. As new features are built, the ongoing enhancement and support costs for the multi-platform approach will likely end up being down to a third of the costs of the native approach.
This example is of course a hypothetical scenario, and all projects are different, with different budgets and different requirements. But in our experience, this example is an accurate reflection of the project cost comparison.
Not without challenges
Although overall the multi-platform approach is the more cost-effective option, it doesn’t come without its challenges. Cross-device compatibility is the most significant one, and there is also often the fact that multi-platform development libraries lag in the support for the brand-new features offered by the native platforms.
Cross-device compatibility issues will likely only be a problem to a developer implementing a specific feature. For example, iOS and Android utilise entirely different browsers to display web contents. Although they both adhere to the World Wide Web Consortium standards, the implementations are different. This means that sometimes, simple things such as displaying a video can cause unexpected and unwanted results.
The multi-platform development libraries need to play catch-up as the native platforms release new features. A good representation of this is to look at the What Web Can Do Today website. Multi-platform apps are delivered under the hood as web apps, so this chart is representative of the functionality available to multi-platform apps today.
Summing it up
When launching an app, it’s critical to first focus on captivating and growing an audience of early adopters. This lets you learn quickly about their needs and wants, giving your application development process clear goals in order to satisfy your audiences demands.
To do this, it’s important that you can release, test and adapt new app features quickly, and not be afraid to throw away those that don’t work. The most flexible and financially viable method of doing this is undoubtable the multi-platform development and release method.
Reducing development costs, both initially and during the support and enhancements phases means that you can quickly and cost-effectively deliver what your audience desires. Ultimately your product will evolve faster and offer more value to your users. This will lead to you outpacing the competition, growing your audience and increasing profits.