Friday, June 11, 2010
Apple's HTML5 Promotion May Backfire
Given all the hype, it's easy to forget that HTML5 is not yet a finalized Web standard. That hasn't stopped Apple from posting a site featuring demonstrations of various capabilities of HTML5 and its related technologies, including CSS3. The catch? As long as HTML5 and CSS3 remain draft specifications, you'll need Apple's Safari browser to view any of the demos.
The move has angered many in the Web standards community who claim Apple's campaign actually undermines the very thing it claims to support: free and open Web standards. In a heated blog post, Mozilla evangelist Christopher Blizzard blasted Apple for being "not intellectually honest" in its marketing, by making it sound as if only Safari supports HTML5 today.
Apple has stepped up its promotion of HTML5 in recent weeks, offering the forthcoming standard as an alternative to the multimedia capabilities of Adobe's Flash plug-in, which Apple refuses to support on its iPhone and iPad devices. But according to Blizzard, "The most important aspect of HTML5 isn't the new stuff like video and canvas (which Safari and Firefox have both been shipping for years) it's actually the honest-to-God promise of interoperability." By creating HTML5 pages that can only be viewed in one browser, he says, Apple is doing the entire Web standards movement a disservice.
Return to the bad old daysMany of Apple's demos rely on "experimental" CSS3 properties to work. The exact implementation of these properties has yet to be hammered out, so browser vendors must use their best guess to determine how they should be rendered onscreen. Because of the ambiguity this introduces, it is the custom for browser vendors to attach a vendor-specific prefix to the CSS property names. Firefox uses "moz," while Safari uses "webkit," named for the browser's WebKit rendering engine.
This means Web developers who want to use a specific experimental CSS feature must include the vendor-specific properties for each browser they want to support in their style sheets. It's a less than ideal situation, but the actual coding required is trivial. Apple chose not to bother for its HTML5 demo site.
That would be bad enough. But Apple's demos don't work on Google's Chrome browser, either -- and Chrome also uses the "webkit" prefix for its experimental CSS3 properties (because it's also based on the WebKit rendering engine). Rather than detecting browser capabilities and degrading the user experience gracefully where features aren't supported -- as is the accepted best practice on modern browsers -- Apple chose to deliberately screen out any browser that doesn't self-identify as Safari.
That's right: By forcing my browser's user agent string to identify as Safari 5, I was able to view many of the demos just fine in Firefox 3.6 on Windows. Seriously, Apple? I thought we left elaborate browser-detection scripts behind in the bad old days of the 1990s. I can't imagine anyone would want to start up the practice again, let alone one of the leading companies in the development of next-generation Web standards.
Blizzard's criticisms of Apple come not long after Firefox project co-founder Blake Ross publicly worried whether Firefox was falling behind in the new Browser Wars. "I think the Mozilla organization has gradually reverted back to its old ways of being too timid, passive, and consensus-driven to release breakthrough products quickly," he wrote.
That's an accusation that could once have been leveled at Microsoft, whose standards-challenged Internet Explorer 6 has been a thorn in Web developers' sides for years now. But even Microsoft seems to have woken up to the idea that it can no longer rest on its laurels in the browser market.
What's more, not everyone at Mozilla thinks directing users to specific browsers is necessarily a bad thing. When Google released its Chrome Frame plug-in for Internet Explorer, many at Mozilla warned that the plug-in disrupted the browser's delicate security model. "It would be better for the Web if developers who want to use the Chrome Frame snippet simply told users that their site worked better in Chrome and instructed them on how to install it," wrote Mike Shaver, Mozilla's vice president of engineering. In other words, Google and Chrome fans should have done more or less what Apple is doing on its HTML5 demo site now.
Don't jump the gunIt's not surprising to see browser vendors move aggressively to support HTML5, CSS3, and other up-and-coming Web standards. After all, these same companies have been the driving force behind the creation of those standards. Some voices, such as Facebook's Joe Hewitt, even argue that the adoption rate of new browser technologies is still too slow. "Browser makers need to go nuts with non-standard APIs and let the W3C standardize later," Hewitt wrote on Twitter in April. "Waiting for the committee to innovate is suicide."
Equally deadly, however, would be for major vendors to abandon a genuine standardization effort now in the interest of self-promotion or furthering a specific company agenda. Impressive though they may be, Apple's demos should rightly be called "Safari technology demos" or something similar. Right now, they're specifically designed to shut out browsers from other vendors. Not only is that not real HTML5, it's not even in keeping with the spirit of the open Web.
Those who are too eager to see Apple or any other company steer the HTML5 effort in one direction should remember the lesson of XHTML2, HTML5's predecessor at the W3C. That effort stagnated when the committee members couldn't reach consensus and has since been abandoned. XHTML2 stands as a cautionary tale that no matter how badly new Web standards may be needed, they are not inevitable. Standardization is an arduous process, but a critical one for the future of the Web. Apple and other Web vendors should stay the course -- and play nice. It would be a shame if, after all the hype surrounding HTML5, the real winners in this race were Flash and Silverlight
This article, "Apple's HTML5 promotion may backfire," originally appeared atInfoWorld.com.