%HTMLlat1; %HTMLsymbol; %HTMLspecial; ]> Fronteers considered harmful
Roland van Ipen­burg
To be stolen or blogged

Fron­teers con­sid­ered harm­ful

Mon­day 22 March 2010 20:54

Ad­den­dum: By "fron­teers" I don't mean the dutch pro­fes­sion­al or­ga­ni­za­tion "Fron­teers", but more gener­ic peo­ple who very pas­sion­ate­ly try to make the im­pos­si­ble pos­si­ble by push­ing the en­ve­lope of web stan­dards in a pi­o­neer­ing, front run­ning, fron­tenders way of us­ing HTML, CSS and JavaScript in their strug­gle with the browsers. All I re­mem­ber is ppk in­vent­ing this la­bel that cov­ers this area ex­act­ly how I see it, but ap­par­ent­ly around Am­s­ter­dam the term has since gained more pop­u­lar­i­ty as the name of that or­ga­ni­za­tion. (Ad­den­dum 2: If I want to re­fer to that or­ga­ni­za­tion I'll use the term "bunch of un­pro­fes­sion­al HTML mon­keys" in­stead.)

The prob­lem with some front end de­vel­op­ers is that they be­lieve every­thing that is re­lat­ed to HTML, CSS and JavaScript should be aimed at mak­ing their job eas­i­er, be­cause it's the hard­est job in the world. They see stan­dards as sole­ly writ­ten for their line of work, to­tal­ly ig­nor­ing the fact that there are ac­tu­al­ly real de­vel­op­ers who have to im­ple­ment those stan­dards into a brows­er first, and not every sit­u­a­tion the stan­dards have to cov­er has the con­ve­nience of up­grad­ing to the lat­est mozil­la re­lease can­di­date to fix some is­sues.

Con­sid­er the fol­low­ing sce­nario. Some man­u­fac­tur­er of a piece of hard­ware wants to have a fan­cy user in­ter­face on the thing. The piece of hard­ware could be a tele­vi­sion set, a fridge, in­dus­tri­al clean­ing equip­ment, what­ev­er. The man­u­fac­tur­er can slap a lit­tle LCD touch screen on it and put a cheap board in it that pro­vides the user in­ter­face. In a per­fect world, shouldn't that user in­ter­face be build with open stan­dards like HTML, CSS and JavaScript? So the man­u­fac­tur­er sets out to em­bed a brows­er in the thing. The man­u­fac­tur­er can buy the re­quired soft­ware com­po­nents that are al­ready avail­able and put them in. But be­cause the em­bed­ded brows­er is lim­it­ed to that spe­cif­ic de­vice it could take ad­van­tage of fea­tures spe­cif­ic to that de­vice. The em­bed­ded brows­er can be ex­tend­ed to han­dle CSS that isn't stan­dard so the de­vel­op­ers of the user in­ter­face have a few ex­tra prop­er­ties to eas­i­ly im­ple­ment the spe­cif­ic fea­tures.

The CSS stan­dard takes care of this by al­low­ing ven­dor pre­fix­es. Without ven­dor pre­fix­es there is a chance that a new­er ver­sion of the stan­dard would in­tro­duce a prop­er­ty that has the same name as some­thing the ven­dor has in­vent­ed, caus­ing a con­flict and con­fu­sion. So ven­dor pre­fix­es are a good thing.

We can't get away with gener­ic -draft- or -beta- pre­fix­es be­cause our man­u­fac­tur­er could then im­ple­ment their fea­tures as a -beta- prop­er­ty, and the up­stream provider of the CSS en­gine for the em­bed­ded brows­er could sud­den­ly also in­tro­duce that same -beta- prop­er­ty for some­thing else, caus­ing the same con­flict­ing sit­u­a­tion that could oc­cur with­out ven­dor pre­fix­es. So the up­stream provider should use some­thing like -up­stream­provider- and the man­u­fac­tur­er some­thing like -man­u­fac­tur­er- as ven­dor pre­fix. And when the man­u­fac­tur­er then sells the code of it's em­bed­ded brows­er to an­oth­er man­u­fac­tur­er they can do the same thing and every up­date from the up­stream provider pass­es the work­flow with­out prob­lems.

The only prob­lem is that cur­rent­ly a large part of the browsers used for surf­ing the web on desk­top and mo­bile de­vices is based on open source en­gines, which makes it pos­si­ble for web de­vel­op­ers to find out what all their ven­dor spe­cif­ic fea­tures are and what they do. Adopt­ing all these ven­dor spe­cif­ic fea­tures to do cool things be­fore they be­come a prop­er stan­dard - and the com­pe­ti­tion does the same cool things - web de­vel­op­ers walk straight into the trap that was fu­el­ing the brows­er wars in the 90s. Ven­dor pre­fix­es aren't de­fined as be­ing la­tent stan­dards and it's just wish­ful think­ing to see drop­ping them as a so­lu­tion for eas­i­er web de­vel­op­ment, or speed­ing up some stan­dariza­tion process. But ap­par­ent­ly web de­vel­op­ers have to waste the time they gained from drop­ping sup­port for In­ter­net Ex­plor­er 6 by set­ting up the next self in­duced mess that makes their job so hard.


Book­mark this on De­li­cious

Add to Stum­bleUpon

Add to Mixx!



application away browser buy cool data days different flash game gta html ibook internet linux movie open play playstation possible run screen server side site stuff system train web windows work

Blog Posts (418)

Image Gal­leries

ipen­bug Last.fm pro­file

ipen­bug last.fm pro­file

Fol­low me on Twit­ter

Roland van Ipen­burg on face­book
Lin­ux Regis­tered User #488795
rolipe BOINC com­bined stats


Add to Google

Valid XHTML + RFDa Valid CSS! Hy­phen­at­ed XSL Pow­ered Valid RSS This site was cre­at­ed with Vim Pow­ered by Bri­co­lage! Pow­ered by Post­greSQL! Pow­ered by Apache! Pow­ered by mod­_perl! Pow­ered by Ma­son! Pow­ered by Perl Made on a Mac Pow­ered By Mac OS X XS4ALL This site has been proofed for ac­cu­ra­cy on the VISTAWEB-3000 Creative Com­mons Li­cense
This work by Roland van Ipen­burg is li­censed un­der a Creative Com­mons At­tri­bu­tion-Non­com­mer­cial-Share Alike 3.0 Un­port­ed Li­cense.
Per­mis­sions be­yond the scope of this li­cense may be avail­able at mail­to:ipen­burg@xs4all.nl.