• RSS
  • Domů na Webylon
  • Weblog
  • B.14
  • Kritika Webylonu, 2. část

    10. února 2007

    V minulé části [B.13] jsem upozornil na faktické nesrovnalosti, v této se zaměřím na filozofické rozpory a všelijaké protimluvy. Spíše než (sebe)kritika je to obhajoba.

    Co to vlastně řekl Tim

    Hned první článek kritiky [K.01] nesl nejasné sdělení.

    Celá ta stránka je jeden velký blábol, ale nepovím ti, s čím tam konkrétně nesouhlasím.

    Zdroj: Pajuc na diskusi JPW

    Článek měl rozostřit představu jediného ideálního osvíceného otce World Wide Webu. Zplodil úžasnou věc, nedalo mu to moc práce, nevyžadovalo to žádný talent, žádnou sofistikovanou činnost. To je vhodné si na začátku pochybování o pozici konsorcia uvědomit. Šéfuje mu fyzik, kterému se náhodou povedlo změnit svět. Není to zázračný vizionář, který uskutečňuje svůj velký plán. Musí to být zrovna jeho spolek, kdo vede web k plnému potenciálu?

    Závěr textu „A řekl Tim: Budiž web...“ jsem upravil.

    Ve jménu Chamurappiho, Webylonu i Kritiky W3C

    Podobným způsobem jako „víra v konsorcium“ [K.06], možná funguje i celý Webylon.

    1) Praxe je špatná
    Okázale prohlašuji, že celá stávající marketingován mašinérie oslavující „webové standardy“ je špatná. Přestože funguje. Proč se to a to říká a používá? Protože jsou všichni zaslepení a jen já vidím dál?
    2) Učení se webdesignu
    Vydávám poučné články. Jak oběť odhaluje dříve neznámé informace, rostou její sympatie k mému úhlu pohledu. Nepřipouští si, že část těch cenných informací stvořilo či prosadilo samo konsorcium.
    3) Bobřík nevalidity
    Oběť už umí. Ze svých webů odstraňuje oranžovobílé ikonky Valid! od W3C. A protože umí, tak si věří. A protože si věří, tak nevěří těm, kdo v nekompetentnost konsorcia nevěří.
    4) Aura profesionality
    Oběť (nyní už profesionál) je na vrcholu poznání. Cítí potřebu šířit víru dále. Cítí potřebu poučovat nezasvěcené o „správné věci“.

    Takto položené argumenty týkající se víry a důvěry jsou zjevně dvojsečná zbraň. Sekat s ní své věrné a loajální oběti ovečky kolegy nehodlám.

    Uznávám, že jsem tuto složku své argumentace zřejmě trošičku přepísknul. Většina těch, kdo si myslí, že dodržují W3C specifikace, není posedlá slepou vírou. Je to jen prachobyčejná důvěra v učebnicové vědomosti. Autoři učebnic také většinou nejsou žádní kněží či šamani tancující kolem plápolajícího validátoru. Přestože se tak občas vyjadřují.

    Článek „Síla víry“ jsem vyřadil.

    Víra asi ano, ale ne v sira

    Pomocí opakovaných keců o víře [K.16] jsem se snažil vytvořit společenské klima uznávající, že na stěžejní otázky neexistují jen jediné správné odpovědi. Prosazoval jsem názorovou pluralitu.

    Nyní vidím věci jinak. Na řadu otázek dokážu odpovědět nehorázně rázně a přesně. Svým způsobem teď sám znám a šířím jediné správné odpovědi. Stále mám rád pluralitu, ale vidím ji na jiné úrovni než dříve. Hromada věcí, o nichž by se mnou chtěly zbytky evangelizátorů polemizovat, je z mého pohledu podobně neotřesitelná jako malá násobilka. Možná je to chyba. Možná jsem sám podlehl nějakému druhu té „víry ve standardy“, která mi zatemnila úsudek. Nedokážu posoudit.

    Článek „Víra v sira“ jsem rovněž vyřadil.

    Roztržka v kaskádovém ringu

    Můj popis historie box modelů [K.10] kritizuje především box model definovaný v doporučení CSS 2. Zmiňuje i, že „správný“ box model byl definovaný už v CSS 1, tedy dříve, než se k jeho implementaci dostaly Netscape a Microsoft. Přesto článek odsuzuje W3C.

    Hromada mých odpůrců v tom zjevně cítí rozpor. Namítají „A není vinen spíše Netscape tím, že porušil CSS 1?“, občas mě pak obviňují z demagogie [B.05] nebo z omylu [B.07]. Ano, v roce 1997 skutečně Netscape porušil doporučení. Ano, porušil jej i Microsoft. Ano, ano, ano, oba dva porušily „posvátný webový standard“. To je z mého článku na první pohled zřejmé, nic z historie netajím, nezamlčuji, nemlžím.

    Asi chápu, v čem je problém. Při čtení Evangelia zapomnění [K.05] část čtenářů přistoupila na férový pohled: „OK, konsorcium a výrobci prohlížečů jsou si rovni, W3C také dělá bordel“. S tímto pohledem pak koukají na celou historii. U box modelů to byl Netscape, kdo jako první zapříčinil nekompatibilitu, tak proč chrlím lávu na konsorcium?

    Protože si konsorcium a výrobci prohlížečů rovni nejsou. Má-li W3C požívat titulu standardizačního tělesa, musí nést za své kroky vyšší odpovědnost než ti, kdo se jeho standardy řídí. Netscape porušil CSS 1, ale tímto svým činem zásadně ovlivnil celý World Wide Web. Konsorcium se s „chybou“ Netscapu nedokázalo vyrovnat. Dělalo, že neexistuje, což je mnohem závažnější provinění.

    Správný standardizátor nejen, že by neměl konflikty vyvolávat, on by měl i ty existující urovnávat. To je přeci jeho poslání — vnášet řád. W3C je vinno tím, že vzniku reálného problému nepředešlo. Příležitost mělo.

    Bdělý vodopád

    V článku o CSS [K.21] jsem se nečekaně rozpovídal o obecnosti:

    Mocná kombinace živlů HTML+CSS+JS nabízí ohromnou rozmanitost. Prostor pro tvořivost, sebeuplatnění, představivost a originalitu. Ten se chtě nechtě zmenší, jakmile od sebe jednotlivé technologie hermeticky oddělíte.

    Tudíž, budete-li ctít svatý ideál obecnosti, nebude vás omezovat?

    Nebude. Ovšem pozor! Jen při vhodně navržených technologiích.

    Článek „Sen vodopádu“ měl kritizovat především vztah k prapůvodnímu pojetí kaskádovosti: na jednu stranu je stylovací jazyk komplikován natolik, že se uživatelské stylopisy nelepí, na stranu druhou se brání zavádění užitečných „programátorských“ komplikovaností. Proti obecnosti a oddělení vrstev nic nemám, naopak jí fandím, a proto jsem závěr svého textu upravil.

    Oběť Netscapu 3.0

    V nekompatibilním článku o nutnosti zpětné kompatibility [K.32] píši:

    Přeci i kdyby Internet Explorer 6 podporoval XHTML přesně tak, jak konsorcium chce, navždy tu bude ta možnost, že na váš web přijde někdo někdo s Netscapem 3.0. S naprostou stařešinou, která stejně, jako nepodporuje stylopisy, nezná ani XHTML.

    Zrovna trojková verze Netscapu nebyla dobrý příklad pro poučování o ideálu universálního přístupu. Ten ideál je dobrá věc. Jenže v historii WWW už došlo k pár karambolům, které svým způsobem představovaly tlustou čáru, tedy sprosté přibouchnutí dveří před nosem nevinných návštěvníků.

    Přibouchnutím dveří pro Netscape 3.0 je kódování UTF-8. Při výchozí instalaci jej nezná. Stránky užívající toto kódování a zároveň znaky s diakritikou jsou v něm dost špatně čitelné.

    Vezmu si třeba ten Netscape 3.0 a jdu do světa:

    Pár čtenářů si všimlo, že Webylon.info užívá UTF-8. Jak to, že v Netscapu 3 funguje znamenitě? Přiznávám, že jsem mu trošku pomohl. Tento web je dodáván v UTF-8 pouze tehdy, díváte-li se na něj v Exploreru, Mozille nebo Opeře. Ostatním prohlížečům dorazí v ISO-8859-2. Takže v Netscapu 3 opravdu běží.

    Omlouvám se za tento optický klam. Pointa článku na něm nezávisí. Netscape 4 už UTF-8 umí, takže jsem „Explorerovu oběť“ upgradoval.

    Tragikomedie o CONCURu

    Když si Jirka Kosek všimnul, že jsem se začal šťourat ve vztahu SGML a XML [K.24], pustil se do mě. A já se pustil do něj [B.08]. Pěkně jsme si o tom popovídali na diskusi JPW. Celý náš spor byl ale mimo téma.

    Kosek mi vytýkal, že SGML CONCUR se vším všudy není v XML použitelný. A já mu na to odpovídal, že SGML CONCUR se vším všudy není zavrženíhodný. Dozvěděli jsme se, že existuje něco jako MuLaX a že je to hezký/ošklivý jazyk. Fajn. Jenže o to mi zpočátku vůbec nešlo. Tragikomedie o Normě vůbec neměla hájit SGML CONCUR se vším všudy. O co tedy šlo?

    Chamurappi
    Splňuje CONCUR podmínky pro to, aby mohl být označen za „celosvětově škálovatelný systém zabraňující kolizi v pojmenování elementů“? Pokud ne, v čem je háček?
    Jirka Kosek
    Každý pohled má při použití CONCUR svůj vlastní !DOCTYPE a ten může být použit jako unikátní identifikátor. [...] Technicky by určitě jmenné prostory šly na CONCUR založit, ale muselo by se např. říci, že je zakázané překřížené značkování. Jenže se to před 10 lety neudělalo, takže je teď pozdě.
    Zdroj: diskuse JPW o CONCURu

    V tom jsme se nakonec zjevně shodli.

    Základní princip jmenných prostorů tu byl. XML nestaví na základech již hotového, ale převytváří již vytvořené. Tečka. „Tragikomedii o Normě“ neupravím, neb mám pravdu.

    Důrazně upozorňuji, že celá má teorie okolo CONCURu nepočítá s tím, že veřejný identifikátor v <!doctype> je využitelný jako unikátní identifikátor, ale pouze s tím, že by býval mohl být využitelný, kdyby to tak někdo zadefinoval. Ta definice není ani v SGML, ani v XML, což mi Kosek vmetl do tváře:

    Z článku mi připadá, že Chamurappi asi standard SGML nečetl, můžu mu ho zapůjčit. Alespoň tam zjistí, že jeho interpretace toho, co by CONCUR mohl a nemohl, jsou jeho fantazie, standard o ničem takovém nemluví.

    Zdroj: diskuse JPW o CONCURu

    Na rozdíl od většiny přátel XHTML jsem si plně vědom stávající nesměrodatnosti textu „-//W3C//DTD XHTML 1.0 Strict//EN“.

    Podpora drakonického života

    V článku popisujícím temnou tvář drakonismu [K.34] počítám s tím, že X(HT)ML prohlížeč je povinen selhat na fatální chybě.

    Čím v tom tvém článku hodláš doložit, že prohlížeč musí na ne well-formed dokumentu selhat?

    Zdroj: thingwath, diskuse JPW týkající se XHTML

    Pár dní před thingwathem stejně zvláštní argument předložil i Jirka Kosek:

    Standard XHTML nikde neříká, že dokument musí být WF, aby se mohl zobrazit. Jen říká, že se dokument musí parsovat podle pravidel XML, a že se musí zkontrolovat WF, ale naštěstí nikde není řečeno, že by se dokument (nebo jeho část) nesměl zobrazit, pokud je WF porušena.

    Zdroj: Jirka Kosek, delší diskuse JPW týkající se XHTML

    Cením si neotřelosti téhle kacířské myšlenky. Přiměla mě k důkladnému zamyšlení, jestli náhodou není ten proslulý drakonismus jen dalším hluboko zakořeněným mýtem. Zkoumal jsem, zkoumal. Mýtus to bohužel není.

    Specifikace hovoří jednoznačně:

    Striktně vyhovující XHTML dokument je XML dokument.

    Zdroj: Doporučení XHTML 1.0
    XML dokument
    Datový objekt správně sestavený dle definic v této specifikaci.
    Požadavek správného sestavení
    Pravidlo platící na všechny správně sestavené dokumenty. Porušení požadavků správného sestavení jsou fatální chyby.
    Fatální chyba
    Chyba, kterou vyhovující XML procesor musí odhalit a nahlásit aplikaci. Po setkání s fatální chybou smí procesor pokračovat ve zpracování za účelem nalezení dalších chyb a smí tyto chyby nahlásit aplikaci. Kvůli podpoře opravení chyb smí procesor nezpracovaná data zpřístupnit aplikaci. Nicméně jakmile je odhalena fatální chyba, procesor nesmí pokračovat v normálním zpracování.
    Zdroj: Doporučení XML 1.0

    Slušný rozbor historického pozadí sepsal před třemi roky Mark Pilgrim.

    Poodstoupím-li pár kroků od specifikací: I kdyby fatální chyby neměly být de jure fatální, v praxi v existujících XML procesorech fatální bývají. Málokdo si troufne status quo záměrně nabourat. Přivodil by si tím spoustu potíží a nic úžasného by nezískal.

    Můj článek „Podpora života“ shrnuje zejména praktické problémy s X(HT)ML prohlížeči. K nim bohatě stačí, že XML specifikace naznačuje oprávněnost trestu smrti. Říkám „ten a ten prohlížeč tady (omylem) zabíjí a tady (omylem) nechává žít“. Zda jde o justiční omyl, to vyhodnocuji dle mého pochopení specifikace. Pokud jsem ji pochopil špatně, pak se pouze prohodí role, ale nebezpečná situace nezmizí. Názorně:

    IE a Mozilla jsou naopak při čtení a zobrazování spíše papežštější než papež.

    Zdroj: Jirka Kosek, delší diskuse JPW týkající se XHTML

    Klidně mě mučte. Do toho! Donuťte mě uznat, že drakonismus neexistuje. Že prohlížeče jsou vadné. Že dokumenty se zabíjet nesmí.

    A přece se zabíjejí. Článek zůstane nezměněn.

    Očista Kritiky W3C dokončena

    Ale že jí to sluší, co?