I recently spoke on a HTML5 panel earlier this month discussing how the smartphone app market may soon be rivaled in volume by apps that run in your HTML5 web browser, aka web apps.
There are a lot of incentives for developers to code their programs in HTML5 and run them as web apps in the browser. The most obvious incentive for doing this is that they run on any OS. You don’t have to rewrite the app multiple times for the native code of all the various OSes. But many developers choose to develop native apps, because they believe today’s HTML5 web apps just can’t perform as fast, or be as full-featured as apps written natively for an OS.
Below are snippets of Q and A’s from my panel, where I laid out specifics on how Qualcomm’s hardware and software teams have made optimizations available within Snapdragon™ mobile processors, designed to give HTML5 web apps significant performance boosts. You’ll see we’re very close to getting the HTML5 web apps performance and feature set to rival that of native OS apps.
Q: Where do HTML5 apps stand vs. native apps in terms of the user experience?
A: Traditionally, HTML5 apps have been slower, but there have been some real improvements, particularly around performance. By optimizing the browser to really take advantage of dedicated hardware blocks in our Snapdragon mobile processors, we’re seeing comparable levels of video performance across both web apps and native apps – 30 frames per second. Not only can we play 1080p video files, we can playback 1080p video in Flash and HTML5. In fact, in HTML5 we’re able to get multiple video streams running live on a page at the same time.
We’re also closing the gap on advanced graphics with the help of HTML5 Canvas for 2D graphics and WebGL for the 3D equivalent. We’re seeing sample 3D WebGL content benchmarked at 25fps in a Web App, vs. 50fps in a native, OpenGL-ES equivalent app on the same device. Though the native app offers twice as many fps, anything over 25fps is not very noticeable to the human eye. Though we see this gap steadily closing over time.
Q: Why would developers choose to create HTML 5 web apps rather make an app for a browser?
A: Let me first point out that they’re already starting to do just that. There are plenty of examples out there in the market today. We’re starting to see more and more content owners choosing to write and launch their app in HTML5 vs. native. For example:
There are several key reasons developers are starting to choose HTML5, though saving time by not having to code for different OS languages is an underlying theme for most of these drivers:
- You can reduce development costs since there’s no need to build across different OS’ and test across all the devices.
- You can avoid app store revenue share. If you sell through the Apple App Store, Android Market, Windows Phone Marketplace, etc., they all take a cut.
- Working in HTML5 makes it easier to update and get to end users, because there’s no need for downloads if the app is hosted in the cloud.
- HTML5 offers much better fault-tolerant design, aka “graceful degradation.” For example, if some browsers don’t support Canvas, they fall back and don’t fail. Or if you don’t support a certain font, there is a fallback.
Q: Where will HTML5 web apps take off first, and why?
A: I think we will see web apps first in tablets followed by Smart TVs. Once more and more TVs have full HTML5 browsers in them, it’s going to break open a whole new set of exciting user experiences. For example, you will no longer be tied to a limited set of Samsung TV Apps, LG TV Apps or Roku Apps. The whole Web will be at your beck and call via your TV Remote. That’s quite a game changer — one that Google TV has attempted to bring us.
If web apps become mainstream on tablets and TVs, they will have to become mainstream on all mobile devices. Speaking of which, we cannot discount the growth of the hybrid apps that are currently available on smartphones, which leverage a lot of HTML5. These are already mainstream.
Web apps are destined to take off for another simple reason: there are a lot more web developers (familiar with HTML5) out there than native app developers. And there are even fewer developers building tablet apps and TV apps. So the momentum is behind web apps — it’s just a matter of time.
Q: Why does Qualcomm care if native apps transition to web apps?
A: We’ll go wherever the market goes; we just want developers and consumers to know that our Snapdragon processors will lead the market in performance and in development tools. The technology in our Snapdragon chips is always evolving, and we are constantly adding more intelligence and features into the chipset via hardware and software. The more features we add, the more we want to expose to web apps.
For example, we’re pushing the envelope in terms of what the camera can do with things like facial recognition, multi-shot with zero shutter lag, smile detection, blink detection, gaze analyzer, etc. So now, it’s no longer just about exposing a camera API to web apps, its about exposing all these advanced post processing features to web apps, too. Similarly we’re doing some very cool things around proximity-based peer to peer (P2P). Imagine the possibilities when your web app can reach out, discover and connect with other web apps nearby you.
Also, as I touched on earlier, we’re working to bring our Snapdragon processors to TVs, too. We suspect that more people will want to buy connected TVs that have all these cool HTML5 web app capabilities, as opposed to spending thousands of dollars and being locked into just Samsung, LG or Roku TV apps.
Q: The web browser is another layer between apps and hardware. How can developers know that performance will be there to produce fast web apps?
A: If you treat the browser as just another software layer and don’t optimize it to take advantage of the Snapdragon processor, then yes, there will be performance impacts. But with the Snapdragon chip, your browser doesn’t have to be just another piece of software. It can be optimized to take full advantage of all of Snapdragon’s subsystems. Here are a few examples of how a web browser’s performance can be turbocharged when tuned for the Snapdragon chip:
(Optimizations for the Snapdragon integrated modem and intelligent connectivity engine.)
- Deisgned to achieve up to 50% faster page and web app downloads1
(Leveraging smarter caching.)
- Improved multi-core utilization
(Leveraging Snapdragon’s GPU and multimedia hardware engines.)
- HTLM5 video performing at full native rate
- Faster and smoother scrolling, zooming and panning
- GPU accelerated HTML5 <canvas>, <video>, WebGL and CSS3D animations
1 Source: Tests performed by Qualcomm Innovation Center, Inc. Tested with 30 sites on Wi-Fi and consistent environment on Android 2.3 using HTC Sensation and production OEM device with Dual-CPU A9.
2 Source: Tests performed by Qualcomm Innovation Center, Inc. Tested using Android 2.1 through 2.3 on HTC Nexus One).