The boom in mobile apps has often been seen as a liberalising one, a market open to anyone, or any group, with the ability to put together a ‘killer app’. It’s in some ways reminiscent of the early days of videogames, with classic titles such as Manic Miner or Dizzy, designed and programmed by one or two young upstarts rather than today’s teams of dozens. App stores have meant a reawakening of these “bedroom programmers”, giving them a place alongside well-financed start-ups and long-established software developers.
The reality isn’t quite so rosy however, App stores can be cruel places for the unknown app: if you want your app to be known, you may need to go through an opaque approvals process and device manufacturers can limit how you can make money; or, on the other hand, the lack of approvals on others means your app can get lost in a sea of poor quality alternatives.
So what can an app developer do to avoid these traps? One way to circumvent the app store is to build your app in the cloud – Software as a Service. By using a mobile device as a way to access the app through the browser, developers have more freedom to create what they want, and monetise it how they want. Updates become easier and more frequent as they happen in the cloud and don’t have to be installed on the device. By using HTML 5 standards, developers can also avoid doubling up, or worse, on work – one app will work on iOS, all the varieties of Android, Windows Mobile, and even less common mobile operating systems.
There are also the advantages of the cloud itself. Limited by their size and battery life, mobile devices lack the processing power of desktop PC or laptops. Anything too complex can bring the device to a crawl, and the wide variety of devices available means developers looking for the widest possible audience must develop for lower-spec devices rather than taking advantage of the power of the latest handset. Applications that need a large database, or need to make a large amount of calculations, can use the processing capabilities of cloud computing to create apps that perform complex tasks without overburdening handheld devices.
Using the cloud may seem the obvious choice for app developers, giving them the freedom to do what they want, charge how they want, and make things as complicated as required. But you the developer must make sure all the bases are covered. Cloud hosting means additional cost and the supplier of these services must be able to provide service levels that cover any risk of downtime, and your customers connection must be reliable in order for them to use your app. And while app stores aren’t necessarily as open or as democratic as we’d like, they do provide some exposure for new and well-reviewed apps.
The decision to make your app Cloud-based or not is an important one that needs to be made at the early stages of app development, and will depend on what you are trying to achieve. Big organisations can afford to flip-flop between HTML5 and native apps – Google has changed its mind more than once – but smaller organisations need more concrete plans to avoid the expense and time wasted switching from one to the other.