Bruce Lawson's personal site

On Internet Explorer supporting -webkit- vendor prefixes

News is just in from Microsoft that Internet Explorer on Windows Phone 8.1 Update will support legacy webkit-prefixed features.

Now, obviously I can’t speak for Microsoft or the IE team (Bill Gates despises me since I beat him in a nude limbo competition at Patrick Lauke’s birthday disco a few years back) but this brings a wry smile to my little face. It fell to me to write the blog post announcing that Opera was going to support some -webkit- prefixed CSS and be hated by the Internet for the 2.6 seconds it takes before someone more evil pops up.

Those in the know could guess this was coming. At a CSS Working Group meeting in February 2012 (search the minutes for “Vendor Prefixes”) this exchange took place:

tantek [Firefox]: At this point we’re trying to figure out which and how many webkit prefix properties to actually implement support for in Mozilla … Currently we have zero. Zero is no longer an option for us.
Florian [Opera], Sylvain [Microsoft]: Zero is not an option for us anymore either.

The reason that IE are doing it now, and we did it then, is simple. WebKit browsers, like other browsers, shipped experimental CSS with a prefix. When the CSS property was considered stable, all browsers apart from WebKit removed support for the prefixed version. WebKit browsers, however, did not remove the prefixed version, supporting it in parallel with the unprefixed syntax so that sites that had been made before the “standardising” of the property would not break.

Moreover, lazy developers only tested on WebKit browsers, so didn’t even add the -ms- prefix for Microsoft, -moz- prefix for Firefox or -o- prefix for Opera, so those browsers got a markedly worse experience.

At Opera, we did what we could with a relatively small team to contact site owners and developers and ask them to change it, but there were simply too many to deal with. It was much more effective simply to “support” those -webkit- prefixes that were the analogue of things we already supported; for example, we simply aliased -webkit-border-radius to border-radius.

Magically, lots of iPhone-only sites looked a lot better in Opera. As you can see from the screenshot comparisons in the IE blogpost, the same happens for them. It’s difficult to argue for ideological purity when a simple aliasing makes the user experience so demonstrably better – and one thing I’ve learned at Opera is most users don’t care two hoots for ideology if their favourite site works better in another browser.

It’s tempting to blame the mess on lazy developers, and they are without doubt at fault for enjoying the advantages of the Web without respecting its core principle of cross-browser compatibility. But some of the blame lies with WebKit developers, and (to a lesser extent) with the CSS Working Group for blessing vendor prefixes (though of course, browser makers just did this sort of crap anyway: scrollbar-face-color lurked around for years in IE without a prefix).

I’m very glad that the Blink rendering engine (which Opera, my employer, now uses) has abandoned vendor prefixes (and Firefox appears to have done the same.)

But, as managers around the world like to say when laying staff off because of bad management decisions, “we are where we are”. Legacy -webkit- prefixes hide in the dim recesses of sites used every day, and users deserve good experiences.

So good luck to the IE team; I’d do the same, because I’ve done the same. But I stand by my poetic words of 1 September 2012:

Vendor prefixes are like skidmarks on the underwear of web standards: sometimes unavoidable, but best washed and rinsed out as soon as possible.

(Last Updated on )

Buy "Calling For The Moon", my debut album of songs I wrote while living in Thailand, India, Turkey. (Only £2, on Bandcamp.)

8 Responses to “ On Internet Explorer supporting -webkit- vendor prefixes ”

Comment by Stomme poes

We never hated you. We only totally ripped on those Evil Lazy Developers and wailed and gnashed teeth at our upcoming Brave New Webkit World (both in the Shakespeare sense and the Huxley sense)
(o noes it’s missing the cowboy riding the bomb from Strangelove, too bad).

Meanwhile, we’ve always hated IE. The IE team could even promise HTML6 and an island full of kittens and a new karaoke standard ( video) or show us that IE is actually an awesome evil-robot-butt-kicking magical anime girl ( video) and we’ll still hate on it.

So actually IE is practically going to get a free pass adding -webkit-badassery: awesome++ because they’ll be hated equally anyway, but not more.

BTW, when is Opera going to start making cool videos? You had document.all, you could at least have an HTML6-kittenIsland-Opera-tan something out there…

Comment by Bruce

Yes. The official mankini is compulsory dresscode at the Opera Xmas party. Unfortunately, the climate of Oslo in December makes it sub-optimal for reasons of both comfort and aesthetics.

Comment by Stomme poes

Honestly I think the only way IE can even begin to make up for its past sins at all is to adopt (maybe with a non-enterprise fork) the every-time-a-squirrel-farts update regime used by the others. When Firefox has some shitty bug like “agrees the range input exists but d’oh, can’t make it display:none”, people forget when, three squirrel-farts later, the fix is out and running on machines.

When people hate IE, it’s the IE of their customers: like, 7, 8. So I hear 8’s losing support in 2016. Meanwhile, Firefox 6-bazillion lost support weeks ago and only Stallman hasn’t upgraded. Somehow Ze Googles are trying for corporate/enterprise takeover with Chrome even though they too do squirrel-fart releases, which supposedly frightens skittish Suits.

On the other hand, having the dev channel, a version of the MDN, and easier almost-like-openSource testing versions might be enough now that we all know that Mozilla has structural issues, Opera became a faceless Blink clone, Google’s trying to rule the entire interwebs with an Evil Empire and Apple wants to trick users into agreeing to becoming human centiPads.
That is, IE could become the sort of villain-turned-antihero. I can hear zombie Don LaFontaine announcing:
“He used to be the bad guy. Now, he’s a badass.” And free hugs don’t hurt.

Again, incorporating webkitties should neither particularly help or harm, as far as popular opinion is concerned.

Comment by David Storey

@Stomme while farts do frighten suits, IE has in actual fact been making silent but deadly farts (sshh.) On patch Tuesday IE is updated. This used to just include security updates and critical updates. Now on a case by case basis they can include feature updates. For example WebGL support has been updated multiple times since IE shipped, the Prefer:Safe HTTP header has been added, F12 support has improved, etc. One such update is is detailed on MSDN (but there have been others.) The features listed as In Development on will be evaluated on a case by case basis to see if they will go in the next version of IE or added to the current version on a future patch Tuesday. IE release cadence has been increasing (it could hardly get slower than the old days) but since IE11 it has improved a great deal.

Comment by Stomme poes

o_O whoa, super Secret Squirrel farts?!??

Is this restricted to WIn8 IEs?
It’s not only the IE of our customers we hate, but also the OS… that is, we too have customers still sitting on WinXP (though I’m merely hoping/wondering if these updates may reach Win7 users). Most of our customers are Small Suits; I don’t believe a single one is running Win8. They might be scared to switch, as anything vaguely tabletty makes them think too much of relaxing on the couch. So secret updates getting back to Win7 IEs would be… very awesome. Almost better than HTML6 karaoke kittens.

(super offtopic)
If Suits are bad, Gov’t Suits are worse. They’ve had 10 years to think about upgrading, their children went from toddlers shoving crayons up their noses to cranky teens playing that garbage they call music way too loud, and yet they still paid more of our lovely tax money for extended OS support. ARG.

Leave a Reply

HTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> . To display code, manually escape it.