The dominance of Apple and Google mobile browsers is leading to a situation that's even worse for Web programming than the former dominance of Internet Explorer, a standards group leader warned today.
Daniel Glazman, co-chairman of the World Wide Web Consortium (W3C) group overseeing the formatting and effects standard called Cascading Style Sheets (CSS), said that programmers are overlooking other browsers when they use newer CSS features--even when those other browsers support the features.
The result is that those other browsers--Firefox, Internet Explorer, and Opera, chiefly--might have to essentially masquerade themselves as other browsers. When that happens, the "Open Web"--a programming foundation based on cooperatively created standards rather than proprietary features--is being thrown under the bus. And browser makers are showing they've forgotten the painful lessons they should have learned when Microsoft's Internet Explorer 6 ruled the Web.
The issue came to a head during a Monday meeting of the CSS Working Group. In it, representatives from Mozilla, Opera, and Microsoft indicated they're reconciled to the unpleasant option of embracing WebKit-labeled features, essentially masquerading as another browser.
How many of these features, exactly, must they use under misleading WebKit labels? "Zero is no longer an option for us," said Mozilla's Tantek Celik, according to the meeting minutes. Added Microsoft's Sylvain Galineau and Opera's Florian Rivoal, "Zero is not an option for us."
Toward the end of the meeting, Apple's Simon Fraser said, "I can take a list of [unstandardized CSS] properties we need back and see if we can bring it back [to the Working Group] for standardization."
But at least some damage is done: After a years-long effort to bring Microsoft into the standards world, the CSS debate shows that the standards process is partially broken.
Glazman's anguish came through in a call to action posted today:
Not so long ago, IE6 was the over-dominant browser on the Web. Technically, the Web was full of works-only-in-IE6 web sites and the other browsers, the users were crying. IE6 is dead, this time is gone, and all browsers vendors including Microsoft itself rejoice. Gone? Not entirely... IE6 is gone, the problem is back.
WebKit, the rendering engine at the heart of Safari and Chrome, living in iPhones, iPads and Android devices, is now the over-dominant browser on the mobile Web and technically, the mobile Web is full of works-only-in-WebKit web sites while other browsers and their users are crying.
The problem concerns the way in which Web standards advance. New browsers often introduce new technologies that eventually become standards, but initially they only work in a single browser. For that reason, when Web programmers use the experimental features, they have to call upon them with a prefix to the command. For example, the "-webkit" prefix is used to for feature that works in browsers based on the WebKit engine--those from Google and Apple, most notably.
Eventually, when the feature is standardized and supported across browsers, programmers can stop using the prefixes because they need not worry that they're writing code for one particular browser or another.
The problem right now, Glazman said, is that programmers use -webkit prefixed features without including -o for Opera, -ms for Microsoft IE, or -moz for Mozilla's Firefox. That happens even when those other browsers support the CSS features in question.
"I am asking all the Web authors community to stop designing web sites for WebKit only, in particular when adding support for other browsers is only a matter of adding a few extra prefixed CSS properties," Glazman said.
Those other browsers have a seemingly easy fix for the problem of Web pages that look bad purely because the Web programmer hasn't taken the extra time to support them, though: just add the feature with the -webkit prefix.
But that's a dangerous choice: First, programmers come to expect the WebKit technology as the way to do something; second, that way becomes a de facto standard; and third, an eventual standard governing the technology becomes irrelevant and the de facto approach can't be eradicated from the Web.
It's not a theoretical worry. For years, Microsoft's Internet Explorer dominated the Web, and programmers would write pages that looked good in it regardless of whether they followed standards or not. Microsoft eventually got Web standard religion, but the Web world is still struggling to deal with its legacy.
Now WebKit browsers dominate the mobile world, with no end in sight. Even as Opera and Mozilla fighting for a foothold on Android even as Google released Chrome for the mobile OS and Apple sold a million iPhones every three days last quarter.
In technology, it can be hard for a company that's powerful and innovating fast to slow down for standards work. But for the Web--a medium that spans the globe, affects hundreds of millions of people, and will last for many years to come--it's worth investing the time to create the standards properly.