Mobile Web Apps or Native Mobile Apps?
When it comes to developing an application for mobile users, there are two routes to reach users. A dedicated mobile software application like the ones you find in the Apple App Store or Google Play Store (Android Apps) is one route, or an HTML Web site optimized for mobile devices like Google.com, latimes.com, or one of many popular blogs.
Some of my favorite native apps for the iPhone include the Digitally Imported Radio app and Dungeon Hunter 3D game can’t be created on a mobile Web app. The radio app streams audio while detecting if a user is on WiFi or 3G, and allows multitasking (streaming radio while browsing Web or e-mail). The 3D game uses complex graphics APIs not possible on the Web right now. These hardware services simply aren’t available to Web developers. That is changing, however.
The Case for HTML5 Web Apps
Multi-touch gestures and location information is available on the iPhone, and possibly for Android phones as well. Carl Sjogreen of Nextstop, a location service based that was recently acquired by Facebook, talks about why his team decided to use HTML5 instead of a native iPhone app:
Other companies are also stepping up development of HTML5-enabled mobile sites. YouTube just overhauled its mobile site and uses HTML5 video tags to power its video delivery along with a better designed user interface. Here’s what Alex Nicolaou, Engineering Manager, Google Mobile says on this Google Code Blog post
Enter HTML5. We’re very excited about the evolving HTML5 standard because it enables mobile and desktop website designers to deliver the advantages of client-side and server side development to their users simultaneously! New APIs let web applications start offline and store data on the client. The canvas API lets you draw complex user interfaces, or you can use advanced CSS tricks to get the browser to render a rich UI. In addition, the W3C Geolocation API is being adopted and implemented by browser developers, enabling entire new categories of web applications to be built. The benefits are clear: you can develop fantastic new applications, benefit from server-side analytics and iteration to deliver features that your users want, and know that offline functionality keeps things running as the user moves in and out of coverage. Your users can enjoy fast, capable web apps that they can access from any device, without the need to copy their data from place to place or worry about installing software or being online.
Note too that to test native apps you need to BUY THE HARDWARE. There are thousands of combinations of hardware – especially Android phones. Most people I know only have one smartphone. With HTML5, you are targeting a screen resolution, not different operating systems or hardware features. Setting up a testing center for Android, iOS, Windows Phone, and Blackberry will be a nightmare.
Rapid Mobile Development with HTML5
HTML5 Web apps take far less time to develop, test, and launch. You don’t need to go through an App store to get it approved. You don’t need to learn multiple languages to develop a separate app. You don’t have to worry about wasting your time, because it’s more likely HTML5 Web apps will replace native apps versus the other way around. However, native apps allow for a lot of cool features and a consistent visual appearance. HTML5 Web apps will mostly look the same on all browsers, but there could be variances here and there. This is because there are hundreds of browsers, versus two major phone operating systems – Apple iPhone iOs and Google Android. This still is one of the major benefits of the now controversial Adobe Flash technologies. Consistent layout design across computers.
It’s Always About the Money, Right?
Michael Calore wrote a nice comparison table of native app vs Web app development considerations in this webmonkey article. He points out the way you can advertise on the platforms differ. With much higher success rates for online advertising using Apple’s new iAd advertising platform – developers may be persuaded to develop native apps only simply for the monetary factor. This LATimes blog post highlights Nissan’s experience with iAds:
Nissan, which created a multilayer interactive ad for its electric LEAF car, said customers spent an average of 90 seconds with the ad — 10 times longer than interaction times for comparable online ads. Moreover, people chose to “tap” on the Leaf iAd five times more frequently than they clicked on regular online display ads for the Leaf.
Also consider it is much easier for developers to monetize native apps because users can purchase the apps immediately.
For now, I expect many of you to surf my HTML5 mobile site while listening to music from a multi-tasking enabled native app. That’s the world now. And it works.