23 Comments

Summary:

The debate over whether the future of mobile data lies in native applications vs. Web-based offerings is often depicted as a Darwinian contest where only one will survive. But the truth is much more complex than some pundits would have you believe.

black and white handsets.j

Even before the iPhone gave mobile data a much-needed kick in the pants, mobile developers were debating the merits of native applications compared to Web-based offerings. But in recent weeks the discussion has begun to sound like a cutthroat Darwinian test of survival rather than a geeky topic of development strategy. Mobiledia this week asked if native apps are “an endangered species,” while MIT’s Technology Review went a step further in examining “why mobile apps will soon be dead.”

The rationale is that HTML5 and other Web-based technologies will soon give developers the tools they need to finally deliver an immersive experience to a massive audience across a wide variety of phones and operating systems. The biggest problem, though, is that those tools aren’t close to being ready. The HTML5 draft specification, for example, was moved to Last Call status only a few days ago and isn’t expected to be completed until 2014. So the reality of the situation is much more complicated than the black-and-white headlines of one technology “killing” another.

Over the next several years, both Web and native apps will evolve alongside each other, and savvy developers will choose the best technology — or combination of technologies — for their specific purposes. Hewlett-Packard, for instance, is raising eyebrows with this week’s claim that it will dethrone the iPad with its upcoming TouchPad; the device runs Palm’s webOS, an operating system that developers are finding increasingly attractive thanks in part to HP’s Enyo framework, which enables developers to build a single app that works effectively across webOS phones and tablets as well as in a computer browser.

Meanwhile, hybrid apps — which couple the broad support of Web-based apps with the richer features of downloadable offerings — are also gaining traction among the developer community. Real-world examples include Facebook; GeoCongress, which tells users who their elected officials are based on location; and the productivity app Clarizen. And unlike purely Web-based applications, hybrids can take advantage of distribution channels such as Apple’s App Store and Google’s Android Market — which is a big plus for smaller developers who face an enormous task in drawing traffic to their Web sites.

The challenge for developers, publishers and product strategists lies in striking a balance between the two technologies to create high-performance apps that are available to the biggest possible audience. Most will have to find some middle ground between the lowest common denominator and a jaw-dropping user experience. Even if it makes for less inflammatory headlines.

For more thoughts on the great mobile app debate, please see my weekly column at GigaOM Pro (subscription required).

Image courtesy Flickr user -miguelito-.

You’re subscribed! If you like, you can update your settings

  1. Michael Schmidlen Wednesday, May 25, 2011

    There is already a web-based solution on the market that addresses many of the issues you discuss in your article, and it’s been developed over the last 5+ years: 3P Mobile. 3P’s = Privacy, Performance & Personalization. Presently in beta testing and can be downloaded on their portal for free.

  2. Meh, as a web and mobile developer I don’t see any one solution that will be dominant.

    Native apps will outperform web apps in speed and capability, web apps will outperform native in acessibility and development. The smart play is to have an organized approach that leverages the appropriate technology for your specific need.

    But you can’t sell news about compromise :)

    1. Very well said, Thomas. Level-headed comments are always appreciated. Even if they don’t throw gas on the fire. :)

    2. Edwin Khodabakchian thomas Wednesday, May 25, 2011

      Thomas, I am curious, do you have examples of apps/features (except games/cameras) which you feel are better implemented using a native approach?

      1. I believe you answered your own question! When special capabilities are required, then native components make more sense. When performance matters, native…

        Most complex apps are hybrids. We need to stop thinking about web technologies as a browser based technology.

      2. Every app/feature is better implemented using a native approach, assuming the user and user experience are deemed most important. The moment UX is generalized and non-specific to the platform, the user has taken a back seat to the needs of the business or developer.

        My advice to clients is to go for a native app if best in class user experience is the goal, but go for web if the technical needs of the project allow and the goal is to hit as many users as possible with a generic experience. I don’t see use of web technologies as a goal in and of itself.

        I’m confounded by the multi-decade drive to recreate everything inside the browser that we already had on our desktops (and now in our mobile devices). It’s not for the user’s benefit, who universally appear to choose a native app over a web based alternative. I guess computer science is on a never ending goose chase for “write once, run anywhere”, but I don’t believe this is an achievable goal and I don’t think re-inventing everything we already had was the best way to go about it.

      3. re: Lee C.

        You mention: “The moment UX is generalized and non-specific to the platform, the user has taken a back seat to the needs of the business or developer”.

        Do you realize how wrong this statement is? If you look at the PC experience, it all started with isolated native applications. Then one day the browser emerged and most of the “applications” migrated to. HTML/CSS offer a much richer and more flexible layout engine than native infrastructure do AND they are portable across devices. On phones, native apps are winning because of gaming, the payment mechanism associated with the app store and the discovery and distribution mechanism associated with appstore. But let’s not be foolish and say that in all cases from a technology perspective Objective C/Cocoa or Android or Silverlight are more powerful than HTML5.

      4. Edwin, you write:

        “If you look at the PC experience, it all started with isolated native applications. Then one day the browser emerged and most of the “applications” migrated to.”

        I really am not sure that I see the evidence for this, at least from my own use. I used Gmail through the browser until I found Sparrow, and I suppose Facebook could be considered an ‘application’, but beyond that all of the applications I use on my computers are native ones, and indeed, I could not imagine using most of them through the browser.

  3. Hi Colin. Great article. There is definitely a third option (we call web/native – you call hybrid). Feedly (http://www.feedly.com) is built using that blueprint and the very same app works on iOS+Android, phones+7″ tablets+10″ tablets – The mobile/touch space is where computers where back in 1994 before the browser was invented. This is going to become a lot clearer in the next 18 months when phones are going to be powerful enough to run webtops (Motorola Atrix is an early insight to what we are heading towards).

    1. Thanks for the comments, Edwin. I’ll be watching Feedly as the space evolves in the coming months.

  4. I wouldn’t be so quick to discount Adobe Flash. The newest Flash Builder was released recently with more features added for mobile development than not. As these devices get more powerful, Flash could be an easy answer for cross-platform, multi pixel density development.

    1. I have been looking at Flash for projects that are more like magazine experiences. Where the hell is all of the documentation? Tutorials? Information? Adobe is really dropping the ball on communicating what can be accomplished and why their tools make sense.

      1. Oh wow, that is actually the first time I have heard that complaint. The Flash/Flex community is very strong and very passionate actually. There are tons of free resources out there. In terms of tutorials, http://blog.flexexamples.com/ has just about everything. The site owner was a Flex QA engineer for Adobe. As for raw, framework documentation, Adobe has made improvements but I still just use the Google :-).

  5. The main reason that local apps still win over web apps is that most web apps still have to download all their elements to work because devices offline casches are too small. This really sucks when you have poor signal. I dont mind if I have to wait 30 or 40 seconds for a facebook update, but I do care if it takes that long just to log in. The benifit of a small portable device is lost if you spend you life waiting for the apps to load and work.
    I like apps liek tripit – whcih most of the complicated stuff is done on a web page, ut the iOS app is fast, caches the data, and shows you what you need quickly, even if it has no net connection – perfect when trying to find your flight number before you check in, or the hotel booking reservation numbers etc. This would suck as web only.

    1. We designed something akin to a mobile web server as an app framework a few years ago (modoku). Apple was less than pleased. It would be quite useful on Android, but I must say that I wouldn’t drop a few hundred grand into making the transition personally.

      Such wrappers are unfortunately still subject to approval processes.

  6. Web-based apps will win out because in the end, native apps are tightly coupled to the OS. The fact that many users are willing to put up with a lesser UX today only reinforces the fact that as the browser experience continues to improve, native apps will become obsolete. Developers don’t want to design different versions of their app for every emerging OS – it doesn’t make economic sense. Ultimately the browser is the only OS that matters.

    1. Andrei Timoshenko John G Thursday, May 26, 2011

      Then why even have different operating systems, if they will play no role in user experience? Having a single platform on top of which everything runs (even if its features are set by consultation and consensus) is an incredibly homogenizing, monopolistic, and innovation-stifling experience. Think long-term when everyone has access to a computer – billions of people on a single platform would be oppressively monotonous.

      Besides, a single platform may make sense for those select developers who are a combination of both lazy and greedy (i.e. no need to even adapt code and yet still be able to theoretically reach every computing user alive), but it would certainly not offer any benefits to anyone else. Freedom is about choice, and choice is about tradeoffs. Oh, and billions of people are more than capable of economically supporting MULTIPLE underlying platforms.

    2. “Developers don’t want to design different versions of their app for every emerging OS ” – Developers interest first (in your opinion). Forgetting that developers work for Customers, not other way around. Even more precisely, as Andrei’s comment notices – LAZY developers interest first… In marketplace developer who places Customer interest first will win, general rule of the Open Market. Such developer will work harder and reap bigger reward.

  7. re: Edwin K.
    “If you look at the PC experience, it all started with isolated native applications. Then one day the browser emerged and most of the “applications” migrated to.”

    This is not true. Few of the applications I use are via the browser. None of the applications my company uses are via the browser, though we develop web sites for Fortune 100 companies. For the average user, I believe email is the only web application that is in wide use. Note, I am referring to productivity applications, not social sharing websites.

    “HTML/CSS offer a much richer and more flexible layout engine than native infrastructure do”

    I would disagree here as well but I don’t think this is a point worth arguing about. It’s a minor detail. It does however give more strength to the impression that you are only really concerned with your ease of development and not with your users.

    “On phones, native apps are winning because…” of games, easy payment and installation (paraphrased for length).

    Yes, but that’s not all. You really are ignoring the user in all of your statements. Native apps are successful because they provide better user experience. This includes fitting in with and leveraging the UI conventions of the platform. You can mimic this with “web apps” but then you’re right back to having to develop different UIs for each platform and it will feel second rate because it won’t be native (the same problem that Java apps have across platforms).

    “But let’s not be foolish and say that in all cases from a technology perspective Objective C/Cocoa or Android or Silverlight are more powerful than HTML5.”

    It’s true, like it or not, that those technologies are more powerful than HTML5. In strict terms of capability, HTML5 is a subset of any of those technologies. Further, a native app can embed a web view and use HTML5 there. A native app can leverage any web service or network resource that a web browser can.

    I am very much in favor of widely accessible data through web services, but I don’t believe this has anything to do with a web browser or forcing users to use a browser for everything.

    1. Edwin Khodabakchian Lee C. Thursday, May 26, 2011

      Really? Email is the only application you use in the browser? So you have never used Google Docs? You have never shopped online at Amazon? You never read news on NYTimes or CNN? You never used Salesforce.com? You never use Facebook? You never use Google Analytics? LinkedIn? etc. etc. etc…

      But I think that our position might not actually be that antagonist as it might sound: I agree with your that there are elements of the application (the chrome) which benefits from being integrated in the mobile platform. This is why I believe a web/native approach like facebook is doing is a great compromise: Packaging+distribution = native, chrome=native, core of the application = HTML5+.

      And over time, mobile browsers will evolve to become better container for facebook-like applications and the native part will shrink.

      1. I agree with Andrei Timoshenko above:

        “all of the applications I use on my computers are native ones, and indeed, I could not imagine using most of them through the browser”

        I do not write documents online (right now, I’d rather pay for a native app than use Google Docs). I’m not going to program, edit images, remote desktop, manage/edit a database, instant message, create presentations, or any number of other things online. You can do some of these things online, but the experience is not as good in terms of performance and UI. Time will cure the performance issue but the UI issue will persist unless there is only one platform – wouldn’t one platform be terrible?

        I agree the hybrid approach is great for some applications. In most cases, the programming time is reduced, but the design time is unchanged from native development.

        You said, “And over time, mobile browsers will evolve to become better container for facebook-like applications and the native part will shrink.”

        I think I’m partially just tired of hearing this same argument over the years. We can all program in C and just change the UI to match the platform, we can all program in Java and just switch in different buttons to match the platform, we can all program in HTML/CSS/Javascript and just alter the window chrome to match the platform.

        As long as there are multiple platforms, I just don’t see that working.

        Good discussion. Thanks.

  8. Michael Schmidlen Friday, May 27, 2011

    This has been “predicted” (in 2010 & prior no less) by:
    Richard MacManus (Mobile App or Browser-Based Site? Report Says The Browser Will Win on Mobile 2-2-10 http://www.readwriteweb.com/archives/mobile_app_or_browser-based_site.php),
    Mark Suster (App is Crap 2-17-10 http://www.bothsidesofthetable.com/2010/02/17/app-is-crap-why-apple-is-bad-for-your-health/).
    and Sergei Brin (Sergey Brin: Native Apps And Web Apps Will Converge In The.
    Not-Too-Distant Future, 5-19-10 http://techcrunch.com/2010/05/19/chrome-os-versus-android/).

    Do the math: Approx.Estimated 100 million iOS devices (Total# of iPhones, iPads & iTouch devices), approx/estimated 500,000 apps; the “typical user” has SEVEN (7) apps that they use on a regular basis & the 30 Day app retention rate is in the low single digits (approximately 4%). How is that a “sustainable business model for anyone?

    Versus 300 Million web servers worldwide and an extensive pool of developers already well versed in writing web apps…

    NO question that Native Apps are the current flavor du jour, but there’s already grumbling starting to come out of the developer community about their inability to monetize their development work…

    IMHO, It’s nice to see a continuation of this evolving situation being openly discussed & debated, versus accepting that it’s “the way it is”…

    1. We’re counting any line of HTML code as an “app” now?

      Compared to the whole of all web developers, there are relatively few HTML/Javascript/CSS developers with the skills or knowledge to do apps that will replace what we use on the desktop today.

      Your reference to 300 million web servers is irrelevant. These aren’t limited resource mechanical machines that can do nothing but serve HTML pages, so we’re forced to go with consuming HTML pages. The servers are irrelevant to the discussion. App or web page, both can use the data that comes from a server.

      Grumbling about being able to monetize development work will disappear if all development is to the browser? That’s non-sensical.

      Apps or web pages, everyone settles on their favorites. So again, I fail to see your point in citing the number of apps people use or the retention rate. Do you have stats indicating that web sites have very high retention rates or that the average user is routinely visiting the same several dozen or hundred websites (instead of only SEVEN as with apps)? As a website operator, should I be happy that users have zero loyalty to my site because they Google and change their destination for news or entertainment every single day? Your math makes no practical sense.

Comments have been disabled for this post