Why HTML5 provided more tricks than treats in 2012
The stage was set with an expected one billion HTML5 phones sold by 2013. Facebook was ready to pave the way. I could repeat many other reasons why HTML5 should have taken off in 2012, but as we’ve seen over the last year, it just didn’t. Mark Zuckerberg said it best, “The biggest mistake we did as a company was bet too much on HTML5.”
Here’s an explanation for why HTML5 did not meet the high expectations set last year.
1. Cross-Platform HTML5 Development Hasn’t Taken Off
There is a massive split between desktop and mobile HTML5. Just because the technology exists across desktop and mobile, doesn’t mean the design issues have changed:
1) Keyboard compared to keypad
2) Screen size of the platform
3) Mouse compared to touchscreen.
It’s optimal to develop products for a specific platform. This allows developers to personalize the look, feel, and functionality of an app, which is extremely important from a user experience standpoint. The assumption held by many who were looking to HTML5, was that users would access apps across devices, from desktop to mobile. In reality, users will pick the one with the best functionality and naturally gravitate to the platform on which an app works best.
When it comes to mobile, an app has to be developed with the mobile user in mind. Nothing is more frustrating for a developer than devoting time across multiple platforms, only to discover later that your users prefer one device over another. No matter what, developing across multiple platforms takes time, energy, and thoughtfulness.
2. App Stores Deliver Discoverability, HTML5-Only Sites Are Out in the Woods
It’s easy to create a browser link with a homescreen icon for a mobile device, but much harder to change cultural practices. The challenge HTML5 publishers experience is creating an easy and positive experience to access hybrid apps. Mobile users now expect to be told to download an app and, instinctively, users search for apps in stores. Google and Apple dominate these stores and have thus far not made steps towards including HTML5 sites.
Facebook created the most publicized “universal store,” listing both native and sites in HTML5 — some believe as a way to circumvent Apple and Google’s app stores. With the hopes of coaxing them to include HTML5 apps, Facebook assembled a network of developers under the W3C but so far that strategy has not shown traction.
3. Hybrid Apps Can’t Depend on Mobile Browsers
I thought that at least one major console game would be released or re-released using WebGL. It may have happened, but in lieu of the previous point, the big mobile browser players like Chrome and Safari have shown no intention to grow their browsers to fully support HTML5 technologies. For example, WebGL, a central tool for 3D game development has been incompatible with the aforementioned mobile browsers.
Compatibility is one issue, but there’s also speed on the mobile browser. Findings from a study we conducted earlier this year showed that HTML5 running on mobile browsers was ten to seven hundred times slower than when running on a desktop. In fact, on average mobile browsers were 889 times slower. Implicit within this data is that a large percentage of mobile users have a poor experience when accessing web apps that are graphical in nature.
4. Fragmentation, Fragmentation, Fragmentation
Is the name of the game when it comes to hybrid apps. Anyone who has built a website has experienced browser compatibility issues. Double these across platforms and you have a headache. For example, Sean Soria, an engineer for Gamzee described some of the issues they faced building Skyscraper City in a guest post for Facebook’s HTML5 blog.
In the post Soria describes a hack to increase speed on the DOM “is fake 3D transforms on your CSS. That triggers hardware acceleration on most mobile devices, resulting in better performance than Canvas, for example.” This is awesome — except the workaround doesn’t work on Android phones. There are many issues like this, where both problems and solutions are distinct on each device.
5. HTML5 Isn’t Robust Enough
From what I’ve seen, the hype has led to many people overestimating how much developers like using JavaScript. Is JavaScript great for cross platform development? Yes. Do developer prefer it over possible alternatives? Not quite yet. For more complicated apps, especially games, object-oriented and more strongly typed languages are still preferred by developers.
So, HTML5 didn’t pan quite how we thought it was going to. It turned into a scapegoat for Facebook and possibly one of the most overhyped advancements of the mobile generation. If HTML5 truly is the future, than we’re much farther from that future then we thought. That’s not to say that HTML5 won’t get it right some day – just not any time soon.
The stage was set with an expected one billion HTML5 phones sold by 2013. Facebook was ready to pave the way. I could repeat many other reasons why HTML5 should have taken off in 2012, but as we’ve seen over the last year, it just didn’t. Mark Zuckerberg said it best, “The biggest mistake we did as a company was bet too much on HTML5.”
Here’s an explanation for why HTML5 did not meet the high expectations set last year.
1. Cross-Platform HTML5 Development Hasn’t Taken Off
There is a massive split between desktop and mobile HTML5. Just because the technology exists across desktop and mobile, doesn’t mean the design issues have changed:
1) Keyboard compared to keypad
2) Screen size of the platform
3) Mouse compared to touchscreen.
It’s optimal to develop products for a specific platform. This allows developers to personalize the look, feel, and functionality of an app, which is extremely important from a user experience standpoint. The assumption held by many who were looking to HTML5, was that users would access apps across devices, from desktop to mobile. In reality, users will pick the one with the best functionality and naturally gravitate to the platform on which an app works best.
When it comes to mobile, an app has to be developed with the mobile user in mind. Nothing is more frustrating for a developer than devoting time across multiple platforms, only to discover later that your users prefer one device over another. No matter what, developing across multiple platforms takes time, energy, and thoughtfulness.
2. App Stores Deliver Discoverability, HTML5-Only Sites Are Out in the Woods
It’s easy to create a browser link with a homescreen icon for a mobile device, but much harder to change cultural practices. The challenge HTML5 publishers experience is creating an easy and positive experience to access hybrid apps. Mobile users now expect to be told to download an app and, instinctively, users search for apps in stores. Google and Apple dominate these stores and have thus far not made steps towards including HTML5 sites.
Facebook created the most publicized “universal store,” listing both native and sites in HTML5 — some believe as a way to circumvent Apple and Google’s app stores. With the hopes of coaxing them to include HTML5 apps, Facebook assembled a network of developers under the W3C but so far that strategy has not shown traction.
3. Hybrid Apps Can’t Depend on Mobile Browsers
I thought that at least one major console game would be released or re-released using WebGL. It may have happened, but in lieu of the previous point, the big mobile browser players like Chrome and Safari have shown no intention to grow their browsers to fully support HTML5 technologies. For example, WebGL, a central tool for 3D game development has been incompatible with the aforementioned mobile browsers.
Compatibility is one issue, but there’s also speed on the mobile browser. Findings from a study we conducted earlier this year showed that HTML5 running on mobile browsers was ten to seven hundred times slower than when running on a desktop. In fact, on average mobile browsers were 889 times slower. Implicit within this data is that a large percentage of mobile users have a poor experience when accessing web apps that are graphical in nature.
4. Fragmentation, Fragmentation, Fragmentation
Is the name of the game when it comes to hybrid apps. Anyone who has built a website has experienced browser compatibility issues. Double these across platforms and you have a headache. For example, Sean Soria, an engineer for Gamzee described some of the issues they faced building Skyscraper City in a guest post for Facebook’s HTML5 blog.
In the post Soria describes a hack to increase speed on the DOM “is fake 3D transforms on your CSS. That triggers hardware acceleration on most mobile devices, resulting in better performance than Canvas, for example.” This is awesome — except the workaround doesn’t work on Android phones. There are many issues like this, where both problems and solutions are distinct on each device.
5. HTML5 Isn’t Robust Enough
From what I’ve seen, the hype has led to many people overestimating how much developers like using JavaScript. Is JavaScript great for cross platform development? Yes. Do developer prefer it over possible alternatives? Not quite yet. For more complicated apps, especially games, object-oriented and more strongly typed languages are still preferred by developers.
So, HTML5 didn’t pan quite how we thought it was going to. It turned into a scapegoat for Facebook and possibly one of the most overhyped advancements of the mobile generation. If HTML5 truly is the future, than we’re much farther from that future then we thought. That’s not to say that HTML5 won’t get it right some day – just not any time soon.
No comments:
Post a Comment