Some interesting twittering earlier today on the subject of Apple actually being worse than Microsoft for the Open Web. Seems like quite a provocative statement to me, and a concept worth discussing.
Some background: Apple is heavily involved in the W3C and WHATWG, where they help define specifications. They are also well-known for implementing many unofficial CSS extensions, which are subsequently submitted for standardization. However, Apple is also known for preventing its representatives from participating in panels such as the annual Browser Wars panels at SXSW, which expresses a much less cooperative position.
The issue I’m most interested in is the way Apple seems to want to get ahead of the game by implementing methods of doing things with CSS that were not possible before. One might say Apple should make the propositions first, see how a proposal does in discussion with the W3C, and only then come up with an implementation.
The rush to add so many bells and whistles (some of questionable value) without discussion, can be seen as a marketing ploy to make claims of being the first browser to support many new technologies, without disclaiming the fact that they were not the result of discussion with other parties. And this is exactly what has happened.
Marketing claims aside, is there anything wrong with the concept of shipping a browser with non-standard methods of doing things that weren’t possible to before? We all remember how the initial browser wars had Microsoft and Netscape release proprietary methods of doing just that. This was rightly seen as a Bad Thing for the web, since web designers had to either choose one browser to support or try to figure out which features were or were not okay to support.
There are two big differences between the way features were supported then and the way browsers support them today:
- Before, there was no agreed on method on how to implement vendor-specific features, so browsers just added them as if they were standardized features. Now, we vendor-specific extensions are allowed in CSS
- 2. Before, the features had little or no documentation explaining the way other browsers could implement them the same way. Now they are quite extensively defined
There’s currently no official method of introducing vendor-specific HTML elements (only XHTML). When Webkit began adding the Canvas element, it sparked some debate on the subject, with David Hyatt seeming to try his best to find the best solution.
But aside from adding a feature as “properly” as one can, while getting attempting to get it standardized afterwards, what’s a browser vendor to do?
The only other options I can see are waiting to get something standardized (a process that can take years) or releasing a plugin like Silverlight or Gears that may also serve the purpose. Plugin alternatives don’t usually integrate with web pages as well as native solutions, and aren’t much help for CSS properties.
Is Apple’s method bad for the web? I think not. True, it’s on the hasty side and the marketing claims are annoying, but the method encourages competition and from my observations they try to do things by the book as well as they can. Time will tell if the open web will eventually suffer from the many extensions available already, but I’m optimistic that it can only be a good thing.