Enabling the Mobile Experience

Mobile Web Developer

Subscribe to Mobile Web Developer: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Mobile Web Developer: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Mobile Web Authors: Elizabeth White, Ravi Jasti, Yeshim Deniz, Tim Fujita-Yuhas, Pat Romanski

Related Topics: iPhone Developer, Mobile Web Developer

Blog Feed Post

“but isn’t HTML5 enough?” – why mobile usage will always be about native, not web, apps

I’m here at RailsConf 2010. What a great place to talk to current and prospective Rhodes developers! Rails developers all get why its important to have a full Model View Controller framework. They also get pretty excited about the presence of the first mobile Ruby on every smartphone device. Rails developers get the value of Rhodes deeper than any audience I’ve encountered.

A couple of the other talks, from otherwise insightful web framework developers, who apparently have “smartphone envy”, were disturbing. One speaker talked about his efforts to make Rails a little better for iPhone browsers accessing it as enabling “mobile apps”. This is a bit ludicrous now because users clearly prefer to run local native apps on their device versus accessing websites, especially for anything they use more than once.

One theme I’ve heard (again more from people pushing their web framework enhancements than from app developers, web or otherwise) is “once HTML5 is commonplace on mobile browsers that will all change and users will prefer browser-based apps”. So let’s take a look at this theory more closely:

First of all we should clarify that advances in HTML are unambiguously a great thing for mobile, whether for true native apps (such as those created by Rhodes) or mobile web apps. Rhodes uses HTML, CSS and JavaScript for its user interface rendering (as do other smartphone app frameworks that have followed us into the space). The richer the HTML capabilities, such as the extensions available in HTML5, that are available the better all such framework apps can be.

But of course HTML5 support on mobile devices also allows better mobile web apps. HTML5 supports storage to the device database. It also provides geolocation. So does that mean that mobile web apps are poised to become things that smartphone users interact with primarily? That won’t happen for several reasons:

device capabilities

Although geolocation is now present in HTML5, smartphone device capabilities are exploding by leaps and bounds. Smartphones pretty much all support: interaction with PIM contacts, camera, accelerometer, magnetometer, push, and native mapping. It will be many years before these capabilities show up in a W3C proposed standard and many more years before a smartphone browser implements them. If you have any doubt track how long it took from the proposal for HTML support for database storage to take effect (first floated in the 1990s). By that time there will be many more device capabilities as smartphones continue to evolve at a furious pace.

synchronized local data

It’s one thing to say that you can store some information to a table, or even cache it. It is quite another to intelligently, incrementally and efficiently synchronize that data to connecting devices so that information can be used offline. For purely one way data, automatic caching has its place with some more unstructured data apps and sites (such as news reading and social networking). For more structured bidirectional data the ability to store a record locally via HTML and JavaScript isn’t providing much compared with the ability to truly synchronize structured data bidirectionally. That typically is going to require some significant logic on the device.

offline usage

But even if the app isn’t information intensive it is critical for the app to be able to be used offline. All modern smartphones today are “occasional connected”. But its rare today (and will be for a while) for a device to have 100% reliable connectivity all the time. Users want apps that they can use whenever they want to, wherever they are. That is a big driver of the success of the App Store. Its just not possible with a mobile web app.

Its great for both users and developers of both mobile web apps and true native smartphone apps that HTML5 brings more capabilities to the table. But if you are a developer who wants to get the most usage of your app the maximum amount of time from your users, you’ll want to provide them with a native app.

Most refreshingly if you use a framework like Rhodes, you don’t have a big dilemma. You can use the power and productivity of HTML5 in your Rhodes views and still deliver the usability and ubiquity of a true native app.

Read the original blog entry...

More Stories By Adam Blum

Adam Blum is CEO of Rhomobile. He came from Good Technology and while spending millions on enterprise mobile application development he realized there was a need for a framework for enterprises to build mobile applications easily and cost-effectively empower their workforce without training their programmers to learn different programming languages and building apps from scratch. He has spoken at Interop in Las Vegas and at Ruby events all over the world.