In the past week Opera have followed through on their plans to begin supporting the –webkit
vendor prefix. This is in reaction to the monoculture surrounding the sole support of webkit by developers, primarily on mobile websites.
Opera’s reasoning is that its users are being unfairly discriminated against by developers and, though they say it’s not an ideal solution, they must strive to provide the best experiences for their users.
Vendor prefixes are used in CSS for the testing of new and experimental features that have yet to be standardised. Each rendering engine has their own prefix:
-webkit
= WebKit running on Google Chrome and Apple Safari-moz
= Mozilla Firefox-o
= Opera-ie
= Internet ExplorerAs specifications and standards take some time to finalise developers have increasingly started to adopt the prefixes in their websites choosing to either ignore or accept their experimental status.
As a desktop browser Opera is the smallest of the ‘big five’ with only 2% market share. With these numbers many will be unconcerned with them supporting -webkit
. But it’s not their desktop browser where the change has begun; it’s their mobile browser, which still holds a healthy market share.
The impact of Opera doing this alone is debatable but it’s the precedence they set and which others such as Mozilla and Microsoft may follow that is of greater concern. Between them these two companies hold approximately 50% of the desktop browser market.
If Firefox and Internet Explorer move to support the webkit vendor prefix (and we conveniently ignore previous versions of these browsers) we will eventually have almost 90% of the population using a browser that supports -webkit
.
There is an argument to say that developing for one vendor prefix is quicker and easier but that’s a fairly short term view; we have to look at the long term.
The vendor prefixes were created to allow browsers to experiment with new features and as browsers developed different solutions a consensus in partnership with the W3C would be formed. A single standard would then be developed and all browsers would adopt this standard and drop the prefix.
It’s this competition between the browsers that ensures we not only find the best solutions for what is being developed but also fosters creativity in developing brand new features that have not yet been conceived. The past success and dominance of Internet Explorer 6 proves how a monoculture can harm progress.
Though the browsers may still support their own vendor prefixes you have to consider how long they will choose to do this and how different the implementation would be to that of -webkit
. A browser manufacturer is not going to spend additional time creating a different solution to that found in WebKit browsers especially when they must ensure the -webkit
solution is perfect.
When a browser chooses to adopt a feature native to its competitor and then masquerade as its competitor the implementation of this feature has to perfectly mirror that of their competitor. Not doing so doesn’t only ensure mass developer backlash but also could break many websites that were otherwise working perfectly.
It’s clear we cannot learn from past mistakes as this change mirrors closely one of the major battlegrounds of the Browser Wars in the 90’s. At the time features were being developed at a rapid pace much like they are today but at the time User Agents were being used to deliver different styles to each browser based on what they could support.
User Agents are a text string that a website can use to determine information about the browser that is being used to view the website.
User Agents were a popular way for developers to determine the browser a person was using and deliver an optimised version of a website to them. This was in reaction to some browsers implementing features incorrectly if at all. Once these browsers caught up they would spoof the user agent by including their competitors name within their user agent string alongside their own.
This causes many more issues than we would experience with vendor prefixes but the result is still one that many would not like to see.
Some developers are dropping prefixes out of laziness while others do so purposefully. We cannot force developers into changing the way they work though certainly those dropping prefixes out of laziness should most certainly be pushed to improve.
It isn’t until the browsers feel their users are being correctly treated that we could reverse this trend. However once all browsers have begun to start implementing support for -webkit
we won’t see them drop support any time soon.
Like what you’ve read, then why not tell others about it... they might enjoy it too
If you think Bronco has the skills to take your business forward then what are you waiting for?
Get in Touch Today!
Discussion