November 2011 - Broken Links Archive

An Argument In Favour Of Vendor Prefixes

Hen¬≠ri Sivo¬≠nen has writ¬≠ten a fan¬≠tas¬≠ti¬≠cal¬≠ly well-con¬≠sid¬≠ered post called Ven¬≠dor Pre¬≠fix¬≠es Are Hurt¬≠ing The Web which I urge you to read in full, as I‚Äôm about to dis¬≠cuss it. I think some of his points are absolute¬≠ly right, but I dis¬≠agree on the final con¬≠clu¬≠sion. The points that I think he nails are:

  • Demos that work in one browser/engine only and aren‚Äôt updat¬≠ed even when oth¬≠er browsers imple¬≠ment the new fea¬≠tures, are harmful.
  • Using pre¬≠fixed fea¬≠tures as a way of active¬≠ly exclud¬≠ing oth¬≠er browsers is lazy and anti-competitive.
  • Includ¬≠ing an unpre¬≠fixed prop¬≠er¬≠ty in antic¬≠i¬≠pa¬≠tion of even¬≠tu¬≠al stan¬≠dard¬≠i¬≠s¬≠a¬≠tion works against the prin¬≠ci¬≠ple of using prefixes
  • When browsers have work¬≠ing, large¬≠ly com¬≠pat¬≠i¬≠ble, imple¬≠men¬≠ta¬≠tions of prop¬≠er¬≠ties (like trans¬≠form) they should remove the pre¬≠fix even if the spec has¬≠n‚Äôt reached the stage required by the W3C.

How¬≠ev¬≠er, I still think using pre¬≠fixed prop¬≠er¬≠ties is the right approach. If we do as Hen¬≠ri sug¬≠gests and leave exper¬≠i¬≠men¬≠tal fea¬≠tures in exper¬≠i¬≠men¬≠tal builds (an emi¬≠nent¬≠ly sen¬≠si¬≠ble sug¬≠ges¬≠tion, I might add), the pace of progress will be much slow¬≠er. I believe that hav¬≠ing these fea¬≠tures out there and get¬≠ting peo¬≠ple using them encour¬≠ages com¬≠pe¬≠ti¬≠tion (and col¬≠lab¬≠o¬≠ra¬≠tion) between brows¬≠er mak¬≠ers, and the ben¬≠e¬≠fits of that com¬≠pe¬≠ti¬≠tion are giv¬≠en to us, the devel¬≠op¬≠ers, and passed on to the audi¬≠ences of the sites we build.

That does¬≠n‚Äôt mean that the cur¬≠rent sit¬≠u¬≠a¬≠tion is ide¬≠al; far from it. But improv¬≠ing things will involve more effort from us, the devel¬≠op¬≠ers and writ¬≠ers, the com¬≠mu¬≠ni¬≠ty in gen¬≠er¬≠al. Chief respon¬≠si¬≠bil¬≠i¬≠ties will be:

  • Com¬≠mit to sup¬≠port¬≠ing old demos that we have made.
  • Always make sure we plan our designs and builds in a way that they are not reliant on pre¬≠fixed fea¬≠tures, but degrade gracefully.
  • Don‚Äôt use an unpre¬≠fixed prop¬≠er¬≠ty before stan¬≠dard¬≠i¬≠s¬≠a¬≠tion has hap¬≠pened unless we can have rea¬≠son¬≠able con¬≠fi¬≠dence that it is safe.
  • Make sure we stress that the things we use and teach are exper¬≠i¬≠men¬≠tal and sub¬≠ject to change.

As an author and writer I’m guilty of some of the faults that are point­ed out in his arti­cle, and I promise to do bet­ter in the future.

In clos¬≠ing, I want to con¬≠grat¬≠u¬≠late Hen¬≠ri on writ¬≠ing this thought-pro¬≠vok¬≠ing post. I was ready to dis¬≠miss it as one of the lazy arti¬≠cles crit¬≠i¬≠cis¬≠ing pre¬≠fix¬≠es that occur reg¬≠u¬≠lar¬≠ly, but the argu¬≠ment was very well thought and well made, and made me change my mind a few times while I was writ¬≠ing this post.

Introducing CSS Regions

The lat¬≠est sta¬≠ble release for Chrome (ver¬≠sion 15) brings exper¬≠i¬≠men¬≠tal sup¬≠port for a new fea¬≠ture, CSS Regions. What this does is take con¬≠tent from a source, and flow that con¬≠tent into a tar¬≠get ‚ÄĒ or, more impor¬≠tant¬≠ly, mul¬≠ti¬≠ple tar¬≠gets. This allows lay¬≠outs which are more flex¬≠i¬≠ble than are cur¬≠rent¬≠ly possible.

This is still a very exper­i­men­tal fea­ture but it’s worth begin­ning to inves­ti­gate, so in this arti­cle I’m going to very quick­ly walk through the syn­tax and dis­cuss the cur­rent lev­el of implementation.

Update, 15/11/11: I realised that I over¬≠looked Microsoft¬≠‚Äôs imple¬≠men¬≠ta¬≠tion of CSS Regions, so I‚Äôve updat¬≠ed this post to cor¬≠rect that.

Update, 17/05/12: Chrome 19 (and pos­si­bly oth­er ver­sions) require you to opt-in to CSS Regions; type about:flags into the URL bar and enable CSS Regions.

Read the full article


I‚Äôve updat¬≠ed my Speak¬≠ing page to include more con¬≠fer¬≠ences, more videos, and a lit¬≠tle on my speak¬≠ing require¬≠ments and pref¬≠er¬≠ences. I‚Äôm plan¬≠ning to cut down on the num¬≠ber of talks I give in 2014 (twelve is too many), but am always open to inter¬≠est¬≠ing offers and oppor¬≠tu¬≠ni¬≠ties, so please get in touch if you‚Äôre organ¬≠is¬≠ing an event.

[#] 1 Comment . More Asides.