Earlier this week I posted a Tweet suggesting: “There are many business benefits to building HTML5 mobile apps, but few, if any, user experience benefits.” I decided to post a follow-up here to explain in a little more detail what I meant by that statement. My tweet and this post are intended to spur conversation, not to declare an approach to app development good or bad. In that spirit, I thank @LukeW for his thoughtful response to my tweet, which he posted yesterday on his blog.
In the great debate between native and mobile web applications, I propose that the choice to use mobile web is, primarily, a business decision and not a decision that is based on creating the optimal experience for the user. Even when done very well a mobile web app is, at best, an approximation of a native app. It’s like Nutrasweet to the native app’s pure cane sugar. Sure, it tastes sweet, but it’s just not the same.
Mobile web apps have been building a pretty good head of steam in the last couple weeks with Facebook stating that they will start migrating their mobile apps to HTML5 and 37signals releasing a mobile web app just this week. Let’s take a look at the reasons each company cites for moving in this direction:
Do we want to have to hire an iOS developer and an Android developer? That’s a lot of specialization, and we’re usually anti-specialization when it comes to development.
Eventually we came to the conclusion that we should stick with what we’re good at: web apps.
Facebook’s Bret Taylor
When we update something, there are about 7 different versions we have to update… It’s an incredible challenge.
In each of these high profile examples, the reasons to use mobile web have to do with the business lowering cost and complexity. Neither is claiming that mobile web offers a better user experience. In fact, TechCrunch goes on to say that Taylor “…did acknowledge that HTML5 was still a bit quirky when compared to native applications.”
So what are some of the UX benefits of going HTML5? Luke Wroblewski lists a few in his response to my original tweet:
Mobile web apps are available to iOS, Android and BlackBerry 6 in one fell swoop, but also deliver a generic experience to all three platforms.
- Consistent UI
Browsers have consistent back, bookmark, etc. This assumes you are delivering the pages through a browser and not embedded in a native container application like Netflix, Bank of America and other similar PhoneGap-type apps do. Besides, there are consistent UI conventions that native apps can follow too. The iOS HIG has a great set of guidelines to ensure consistency.
- No Installation or Updates
You have to install native apps and you have to update them (sometimes annoyingly often). I agree with this point, but wouldn’t consider it a huge benefit to the user.
This is a big one. As evidenced by the recent release of The Daily, an iPad newspaper from Rupert Murdoch & Co., native apps don’t seem to be well suited to this kind of media consumption. John Gruber reports waiting one minute, twenty seconds to see any content in The Daily. Granted, the implementation of the app is questionable, but it’s unlikely that a native app will ever deliver fresh content as quickly as the Web. I’ve noticed similar wait times with other “reader” applications and it’s very frustrating.
There’s no question that there are numerous significant business benefits to building mobile web applications instead of native
, but the benefits to user experience are few and, to me, seem mostly tangential (and in the right circumstances, web apps can provide significant performance benefits). On the whole, when it comes to attributes like speed, responsiveness and smoothness of animations and transitions, the user experience is degraded when choosing to deliver mobile apps via mobile web.
In then end, there is no one right or wrong answer to choosing mobile web or native when building an app. Each app developer must determine whether the user experience benefits of creating native apps outweigh the cost of production and maintenance. 37signals and Facebook have decided that their answer is no.
Building a Mobile Web App? One Suggestion…
If you don’t need access to the device’s hardware, for example the camera, you should seriously consider delivering your mobile web app in the phone’s browser and not as a “wrapped” (i.e. PhoneGap) application in the AppStore or Android Marketplace. Here’s why:
When you visit a website and discover that they have a mobile version of the site, you are pleasantly surprised. The experience is so much better than what you had expected that little quirks don’t even register in your mind. On the other hand, when you download an app from the AppStore and it seems even slightly sluggish, when animations are not smooth and scrolling stutters, you think that app is a piece of junk. If you are delivering Web pages in your application, the browser sets the right expectations for your user and they will be more forgiving of the quirks. You’ll also save yourself the effort of maintaining code for specific devices. This is, by the way, precisely how 37signals delivers their new mobile web app.