PreviousNext…

The old “native vs. web” chestnut

What ho! Just over a week ago I picked up on this opinion piece from Hutch Carpenter, in which there is much discussion about mobile apps—specifically why enterprises should look at the mobile web route, rather than native applications. Carpenter makes a number of points supporting his case, and I can’t say I disagree. Of course there are scenarios when a native app is the only way to go, but for a lot of this stuff the web is spot-on (and the web can still have a part to play in native apps—think cross-compilers such as those in Appcelerator and PhoneGap). Anyway, here is one of Carpenter’s clinchers:

Indeed, designing for a mobile experience is actually a great exercise for enterprise software vendors. It puts the focus on simplicity and the most commonly used functions. It’s also a chance to re-imagine the UX of the software. It wouldn’t surprise me if elements the mobile optimized HTML [a strange sentence, but I’m sure you get his point - BP] find their way back to the main web experience.

Hutch Carpenter: Four reasons enterprise software should skip native mobile apps.

There’s a parallel here; look at where Apple are going with iOS, OSX (and the respective app stores) with noticeable feature and paradigm exchanges between the Mac and its iBrethren. The interplay between iOS and OSX has come to the point that the forthcoming release of the Mac’s operating system (“Lion”) will include a number of innovations originally seen in iOS. It’s clear that this is happening in the mobile space too. Constraints in screen real estate, functionality and memory have all led to some real innovation. The provision of decent mobile browsers (mainly courtesy of WebKit) now means that we have some amazing frameworks for all major devices. And what technologies do some of these frameworks base themselves on? Why, good old HTML and Javascript! Look at the aforementioned Appcelerator and PhoneGap, or the web frameworks jQuery Mobile and Sencha if you don’t believe me (heck, look at the demonstration of Windows 8 that’s out there).

So developers, if you’re looking for some new stuff to learn, by all means roll with Ruby, partake of some Python, simper with Scala… but don’t neglect trusty mark-up and its pal Javascript—in case it’s not become clear yet, you will need your web skills more and more.

Shameless plug: if you need some mobile web development for your organisation, get in touch. We fellows at the London Developer Co-op are doing more and more in this space).

Comments

  1. Hi Ben,

    I guess that the local storage of your HTML5 apps (that you blogged about earlier) fuzzies that gap between native and web even further? Interesting times.

    RobRob Wills#
  2. To really win over developers and users, HTML5 needs a killer app on mobile that people actually give a shit about. As far as I can tell nobody has built one yet. Google do some nice stuff for the mobile browser but most of it is done in parallel with native apps that are even better. The new mobile.twitter.com web app is a train wreck in my opinion - the simple mobile site they had before was a lot more usable.

    What I find interesting is that almost every post I read advocating HTML5 mobile dev over native dev never backs it up with links to the apps they have supposedly built with it. On the other hand, native developers will bend over backwards at a chance to pimp their app portfolios in the app stores. HTML5 has a real vapourware problem. If it is behind a firewall, it did not happen.

    I'm a huge fan of cross-platform and developing for the browser, but all the talent and user mindshare is with native apps at the moment and I'm not seeing any sign of it declining.Jeff Gilfelt#
  3. … all the talent and user mindshare is with native apps

    That’s a blanket statement, and you point out why yourself: by their very nature, business-focussed mobile web apps tend to be invisible, behind the firewall. Native mobile apps on the other hand are in an app store near you right now.

    A big difference, but that doesn’t mean that the mobile web is an empty premise or a waste of time as a result. It just means that it’s never going to have the visibility of native apps. I’m also pointing to the relevance of mobile web development skills in that this knowledge can be brought into frameworks like PhoneGap and Appcelerator to produce decent “native” apps. No bad thing, surely?

    (As for twitter, I would never cite it as a good example of, well, anything :-D )Ben Poole#
  4. All that said, the “HTML5 will kill native apps” hyperbole out there is pure BS:

    http://rww.to/jl3JUtBen Poole#
  5. I still think a few high profile mobile web apps need to happen for corporate developers to take notice. But then again I don't think that the requirements and visibility of modern enterprise software and consumer software are as different as they are sometimes made out to be.

    Appcelerator Titanium and PhoneGap are fundamentally different approaches to cross platform mobile development. I don't think Titanium in particular is in any way analogous to web development, apart from it sharing the same programming language.Jeff Gilfelt#
  6. check out ITANA for Lotus Notes, it is an html5 app that syncs domino data into a local sql db, yet it is a web app that can work offline and work really fast. Once set up you cant tell its a web app.

    link to site http://www.hughesconnect.com

    </end shameless plug>Mark Hughes#
  7. Some interesting input from Tim Bray http://www.tbray.org/ongoing/When/201x/2011/06/14/Native-vs-Web See the "Further Reading" links as well.Dan Sickles#
  8. I have been watching this space in the last 6 months and your observations (and that of Carpenter's to), confirms a couple of things that I have been mulling for a while. The App store is only a revenue generator for the device vendors, and primarily for the non-business consumer space.

    ISV's gain nothing by being dedicated to a platform. You, as an ISV, (business apps or not), are developing solutions. Tying your shingle to a platform is a risk. Apple has demonstrated they will do whatever the hell they like at your expense. And competitors are gaining ground to. Also, as an ISV you are primarily interested in reaching as many ppl as possible. Device specific applications limits that strategy firmly into device silos. Finally, if you want to overcome these limitations you have to write native applications for each and every platform, duplicating your effort in development/testing/distribution. Not many can weather this cost. So it's completely at odds with ISV's.

    The mobile application market feels like the 90's all over again. Starting all over again with trying to get everyone to use standards. This time however, it will be faster with HTML5 but this flies in the face of Apple's revenue structure for applications. They do make most of their cash on their over-priced devices though, and applications just round out that vision. It's not a primary driver from Apple's POV. If Apple were serious about HTML5 and it's app dev capabilities we wouldn't be having this discussion 3 yrs after the first iPhone pinged a mobile tower.Giulio#
  9. @Ben. I agree that "HTML5 will kill native" apps is BS. Each delivery platform (in the sense of native apps or HTML5) will have it's place. HTML5 appeals to those who don't need native level API's, for functionality/performance and have cost constraints that limit dev/testing across multiple platforms... but who knows where we'll be in another 12 months...Giulio#
  10. James Governor discusses HTML5, native apps, app stores etc. in Moves: Ajaxians join walmart, HTML app stores? Canonical CTO leaves to sync Web. Centralised vs decentralised, the Great Game Goes On:

    http://www.redmonk.com/jgovernor/2011/06/17/moves-ajaxians-join-walmart-html-app-stores-canonical-cto-leaves-to-sync-web-centralised-vs-decentralised-the-great-game-goes-on/Ben Poole#

Comments on this post are now closed.

About

I’m a software architect / developer / general IT wrangler specialising in web, mobile web and middleware using things like node.js, Java, C#, PHP, HTML5 and more.

Best described as a simpleton, but kindly. You can read more here.

";