verture.net — left handed typing since 2001

Magnifying glass for search box

En lang rant om browsere 03.06.2004

Så siden har fået ny frakke for nylig, men den ligner slet ikke det jeg havde i tankerne. Jeg havde forestille mig noget lækkert nedtonet og ikke for sprællevende, men ikke så nedtonet og spræl-ikke-levende som det blev til.

På en eller anden måde formår jeg altid at sætte mit sigte på et design jeg ikke er i stand til at realisere, og stopper på halvvejen. Og halvvejen er altid befærdet af den samme interessante udfordring dumme bunke lort: Internet Explorer i en eller anden psykopatversion (ok, < IE6 og ganske ofte også den IE til den mac), som partout synes, at bordere på 1px da er mindst 2px brede, eller er det omvendt?

Typisk forløb for et nyt layout her på siden er:

  • Laver stangsmart design, der fungerer i alt jeg kaster efter det af browsere jeg selv bruger.
  • Kommer til at tjekke i en anden browser et eller andet sted, hvorefter det hele falder på gulvet, og undertegnede tænker, at det må hellere laves ordentligt.
  • Læser op på quirks og afvigelser for browser n, og retter sidens udseende, så det nu ser pænt ud i browser n.
  • Ser den så i IE
  • Græder...
  • Tænker, det må hellere laves pænt.
  • Hulker...
  • Banker nogle venner op på chat-halløjet der har en IE-fætter, og pelser dem sønder og sammen.
  • "Virker det nu? Jeg har lige ændret en margin i mit stylesheet."
  • "..."
  • "Hvad så med nu?"

Det går der gerne lidt tid med, og jeg ender som regel med en side der er nogenlunde hæderlig i IE v.whatever.

Så tjekker jeg det i en browser jeg bruger til daglig, og så ligner det hele hest i den.

Håndklædet kastes i ringen, jeg pakker alle dippedutterne, dingenotterne og bling-blinget sammen og ender på laveste fællesnævner.

Det er noget røv. Jeg vil have en browser til et internet. Måske umuligt, og så alligevel ikke. KHTML er en HTML layout engine udviklet af folkene bag KDE. Det er kernen i Konqueror, en browser til Linux. Apple rapsede KHTML, videreudviklede den, døbte den WebKit og byggede Safari som en ny skal til dens kommende liv i Mac OS X. Så gav de deres forbedringer tilbage til OpenSource-bevægelsen, og det er jo altsammen smukt, og næsten kvalmende pæn opførsel af Apple.

Men det virkelig smukke er, at der nu er en samlet godtekasse, som andre kan nappe og bygge en skal udenpå. Bevæbnet med min mus, og en tutorial kan jeg lave en simpel browser på fem minutter, der viser sider ligeså pænt på samme måde som Safari, og jeg kan ikke engang skrive en linie i Objective-C!

I starten af maj så en browser dagens lys der gør brug af denne godtekasse. Den hedder Shiira (japansk for Delfinfisk), og er en lovende lille sag. Lille, fordi den fylder 3,8Mb (Safari fylder til sammenligning små 15Mb), og lovende, fordi den allerede nu, i version 0.9.2., har opfyldt væsentlige dele af sit 1.0 roadmap.

En anden browser, OmniWeb til Mac OS X, der har været her længe, skiftede sidste år fra deres egen engine til WebKit, og det gjorde den væsentlig mere anvendelig. Den er ligesom Shiira stadig i beta, og derfor stadig noget buggy.

Opera omskrev deres mac-version fuldstændig, så den nu også bruger den Presto engine som Linux og Windows-versionen bruger. Den er hurtig og fylder heller ikke alverden, og i modsætning til alle tidligere versioner af Opera til mac, er den rent faktisk anvendelig. Alle de ting jeg brokkede mig over sidst er blevet rettet, og den er faktisk helt igennem hæderlig. En værdig konkurrent til ovennævnte OmniWeb, der også koster penge.

Nu plæderer jeg ikke for, at alle bruger WebKit som kernen i deres browser, men for hulen, kan man da ikke bare blive enige om én HTML engine, og så bare bygge skaller ovenpå den. Hvor svært kan det være?

Jeg er ligeglad med hvad den hedder, og hvem der har lavet den, der må bare kun være een. Den skal overholde samtlige standarder fra w3c, og findes til alle platforme. Så kan browserproducenterne bygge en skal med alle de ekstra features de kan stoppe i den, og tjene penge på det. Jeg.Er.Ligeglad.

Der findes allerede flere muligheder for at realisere det (Såvel Firefox og Mozillas Gecko som Operas Presto er vist platformsuafhængig), men det ville selvfølgelig være for nemt.

Comments

David Blangstrup | web / 9:21 / 3rd of june / 2004

Hil Bill og MIE! :D

Rasmus | web / 9:23 / 3rd of june / 2004

Problemet er jo egentlig, at der aldrig har været en eneste browser, som har understøttet satmlige standarder. I den ene browser har der været noget der manglede, i den anden noget som blev fortolket forkert, i den tredje: bugs når man brugte bestemte koder sammen osv osv.

Men jo, jeg kender kun alt for godt det forløb du lige har beskrevet. Bl.a. derfor er jeg (og dette siger jeg med skam i stemmen) begyndt at bruge tables igen. Det virker nemlig stadig bedre, hvis du vil have noget til at virke i så mange browsere som muligt. Det er bare ikke særlig fedt ...

Jonas | web / 9:33 / 3rd of june / 2004

@David: Så skruer vi lige ned for charmen, ikk'? (:

@Rasmus: Nemlig, der har aldrig været en eneste browser der har understøttet samtlige standarder, men jeg er sikker på, at hvis man kombinerede de engines der er derude ville man have en mother af en engine. Hvorfor kan de ikke bare slå sig sammen, alle de gode, rare mennesker der sidder og skruer engines sammen, jeg tror verden ville blive et bedre sted (:

Angående tables, skam dig! Skam dig, skam dig, skam dig! Men jo, tanken har også rundet mig, men jeg kan ikke få mig selv til det. Jeg får rap over nallerne af Markup-englen i mig hver gang mine tanker bevæger sig derhen (:

Andreas | web / 10:12 / 3rd of june / 2004

Er problemet ikke at der er nogen der gerne vil tjene penge?

Eller problemet er, at specifikationerne er skrevet så dårligt at der er plads til fortolkninger således at det er umuligt at skrive to ens engines.

Slutteligt vil jeg lige påpege at en HTML-engine er så godt som ubrugelig når vi taler visning i browseren. Det er vel en fælles CSS-engine du efterlyser. :o)

Jonas | web / 10:24 / 3rd of june / 2004

Men tolker WebKit, Gecko og Presto ikke både HTML og CSS, altså een engine til begge dele?

Jeg synes de kan tjene penge på at bygge alle de ekstra features på de har lyst til, men selve kernen der tolker siderne kan da godt være den samme, uden der kommer økonomiske konflikter mellem udviklerne.

Ja det synes jeg altså burde kunne lade sig gøre, men jeg er heller ikke udvikler (;

Jonas | web / 10:29 / 3rd of june / 2004

Standarder er netop lavet for at forhindre monopolisering - og i sidste ende er én fælles engine til alle browsere også et monopol - også selvom enginen er open source. Standarder er lavet for, at jeg kan bruge ét program og du et andet, og vi stadig kan tale sammen.

Problemet er ikke, at nogle browsere bruger Gecko, mens andre bruger KHTML eller WebKit. Når jeg sammenligner Konqueror med Firefox, understøtter de begge standarderne godt. Problemet er de gamle browsere. Netscape 4 falder naturligvis inden for den kategori, men dén browser er der alligevel stort set ingen, der bruger. Nej, hovedproblemet er en gammel og ikke særlig god browser, som desværre bliver brugt af omkring 90% af internettets befolkning. Gæt selv hvilken browser, jeg taler om...

Jonas | web / 12:05 / 3rd of june / 2004

@Jonas: Netop. Standarder gør at vi kan vælge frit. Hvis man lagde sig fast på en standardkerne, ville to programmer der har forskellig skal udenom kernen jo stadig kunne snakke sammen på det plan. Jeg vil ikke give dig ret i at det er monopol, ikke hvis det er opensource, og ikke hvis det er en fælles vedtaget standard. Monopol er når en gruppe har fuldstændig kontrol over produktionsmidler eller salg af et produkt. Der er ingen der har fuldstændig kontrol over produktion eller salg af et produkt i opensource. Ikke som jeg har forstået det.

Ang. Netscape 4 og den der anden browser du nævner, så ja, on both counts (:

Jonas | web / 12:12 / 3rd of june / 2004

Det, jeg taler om, er, at en fælles kerne ville kunne betyde stagnation efter nogle år. Lige nu kan udviklerne af de forskellige kerner stadig konkurrere på, hvem der først får understøttelse af de nye standarder (W3C DOM 3, XHTML 2.0 mv.). Med en fælles kerne ville konkurrenceelementet forsvinde, og vi ville risikere en langsommere udvikling. Og det er dén situation, der kunne minde meget om et monopol.

Jonas | web / 12:20 / 3rd of june / 2004

Vi kan godt blive enige om at, der er fare for at konkurrenceelementet forsvinder med een kerne. Kan man så ikke bare tvinge dem til at have en fælles nulniveau-kerne, som minimum understøtter XHTML 1, og CSS2, og så kan de konkurrere bukserne af hinanden på at implementere de allerseneste standarder? Det ville være herligt. Og det skal laves ved lov, at alle eksisterende browsere skal implementere den.

Så kunne det være jeg kunne få et sejt design på siden (:

Lone Schmidt | @ / 13:34 / 3rd of june / 2004

Jonas: "Jeg er ligeglad med hvad den hedder"

Lone: Det er jeg ikke, den skal da hedde Jonas!! :-P

Tore | web | @ / 13:00 / 4th of june / 2004

Du kunne også gøre som mig, og ignorere at der er noget der hedder IE 5.x, dvs. den renderer af l*rt på mit site. Men teksten kan skaleres op :P

Kristian | web | @ / 21:56 / 4th of june / 2004

Jeg holder med Tore. Siden jeg holdt op med at teste mine sider i IE bruger jeg ca. halvt så lang tid på at udvikle websites der overholder W3Cs standarder.

Jonas | web / 6:37 / 5th of june / 2004

@Lone: (: din gækker.

@Tore og Kristian: Ja, det tror jeg også jeg vil gøre fremover, for det er sgu' en skam at man helt mister modet bare på grund af det gamle læs lort.

› Bio (sort of)

Bio pictureverture.net is the personal website of me, Jonas Voss, and this is my blog. I've lived in Dublin, Ireland from 2005-10, currently live in London, and was born and fully customized in Copenhagen, Denmark. I write about anything that comes to mind. Really.
You can send me an email › if that's how you roll.

Disclaimer: I speak for myself, not my employer. srsly. || This work is licensed under a Creative Commons by-nc-sa License.