Web vs app? iOS vs Android? This may seem like the main decisions you have to make when creating a mobile centric service, and some think that technologies like HTML5 will make this a lot easier. Think again. Fragmentation is an ever increasing problem for anyone wanting to develop a mobile service. Not only are you looking at the “Battle of the OS’es”, but the number of connected devices with distinct characteristics are only increasing. While most developers will have made trade offs on smartphones vs feature phones, and some on smartphones vs tablets – how many have made trade offs between tablets and refrigerators? Sounds far fetched? Not really, as not only the number of connected devices grow – so do the choices of operating systems and implementations of those operating systems:
So how do you navigate this jungle of opportunities and trade offs? What are some of the areas you need to focus on? The basic premise for my advice is that as anyone offering a service, you would want as wide of a distribution as possible with the lowest possible cost to obtain it.
1. Fragmentation of delivery channels: It’s not about web vs apps
A time trusted discussion item has been the app vs web debate. Will HTML5 save the day and become the standard platform? The answer is a resounding NO! Firstly, apps will always provide opportunities for a better user experience, by taking advantage of device specific characteristics, whether that is access to the camera or phone book, to NFC chips, device orientation, smart caching of key data to speed up user experience, using keyboard shortcuts – or a key feature now – the ability to charge for the service. Consumers love apps and when given a choice, tend to use the app platform rather than the web (for instance, how many times do you use the Facebook app vs the mobile site?) There will always be somewhat of a race where web will catch up, and apps pull away in terms of what you can and cannot do.
An often ignored issue at the moment is also the lackluster performance of the mobile web, which causes user frustration an abandonment:
If you are thinking that mobile networks will soon develop and be so fast and good that this will not be an issue, think again. Mobile network operators are facing a massive data crunch (as evidenced by Wedbush latest report) and mobile video usage is the main culprit:
When factoring in that only 9% of mobile users consume video regularly, yet that usage consumes 38% of the available bandwidth, you’ll quickly conclude that as more and more people get accustomed to watching mobile video (yes you will!), combined with general poor performance of mobile browsers, mobile web sites will hardly be suitable for services that require rich interaction and heavy data usage.
So does this mean you should focus exclusively on apps? No, you cannot ignore web – it really comes down to understanding user behavior and offer part of your service on web, and some as an app. This is addressed further in point # 3 below.
2. Fragmentation in applications: Develop a strategy for managing fragmentation
Developers not only have to deal with fragmentation across different device types and operating systems, but also have to deal with fragmentation within operating systems such as Android. In fact, according to Appcelerator, fragmentation within Android is seen as Android’s biggest problem. And despite Google wanting to reduce the fragmentation with the release of Ice Cream Sandwich (they surely must have fun in their marketing department at Mountain View), the strength of Android is also the amazing things you can do when customizing it. See for instance what KDDI in Japan has done to the UI:
[youtube=http://www.youtube.com/watch?v=0S6NMH4ry-4&w=425&h=349]
And managing fragmentation on the devices are actually only part of the problem. Fragmentation has multiple levels, and managing different skill sets is among the top concerns:
What you need to focus on is getting tools that allow you to easily manage code, so that the user experience and design has minimal variation, but does take advantage of each platform’s and each handset’s uniqueness. Also, the same tools must allow you to manage your code base so you know which version of your software has been released for each device and where – and match that up with usage statistics so you know you are delivering the best experience across as many handsets as possible – to maximize your reach and potential. It will be hard to get the best experts in multiple coding languages, but you may not have to if you employ the right tool set.
3. Understand your audience and maximize distribution
Long gone are the days when you can release an app on the app store and sit back and enjoy the number of downloads ticking in. And although Google and others make it easier to market your app, spending some of that user acquisition money on making sure you have maximize the touch points a user can have with your service is the best way to ensure an uplift in usage:
Even smartphone users may prefer interaction through SMS (for instance stock price alerts), mobile sites (get latest news on your favorite stocks) or applications (manage my stock portfolio). It all depends on the context. And whatever your service is, you need to understand the user context and provide the best possible interaction possibility with your service across whatever handset the user may have.
You wrote –
Firstly, apps will always provide opportunities for a better user experience, by taking advantage of device specific characteristics, whether that is access to the camera or phone book, to NFC chips, device orientation, smart caching of key data to speed up user experience, using keyboard shortcuts – or a key feature now – the ability to charge for the service
What if they browser could access the native device side API’s whilst ensuring the customers privacy – and then it could do it in a cross platform environment?
I am not sold on the browser while increasingly being allowed to access certain device side APIs will manage to keep up the development on the availability of those while maintaining the same power and flexibility that applications will have. Guess my main point is yes, browser based services/apps will certainly get better and be a good answer to a lot of developers/publishers, but that apps are and will lead the way in terms of what can be done on a device, thus browsers will never replace apps, rather co-exist. The choice of platform will depend on what features, functions and value propositions you want to provide to the end user.