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


Sun­day 16 May 2010 00:14

HTML5 is the end of hy­per­text as we know it, and browsers have dumb­ed users and their in­ter­faces down to the pre-win­dows era.

The point of win­dows was that you could run mul­ti­ple pro­grams at the same time and each pro­gram could be show­ing some­thing on it's own part of the screen. In the­o­ry this means that us­ing Ob­ject Link­ing and Embed­ding (OLE) you could cre­ate a doc­u­ment in Word and em­bed im­ages in it that were seem­less­ly shown through a ded­i­cat­ed graph­ics ap­pli­ca­tion and charts that were gen­er­at­ed by a ded­i­cat­ed spread­sheet ap­pli­ca­tion, and the doc­u­ments in those ap­pli­ca­tion could again use OLE to em­bed some­thing from a ded­i­cat­ed ap­pli­ca­tion. Every part of your doc­u­ment could be han­dled by a ded­i­cat­ed ap­pli­ca­tion, in­de­pen­dant of the ca­pa­bil­i­ties of the em­bed­ding ap­pli­ca­tion. In the days of DOS be­fore that you could only cre­ate a doc­u­ment with the abil­i­ties of a sin­gle ap­pli­ca­tion, or get cre­ative in the print­ing phase and put place­hold­ers in your text and put the pa­per back in the print­er to print the im­ages and charts from oth­er ap­pli­ca­tions in the place­hold­ers be­tween the text. Win­dows moved that trick into the op­er­at­ing sys­tem and called it OLE, but in prac­tice it meant that you'd need a shit­load of mem­o­ry to run all those ap­pli­ca­tions at the same time, and the only shar­ing of those doc­u­ments was still through print­ing a fi­nal re­sult be­cause you couldn't ex­pect the re­ceiv­ing par­ty to have all the same ap­pli­ca­tions to make up the com­plete doc­u­ment with all the em­bed­ded stuff. But with­out the in­ter­net to share doc­u­ments that was hard­ly an is­sue.

The beau­ty of HTML was that it was up to the brows­er to de­cide what to do with the tags it en­coun­tered. While some browsers could show an im­age in­line, oth­ers could not and had to open an­oth­er ap­pli­ca­tion to han­dle it. And since not all ap­pli­ca­tions could han­dle all sorts of im­age for­mats the HTTP client part of the brows­er was sup­posed to ne­go­ti­ate with the HTTP serv­er about what was the best for­mat to use in that sit­u­a­tion. An im­por­tant part of the brows­er was to re­quest all sorts of doc­u­ment for­mats and then open them in ded­i­cat­ed ap­pli­ca­tions so a brows­er shouldn't be bur­dened with the task of hav­ing to im­ple­ment the han­dling of every doc­u­ment for­mat on the web. And us­ing the win­dows con­cept ded­i­cat­ed ap­pli­ca­tions could show their con­tent em­bed­ded in the brows­er.

But the pre-in­ter­net era ded­i­cat­ed ap­pli­ca­tions weren't de­signed with to­day's se­cu­ri­ty in mind, and open­ing a doc­u­ment di­rect­ly from the web could lead to ex­e­cut­ing ma­li­cious code. The ap­pli­ca­tion wouldn't know if a doc­u­ment it had to open came from a trust­ed source or some evil web­site, so the brows­er need­ed to track the sources and sand­boxed the web. Only be­cause pro­vid­ing a user with an op­ti­mized ap­pli­ca­tion that has to run out­side that sand­box would give some nasty warn­ings about a po­ten­tial se­cu­ri­ty is­sue the ap­pli­ca­tion is turned into a web­site that is crap at be­ing an ap­pli­ca­tion, and maybe a bit less crap with the help of Flash. Be­cause ex­e­cuta­bles were to easy to abuse to spread virus­es every sort of ap­pli­ca­tion we al­ready had per­fect­ly run­ning in the DOS and Win­dows days was trans­lat­ed into a sur­ro­gate we­bapp ver­sion. Which is all pret­ty use­less if that means all your valu­able stuff is in­side the sand­box any­way and out­side of the sand­box there is noth­ing left to pro­tect. The web turned into a big workaround for en­vi­ron­ments that would not al­low to in­stall soft­ware, but could not pre­vent the func­tion­al­i­ty of that soft­ware be­ing pro­vid­ed through a web­site that runs in the al­ready in­stalled brows­er, con­ve­nient­ly rid­dled with ads.

At that point the brows­er doesn't have much to de­cide. In pol­i­cy re­strict­ed cor­po­rate en­vi­ron­ments and on locked down phones there are no ded­i­cat­ed ap­pli­ca­tions to han­dle con­tent bet­ter than the brows­er would. The brows­er has to act again like the sin­gle mono­lith­ic DOS ap­pli­ca­tion that has to do every­thing by it­self, and HTML5 is try­ing to pro­vide a stan­dard to make that hap­pen. HTML5 is shaped by closed plat­forms and throws away twen­ty years of user in­ter­face con­cepts. W3C seems to have lost all it's am­bi­tion for lead­ing the web to it's full po­ten­tial. But what do you ex­pect from a com­mu­ni­ty that would prob­a­bly be ut­ter­ly amazed if it was shown them at a TED pre­sen­ta­tion what was pos­si­ble fif­teen years ago on X pre­tend­ing it was in­vent­ed yes­ter­day in Cu­per­ti­no?


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.