Clients are often surprised by the cost of ownership of mobile applications.
That’s not really surprising, since most organisations don’t specialise in product development, and the ‘hidden’ long-term costs of maintaining mobile apps could easily be overlooked.
Some may have dabbled with their own ad-hoc web development, and have come to appreciate – and expect – a similar process with their mobile apps. The problem, of course, is that mobile apps are a throwback to the ‘bad old days’ of fat-client development, as opposed to the efficiency of the thin-client web model.
To better understand the real cost of owning mobile apps, and how to manage them, we need to consider the main sources of the costs. These are the costs that follow the initial capital investment to develop the app, and assume you’re building a multi-platform mobile application that is live on all the relevant application stores.
Development costs
The impact of platform fragmentation has an almost immediate effect on the balance sheet. Depending on your business scenario, you’ve probably built two or three versions of your app as ‘native’ applications for different platforms – iOS, Android, Windows, Blackberry – each assigned to a group of people with two or three different skill sets.
Since labour is often the most expensive line item, this is where the first major cost comes in. For the life of the apps, you will need developers with the appropriate skills – Java, Objective C, Android – and since you probably won’t find one person with all the skills, you’re hiring two or more developers. Moreover, depending on your organisation’s business continuity and redundancy policies, you possibly need more than two of each. That’s a minimum of three or four developers, continuously, for the life of the apps.
While it’s true that cross-platform development platforms alleviate some of this burden, the reality is that you still need native plugins to enable certain features for almost all the cross-platform frameworks available today. On top of that, you need people that specialise in each platform when it comes time to compile and submit the app to respective app stores.
But that’s not all. You also need a web developer as the front-ends associated with these frameworks are generally based on HTML 5, CSS and Javascript code. Either way you’re back to a headcount of three or four developers, which is not always feasible unless you have some other reason to employ these people.
Testing costs
While mobile fragmentation becomes an issue at the development stage of an app, it’s during testing that the real cost of fragmentation comes to the fore.
Consider, for example, that you develop an app for three platforms, each with multiple OS versions, and intended for use on a large variety of devices, from tablets, to feature phones, smartphones and mobile kiosks. Let’s assume further that you have to implement new features regularly, because you subscribe to best-practice agile methodologies.
For each iteration you then have to complete regular regression tests before proceeding with app store submissions. Just consider the number of regression tests that need to be completed: application test scenarios, platforms, OS versions, form factors, device manufacturers.
It’s obviously impractical to test everything, so a sensible sub-set of test cases has to be prepared, probably based on a fixed group of devices that you feel provides you with an adequate cross section and covers your risk (remembering that you have to test on physical devices, and to get pre-paid SIM-cards to test over each network, because not all issues will be identified testing in virtual environments or over WiFi).
In a typical development environment you’d invest in test automation technology to reduce delays and costs. However, automation is notoriously problematic for mobile app testing. So unless you own all the devices you need to test, you may find testing costs can spiral out of control.
Support costs
If your intention is to make your application available to your customers (as opposed to private, internal-facing apps), they will expect you to support them when the application doesn’t work as intended on their particular device.
That means someone has to be available to answer a phone, respond to emails, or monitor a chat service. That someone has to be trained and empowered to respond appropriately, as would be the case in any dedicated support centre environment.
You could always limit the type and number of devices you support, but this would still demand time and cost to manage appropriately.
The bright side
The real cost of mobile apps is spread over an app’s shelf life. Decisions made early in the development process can and will make a difference to an app’s TCO, and there are numerous strategies you can follow to minimise costs in the long run.
For example, you could start with web apps, then expand. It’s always easier to have your app well defined and targeted, and using existing resources to do so. Building an app based on a successful web app is always easier – and less costly – than building it from scratch.
You should also address policy management upfront. For example, do you have a defined BYOD policy? If so, this will simplify your development choices. If possible, confine BYOD to a narrow set of devices and base configurations.
Define a strategy and roadmap, so you know whom you’re building for and your intended outcomes. Enlist focus groups for each app, so you know if you’re hitting the mark. And, if possible, take your app beyond the confines of your business. Scale helps drive ROI.
Lastly, consider partnering with specialists that can guide you through some or all of the process. App development is rapidly evolving, and it pays to have people around you with experience, skills and insight to develop your apps to their full potential.
This article was published on ITWeb on the 14th August 2013:
Platform fragmentation likely to continue as iOS, Android grow market share
Johan Pieters
Locally developed smartphone applications will continue to impress with unique innovations, despite the mobile development market becoming even more fragmented in 2014.
While smartphone platforms like iOS and Android will continue to win market share, they will also still be playing catch-up against cheaper feature phones that currently saturate the South African market.
There’s no escaping the fact that the majority of South Africans still use feature phones as their primary handsets, and this will continue to force a wedge between dedicated smartphone development and more basic services for feature phones.
Many software developers are addressing the mass market, developing apps and services from scratch using Java and other cross-platform frameworks, and this trend will persist well into next year.
That said I expect the level of innovation evident in locally developed smartphone apps to continue to impress – specifically in the area of accessibility and mobile security. The South African development community is nothing if not lively, and there’ll be plenty of evidence in this regard from a number of major outlets in the New Year.
One proviso to this trend is the dearth of mobile development skills in the country.
The skills shortage has become more pronounced this year and will continue to worsen next year. This drives up salaries and the cost of software development, and makes resourcing for major projects more difficult, resulting in delivery delays.
Although skills development – particularly at a junior level – is thriving, the impact won’t be felt immediately. Development companies are going to great lengths to attract new talent by offering a range of lifestyle choices – like work-from-home and specialised training – instead of increased salaries, which are already high due to the skills shortage.
We can expect this to play out in different ways next year, from an increase in in-house development, to a split between in-house development on popular platforms like Android while outsourcing development on other platforms.
A related trend that needs watching is the increased popularity of Xamarin for mobile development. The cross-platform development environment allows for a high-degree of code re-use using .Net wrapped up in a thin layer of native platform-specific code.
Code re-use is one way to save money on developing multi-platform apps, and .Net skills are far more prevalent than OS-specific development skills. With Xamarin we’re seeing up to 70 per cent code-reuse for each project, so the local market fragmentation combined with the growing lack of skills means solutions like Xamarin will be particularly important next year.
This will have a flow-on impact on the types of apps we’ll see developed by local companies, but I don’t expect this will result in a dip in quality – if anything I believe quality will be on the up across the board next year.
One anomaly will be the decline in Blackberry as the smartphone platform of choice for many South Africans.
The traditional Blackberry platform found a massive following in South Africa with its combination of smartphone-like features and feature phone-like pricing.
Next year will see a significant decline in the platform as the older Blackberry devices get replaced by the newer smartphone-focused Blackberry platform. The problem for Blackberry is that traditional users are not necessarily upgrading to the newer platform, preferring to move to iOS or Android or one of the other smaller smartphone platforms since the Blackberry price advantage is no longer in play.