Apps for iPad/iPhone, Android, BlackBerry, Nokia, Windows Phone, Palm, etc… it’s really amazing to see so many designers and developers working to create great experiences on mobile devices. And perhaps even more exciting is that customer are OK with paying for these native apps, which opens up so many new opportunities. But there’s one thing I’m just as excited about, and that’s web apps.
A web app works on all these amazing new mobile devices, it’s accessible, it’s searchable, and it’s easy and cheap to maintain. You only need to develop and maintain a single version, and since you most likely already have a web interface for you web app, you really only need to create and maintain a new front-end for your web app, optimized for smaller screens.
That’s the thing with native apps. They require that you create and maintain multiple versions of the same app (one for each platform you wish to support) unless you can decide to support only one platform, but that’s sort of like having a website that can only be used in Firefox. But native apps do of course have some advantages, in particular these two:
- Paid apps – if your goal is to charge for the app, then native apps are the way to go. There’s a proven business model and the various app stores make it deceptively easy for the consumer to buy your apps. Mobile web apps do not have a history like this and is unlikely to. (Obviously subscription models have proved to work online, but people aren’t buying a mobile web app, they are buying content or “software as a service” which then happens to work on their smartphone as well.)
- Rich content creation – if you wish your users to do rich content creation, then native apps are your only option. You can create some extraordinary apps that truly change the way your users create content, and create a richer experience when doing native apps. (If you’re willing to pay the costs. Creating and maintaining a rich bug-free experience across 4 different platforms is a costly affair.)
If you wish to charge for your app or want your users to be able to do rich content creation, then you need to do native apps.
However, creating and maintaining so many different versions of the same app, you often see the attention to detail drop. Bugs creep in under the surface and development come to a halt because it’s simply too expensive and too time-consuming to innovate.
Web apps don’t suffer from these issues. The browsers on all the major mobile devices are of very high quality and they are all incredibly stable (they don’t crash). Because innovation is cheap, web apps don’t have the same tendency to go stale and the attention to detail is often maintained because faster development gives you time to test out more concepts and polish features.
In some cases, adding a mobile interface is a matter of adding an extra CSS file and updating a few graphics. In other cases, it will require rewrites of the actual HTML documents, but your actual application logic is still shared with the regular web version. This means web app generally require less attention. Because it shares codebase with your regular app/website, you often don’t need to do anything when new features are implemented – they’re supported by default.
So if the primary goal of your app is to provide content to the end-user, and perhaps allow the user to do some simple content creation (mainly text), then web apps are a viable alternative.
If you want to charge for your app or you want to do rich content creation, then native apps seems like the better choice (in some cases, your only choice).
If the primary purposes of your app is consuming content and simple content creation, then web apps seems like a better alternative than doing numerous native app implementations.
What are your thoughts on native apps vs web apps?