For a couple of years now, we've been talking about apps for a multitude of purposes. Mobile apps continue to be the preferred way to deliver new services or content to mobile devices.
But the whole idea of the "the app" might be heading for a big change. A day may soon come when, instead of visiting the App Store or the Android Market, you'll just click a link on your homescreen to launch an app in your browser.
[ Also on InfoWorld: HTML5 not yet solving mobile dev issues. | Get the latest news and insight on Android and other mobile technologies with InfoWorld's Mobilize newsletter. | Learn how to manage smartphones in your business with our Mobile Device Management Deep Dive PDF special report. ]
Native apps have ruled
When developing apps for mobile devices, developers usually build a "native app" -- the kind of app you buy at an app store and install in the memory of your phone. Native apps have been the de facto standard for adding functionality to your phone.
To this point, most developers would agree, native apps have looked better and performed better than their browser-based counterparts. Most users have looked at the mobile browser as something to avoid, because it's such a hassle to use -- especially when you need to input data.
Native apps have been more predictable than browser-based ones, too. Because native apps run from the phone's memory, they aren't subject to unpredictability and inconsistency in the way various mobile browsers render them.
In addition, native apps rely less on the network: Since they store much of their content on the phone, native apps don't rely on a network connection the way browser apps do. Browser apps typically reside on a server in the cloud and must constantly tap the cloud via a Wi-Fi or cellular connection for content. If that network connection is poor or unavailable, the browser app's performance may suffer greatly.
But native apps are troublesome
For a long time, developers with limited resources made apps for Apple iOS devices and Android devices because doing so enabled them to get their app onto the largest number of phones.
But this rationale is beginning to lose force, in part because marketing native apps in an app store is hard for developers. In the case of iOS apps, even getting an app accepted to the App Store. Though Apple applies the same set of criteria to each app submitted to it for acceptance, developers say that if Apple doesn't like an app -- for any reason -- the company rejects it.
Though developers have less difficulty getting their apps accepted at the Android Market, apps can quickly get lost among the store's thousands of other apps, many of which are low-quality programs.
Another problem for app developers is that they must create multiple different versions of their native app for different mobile operating systems (iOS, Android, and others) and in some instances different versions of those OS families. So developers have to spend a lot of time and money "versioning" their apps, instead of improving them or creating new ones.
Lost in the super market
As noted earlier, a native app that has made its way into an app store may receive very little notice at all. As app stores have grown -- and become bloated with shoddy or useless apps -- accessing apps has become more of a hassle. WildTangent vice president Matt Shea says that because the big app stores are a one-stop-shop for all categories of apps, they are unwieldy and often fail to categorize and organize apps sensibly. As a result, app buyers can't locate the perfect app for the task they have in mind even though it may exist in the store -- and that's a big problem for the app's developer.
Shea says that poor cataloging of apps at the big app stores helps explain the rise of specialized app stores like WildTangent, which offers only games and categorizes them carefully so visitors can more easily find the apps they're looking for.
Is HTML5 the answer?
Many people in the mobile community believe that developers could avoid these headaches if they used HTML5 to develop browser-based apps. HTML5 is the first upgrade to hypertext markup language since 1999. Though the official HTML5 standard won't be officially completed by the W3C (Worldwide Web Consortium) until 2014, most modern mobile browsers already support the language, and many Web developers are already designing HTML5 sites.
In a nutshell, HTML5 will let browsers -- desktop and mobile -- do a lot of cool new things, such as location detection, and audio and video playback without plug-ins. Syncing will improve, too, so that you can watch part of a movie at work, and then continue watching it on your commuter train ride home.
Perhaps the biggest potential benefit of HTML5 is that it will enable app developers to focus on making one version of each app, which will then run smoothly in many kinds of browsers, freeing them to move on to bringing more and better apps to market. It might also encourage them to spend more money on marketing and promotion and less on the grunt work of versioning.
The network is a factor, too. With the advent of 4G networks, which can deliver content ten times faster than 3G networks can, users will be able to retrieve content from the network far faster and more reliably than in the past -- and browser-based apps will have a far better chance of matching the performance of native apps.
As for promotional considerations, browser-based mobile apps reduce developers' reliance on the app stores. In order for native apps to have a chance at success, developers must promote them through the app stores; but browser-based apps lend themselves better to Web promotion via social media like Twitter and Google+, proponents say.
Should I stay or should I go?
Though most developers believe that HTML5 is improving, they say that native apps still run better and faster than browser apps in real-life use cases.
One reason for this state of affairs involves the app's access to the phone's features. Many developers say that HTML5 apps can't yet control and take advantage of a smartphone's various hardware features -- such as its processor and its accelerometer -- as well as native apps can.
Nevertheless, considerable debate surrounds the question of how fast HTML5 is approaching parity with native apps when it comes to controlling the hardware assets of smartphones.
Choudhury and his team are responsible for optimizing the performance of Web browsers and operating systems on Qualcomm's Snapdragon processors for mobile devices.
"A few months ago, demos started to emerge from various browser vendors that highlighted the capabilities these apps can take advantage of, such as the accelerometer, device orientation, geolocation, and camera integration," adds Mozilla mobile browser product manager Thomas Arend. Arend points to the example of the Dashboard highlighted at the Mozilla developer site.
Delivering a consistent experience is also an issue. HTML5 browser apps run differently from browser to browser and from device to device, some developers say, making it difficult for developers to ensure that all mobile consumers will like the way an app works in their setup.
But adopting a browser-based approach isn't necessarily a disadvantage, Arend says. "Using the Web as a platform [using HTML5, CSS3] is the most promising path to a consistent and personal user experience across devices and platforms, rather than a siloed experience from device to device," Arend says. "A well-designed Web app can be indistinguishable from a native application for the user."
As with any new technology, adoption will take place on the pattern of a bell curve. And early adopters have already started to take action. Pandora has announced a switch to HTML5 for its application, for example, and the cloud storage company Box.net says that it will take the HTML5 route as well. Also intriguing: One juicy rumor asserts that Amazon will soon release a browser-based Kindle app made with HTML5.
Not an 'either/or' issue
After all the fiery debate about native apps versus browser apps, many developers don't face an either/or decision. In fact, there may be a place for both kinds of apps.
For instance, a game developer might make a browser-based "lite" version of a game so that prospective buyers can try it out without having to visit an app store, as Mozilla's Arend points out; and if they like the game, they might decide to buy the full version as a native app.
Moreover, developers build many native apps in much the same way that they build browser apps -- using the same tools -- but then fit them with a native app "wrapper." For this reason, native apps and browser apps sometimes are as different as people may imagine.
Eventually, developers may decide between making a native app and making a browser-based app on the basis of distribution factors. A developer must ask whether distribution through an app store or on the open Internet (and through social media) is the best way to attract users to an app.
For many people, the idea of a smartphone came to their attention bundled with the concept of downloadable apps. When smartphones first reached the market, native apps clearly offered the best way of completing tasks on the device. But the situation has changed since then: With mobile browsers improving, broadband speeds quickening, and HTML5 right around the corner, many people in the wireless community are questioning the assumption that native apps are the best way to deliver content and services to mobile users.
When HTML5 arrives in full force, the mobile browser may be a better -- or at least another -- way.
This story, "Will HTML5 kill the mobile app?" was originally published by PCWorld.