• TwitterRSS
  • Domů na Webylon
  • Blog
  • Užívat si ticha

    12. března 2005

    Veřejná diskuse pokračuje. Sice tišeji než jsem očekával, leč kvalitně. V tomto článku shrnu vybrané reakce veřejnosti, které jsem zaznamenal do 28. února 2005.

    V očích mnoha čtenářů jsem si vytvořil profil agresora, který nenávidí vše, co oni považují za svaté. Jsem již s tímto neadekvátním zařazením smířen. Vím, že takový je bohužel osud každého, kdo se snaží kácet modly. Nicméně nepřátel se nebojím, na množství nehledím :-)

    Překvapení!

    Začátkem loňského prosince byla problematika postupného vykreslování XHTML kriticky probírána v zahraničí, konkrétně na weblogu Anne van Kesterena. Do komentářů se, po přečtení Webylonu, projevil i jeden človíček, českým webmasterům dobře známý:

    Takže, vypnul jsem mé UMTS připojení, připojil můj počítač přes BT k Siemensu SX1 s GPRS, vyčistil vyrovnávací paměť Firefoxu 1.0 a podíval se na moji stránku. Překvapení! Je to XHTML 1.1, podávané jako application/xhtml+xml a hlavní text se zřetelně vykreslil první, menu napravo se zpozdilo asi tak o sekundu. Nejsem si tak jistý, že Firefox nepodporuje postupné vykreslování ;)

    Autor: Radek Hulán, v komentářích ke článku Mozilla FAQ on 'application/xhtml+xml'

    Má reakce: Jsem šokován. Nikomu jinému totiž Mozilla XHTML postupně nevykresuje. Sami její autoři tak tvrdí na své FAQ stránce. O tom ostatně je ten zmíněný článek. Jsou jen dvě možná vysvětlení: Buď si Hulán potají napsal vlastní XML parser pro svůj Firefox, nebo si naopak ani nebyl schopen vyhotovit pokusnou stránku se záměrným zpožděním.

    Kritika kritiky W3C

    Diskusia je dobra, ale obracat realitu a vyvoj je neschopnost vidiet dalej a neschopnost chapat, ze W3C je iba prostriedok, nie ciel.

    Opytajte sa autora Webylonu za 5 rokov. Ci stale bude zaspaty v roku 1998 a servirovat rozne verzie stranok roznym prehliadacom.

    Autor: dusoft, v komentářích ke článku Webylon na spravodaji

    Reakce na chápání W3C jako prostředku: Já jsem doporučení konsorcia nikdy jako cíl nechápal. Nenapadlo mě, že budu sám někdy obviněn z takovéto zaslepenosti. Třebaže je část K možná tou nejtvrdší souvislou kritikou W3C na WWW, můj vztah ke konsorciu zůstává neutrální. Necítím vůči němu ani nenávist, ani odpor. Avšak ani vděčnost a ani respekt.

    Reakce na zaspalost: Oligopolní prostředí z trhu prohlížečů World Wide Webu nevymizí [W.07], proto se i za pět let vyplatí servírovat každému z nejrozšířenějších kód vyladěný přesně pro něj. Stejně tak, jako se to vyplatí teď, a stějně tak, jako se to vyplatilo i v roce 1998. Je to pragmatické řešení vhodné pro každou dobu.

    Viac sa mi vidi predstava, ze aspon nejaky zaklad dodrzuju vsetci a snahy odputat sa od toho chaotickeho rozvoja, kedy sa trosku zivelne presadili niektore znacky, ku comusi, co aspon trosinku zavana koncepciou

    Autor: rony, v komentářích ke článku Webylon na spravodaji

    Má reakce: Živelné prosazení značek vedoucí k chaosu, to je také populární mýtus. Skoro každý, kdo ho papouškuje, dovede vyjmenovat přesně dva „zářné příklady“: <blink> a <marquee>. Tím výčet končí. Nikdo nezmiňuje, že stejně vznikly i elementy <div> a <span>.

    Netscape 4 v roce 1997 přišel se svojí propracovanou koncepcí vrstev: elementy <layer> a <ilayer>. Verze 3 byla také prvním prohlížečem, který uměl dělit texty do sloupců. Zavedla si pro tyto účely element <multicol>. Nebýt existence Internet Exploreru, rozšíření Netscapu by se ujala a časem by možná skončila v nějakém doporučení. Současný webdesign by byl úplně jiný. Ne horší, ne lepší. Jen jiný.

    Hodnotíte-li historické spory, nezapomínejte prosím na fakt, že učebnice dějepisu píší vítězové. Koncepce ze strany konsorcia bývá často antikoncepcí, která brání početí jiných směrů vývoje. Ne horších, ne lepších. Jen jiných.

    Opakujem znovu a dokola: vyznam institucionalizacie tu nejaky je. pokus vytvorit dohodu a pokus drzat sa jej ma svoj zmysel

    Autor: rony, v komentářích ke článku Webylon na spravodaji

    Má reakce: Jistě, že doporučení W3C význam mají. Dohoda samotná však není dostatečným cílem. Podívejte se třeba na Mnichovský diktát. Extrémní relativisté teď pochopitelně namítnou, že je nakonec dobře, že Mnichovský diktát byl, neboť zabránil krveprolití. Všechno zlé je pro něco dobré. Ano, ale samo se to a priori dobrým nestane.

    V reakci na čtvrtý bod Evangelia zapomnění [K.05]:

    Řekl bych, že atribut readonly má smysl i u <textarea>, takže bych řekl, že ten odstavec tam je zbytečně.

    Autor: Bretik

    Má reakce: Není tam zbytečně, protože <textarea> je úplně jiná značka. Může mít úplně jiné vlastnosti, má svůj vlastní předpis v DTD. Řeč byla jen o variantách značky <input>. Navíc v případě <textarea> prosadila atribut readonly až čtyřková verze Exploreru.

    Často argumentujete změnou toho či onoho v nové specifikaci (x)Html. No a co? Vždyť staré stránky ve své hlavičce vždy uvádějí, jakou specifikaci HTML používají, kombatibilita tedy není narušena. A podobných bodů je víc. Doporučuji nepouštět se do kritiky W3C, pokud neznáte alespoň základní principy fungování webu...

    Autor: nepodepsal se

    Reakce na kompatibilitu: Pozorný čtenář by si všiml, že konsorciu vytýkám především to, že zavádí zbytečné nekompatibility do věcí, s nimiž přišly prohlížeče dříve než ono. Nekompatibility samotných doporučení mezi sebou jsou druhotné. A ohledně té rozlišitelnosti: Značka <!doctype> je podle SGML standardu ISO 8879:1986 určena k ověřování platnosti proti libovolné DTD, nikoliv k rozlišení verze HTML. K tomu sloužíval atribut version u značky <html>, než ho konsorcium zrušilo.

    Reakce na osobní útok: Doporučuji nepouštět se do kritiky, pokud si kritizovaný text nepřečtete.

    Reakce na základní principy: Představte si situaci, kdy by nekompatibility byly skutečně pouze mezi doporučeními samotnými. Představte si také, že by je prohlížeče maximálně dodržovaly. World Wide Web by byl pak perfektně centralizovaný kolem W3C. Navíc by byl uživatel nucen kvůli novým doporučením vždy stahovat nový prohlížeč, čímž by fatálně utrpěla spolupráceschopnost. Toto jsou ty základní principy, které neznám?

    Inspirováno Lackylogem

    Pan Václav Šír (známý také jako llook) mě nečekaně potěšil, když sepsal článek inspirovaný tímto mým webem. Doporučuji vám přečíst si ho celý. Dovolím si citovat jeho útržky, jež považuji za hodné mé reakce:

    Je to velmi zajímavé čtení, ale trochu dlouhé, asi proto se o tom moc nepíše [1]. Samotné nabízené řešení moc neřeší, ale o tom už psali jiní [2].

    Nejsem si jistý, ale nebyla licence [Internet Exploreru] už tehdy [ve verzi 1.0] vázána na vlastnictví licence k Windows (tedy žádné zdarma [3])?

    Párkrát už šla e-evoluce takto: Dobrý nápad, ale implementace nic moc → nápady na zlepšení → doporučení, které původní implementaci překonalo. Nejlepší by bylo, kdyby W3C plnilo tu poslední funkci. Občas tomu tak i je, vzniklo tak kupříkladu XML [4].

    Podpora XHTML vůbec není dobrá. V majoritním prohlížeči je velmi slabá [5] podpora i pro XML samotné.

    Výhody to [XHTML] může přinášet pouze autorovi kódu [6]. A pokud to autorovi přináší výhody a zároveň to neobtěžuje uživatele, tak je pádný důvod ho použít, třebaže zatím [7] nevyužije celý jeho potenciál [8].

    Autor: Václav Šír, v článku Inspirováno Webylonem

    1) Podle mých statistik každý návštěvník přečetl v průměru jedenáct článků (nejčastěji z části K) a unikátních návštěvníků jsem zaznamenal přes tisíc. Důvody, proč se o Webylonu tak usilovně mlčí, bych hledal jinde.

    2) Nevšiml jsem si, že by o řešení někdo něco pořádného napsal. Ani já jsem o něm zde moc nenapsal, což je zřejmě důvod, proč bylo mnoha lidmi nepochopeno.

    3) Při přečtení této věty jsem si představil čokoládovou tyčinku honosící se nápisem „20 % zdarma“. Těch 20 % je také pevně vázáno (čokoládou) na zbytek tyčinky. Výrobce chtěl svým tvrzením pouze vyvolat dojem, že náklady na hmotnostní přírůstek nepromítl do koncové ceny. U počítačových programů je to podobné. Koneckonců, SpyGlass tenkrát ten spor s MS vyhrál právě proto, že byl deklarovaný zisk z Exploreru nulový.

    4) Dovolím si nesouhlasit. V případě XML pochází i prapůvodní myšlenka od konsorcia. Rovněž v tomto případě byl postoj W3C divný. První veřejně rozšířená implementace toho metajazyku byla v Exploreru 4, v podobě tzv. kanálů CDF. Jejich syntaxe odpovídala takřka do puntíku tehdejšímu rozpracovanému návrhu XML. O rok později však vyšlo doporučení XML 1.0, které technologii CDF pohřbilo. Během posledních měsíců byla totiž XML deklarace změněna z <?XML ... ?> na <?xml ... ?>. Velikost písmen značky <!DOCTYPE> změněna nebyla. Pár měsíců nato představil Netscape RSS.

    5) Nikoliv. Explorer 6.0 úspěšně zvládá i poměrně složité DTD konstrukce [K.17]. První podpora XML byla již v pětkové verzi.

    6) Jedinou výhodou, o níž pořád evangelizátoři hovoří, je, že jsou „nuceni“ dodržovat XHTML doporučení. To je vtipně zformulovaná rekurze. Praktický přínos stále nevidím. Webová stránka je jen výstup, webmaster sám ji nemá důvod obecně zpracovávat.

    7) Zatím? Dodržovaná syntaxe XHTML, byť s pravidly kompatibility, je správně sestavená podle XML. Za kolik desetiletí se projeví výhody tohoto zápisu?

    8) Co je, respektive bude, onen „plný potenciál“? Jako marketingový slogan konsorcia to zabírá. Toť vše. Podpora staronových MathML a SVG není a nikdy nebude kvůli malé poptávce široce využitelná. To je zásadní problém modulárnosti XHTML. Spolehlivě půjde používat pouze základ, zbytek skončí v zapomnění. Na historii MathML a SVG vidíte, že on už tak vlastně jednou skončil.

    Postupné vykreslování: podle mě to [XHTML] neznemožňuje. [...] To, že některý program nejdříve načte kompletní strukturu a pak s ní teprve pracuje, je jen a pouze nedostatkem toho kterého programu [9]. [... popis postupu parsování ...] Nevidím problém po kterémkoli kroku sdělit prohlížeči: „stuktura změněna, koukej to překreslit.“ [10]

    Pro správné zpracování XML dokumentu není nutné znát jeho DTD [11].

    ... dokážu si představit dobu, kdy mi mobilní telefon nějakou HTML stránku špatně zobrazí, protože si nesprávně sestaví strukturu dokumentu [12].

    DOM, tak jak je navržen [13], nepracuje se zdrojovým kódem dokumentu, ale s jeho strukturou, takže mi to [vlastnost innerHTML] do něj ani moc nezapadá, stejně jako document.write [14].

    Autor: Václav Šír, v článku Inspirováno Webylonem

    9) Jazyk XHTML také oficiálně znemožňuje použití metody document.write(). Proč? Protože generuje obsah při rozebírání. HTML prohlížeč musí tuto metodu interpretovat hned, jak na ni narazí. Stejně tak každý jiný příkaz JavaScriptu, který není v proceduře. U XHTML dodaného s XML MIME typem se však čeká na dotažení, do té doby nejsou rozebíraná data přístupná.

    10) Ale o překreslení přeci vůbec nejde. Jde o určení správné sestavenosti. Popsaný algoritmus by sice byl funkční, nicméně by nedodržoval doporučení. Správné sestavení vyžaduje uzavřenost všech značek a to během načítání není. Ani nemůže být. Nekompletní dokument proto nelze rozebírat.

    11) Skvělé inspirativní tvrzení. Vznikl díky němu článek Technologická inverze [K.17]. Bohužel, zdaleka není pravdivé.

    12) Není žádoucí, aby se tak tupé mobilní telefony ujaly. Dokud bude většina stránek psaných v HTML, bude kladen na výrobce koncových zařízení tlak, aby tento „starý“ jazyk podporovali. Krom toho je rozebírání XHTML mnohem složitější [K.17] než rozebírání HTML.

    13) Ano, tak je navržen. Mohl být navržen jinak. Lépe. Převod objektu na řetězec a naopak je přeci vcelku elegantní postup. V moderním vyšším programování je dobře znám pod pojmem serializace.

    14) Proč tedy metoda document.write() v DOM 1 i 2 je a innerHTML nikoliv?

    Poslední část Šírova článku se týkala nevhodné modelové situace ve Velké kupce sena [K.12]. Na totéž mě upozornil i Marek Prokop. Nyní už je onen odstaveček opraven.

    Korekce

    Velmi si vážím reakcí pana Adama Haunera z Czilly. Zjevně má o historii Netscapu a Mozilly vynikající přehled. S jeho pomocí jsem opravil několik nepřesností.

    Za nejzajímavější připomínku považuji tuto:

    Citace z Čaroděje z Nombasu [K.11] před opravou:

    V roce 1992 vznikla společnost Nombas. Brzy po svém založení vyvinula interpretovanou zjednodušenou odvozeninu kompilovaného jazyka C zvanou CEnvi.

    Toho si koncem roku 1995 všiml Brendan Eich z Netscape Communications a dostal geniální nápad: doplnit prohlížeč o jednoduché skriptovací rozhraní. Svoji mutaci CEnvi nazval nejprve Mocha, později byla přejmenována na LiveScript. Z marketingových důvodů ani tento název nevydržel.

    Myslím, že to není přesné, spíše zavádějící. Cituji odpověď Brendana Eicha na dotaz, zda byl při tvorbě JavaScriptu inspirován prací Nombasu či došel k podobným výsledkům sám:

    Nikdy jsou neslyšel o CEnvi apod. až do doby, než jsme vzali JS k organizaci ECMA na sklonku roku 1996. Tam se objevil Brent Noorda z Nombasu a říkal „Ach ano, my děláme JavaScript léta.“ Hm, OK.

    Následně jsme standardizovali za přispění MS, Borlandu, Sunu a Nombasu, ale cílem všech našich změn bylo, aby implementace MS a Netscapu souhlasily, někdy s přidáním věcí jako === (identita) a !== (neidentita). Během mé práce na ECMA-262 lidé z Nombasu příliš nespolupracovali, i když možná začli po té, co jsem opustil JS skupinu koncem roku 1997, abych pomohl založit mozilla.org.

    Autor: Brendan Eich
    Autor: Adam Hauner

    Čaroděj z Nombasu a čaroděj z Netscapu si tedy byli podobní zřejmě jen náhodou. Tímto se omlouvám Brendanu Eichovi za zkreslení faktů. Článek jsem upravil, avšak přejmenovávat jej nebudu, neboť Nombas byl přeci jen první :-)

    Těším se na další reakce.