- “Native vs. Web?”
- “HTML5 is the FUTURE!”
- “The App Store is just for distribution!”
- “Android is taking over and all the screens are different sizes!”
Heard it around the traps lately? Same. Here’s my rational as to why I’ll vote for native app development over developing a mobile web app (and putting it within a wrapper for distribution via the App Store or Android Marketplace). My opinion might change over the next few years, but these reasons are for now.
Offline/low connectivity access:
If a user has a poor connection (or none at all) and your application is HTML within a wrapper, most functionality of the app will almost always be unusable. If your app has important functionality like personalisation, that experience is unacceptable. Content should always be available for viewing offline or when a user has a poor connection, something which is difficult to achieve via anything other than a native app.
Clearer error messaging:
Error messaging on the mobile web (and within a wrapper) can be unclear and frustrating for users. Within a native app, notification windows can be used to clearly explain to a user what is wrong. Options can then be provided to a user at the touch of a button.
Push notification functionality:
When developing a native app you have access to the full push notification functionality of a device. With the recent updates to notifications on iOS 5 and how Android has handled notifications so well in recent times, this is something that cannot be overlooked. Getting important information to users without them having to use the mobile web is critical.
Overall performance improvements:
It’s quite clear that through building a native app there are significant increases in performance across the whole app. This can range from the initial loading of a splash screen and onto the home screen, right through to the rendering of core content pages.
Full suite of gestural interactions (swipe, pinch/zoom etc):
It’s fairly self explanatory but by going native you get all the touch interaction gesture features which make mobile apps fun and so easy to use. These interactions are often classed as “polish” as if it’s a negative thing, but I believe it’s these experiences which keep users coming back to applications (that do it well) over and over.
Native apps allow better integration with all the functionality that a mobile device presents users. GPS, the camera, voice recorder and tapping into a users contact list are examples of capabilities that can be directly hooked up with the front end and capitalised on.
The success of any application is almost 100% dependant on user engagement. The way to engage users is to create great experiences. How many successful apps do you use are available via the mobile web and not an App Store?1 Would Foursquare, Instagram, and Flipboard have been so successful if they had simply delivered a mobile web app in a wrapper? I doubt it.
1. Worth noting: I’m not suggesting that native app development is the only way to move forward. Your mobile web app and native app should compliment each other.