Inspekce u Safari

Na SeaMonkey a jeho předchůdci Mozilla Suite jsem vždy oceňoval integrovaný DOM Inspector, nástroj pro zkoumání zpracovaného kódu stránky včetně CSS, a také propracované Page Info nabízející informace o formulářích, odkazech a obrázcích. Pokud se k této dvojici přidalo rozšíření LiveHTTPHeaders zobrazující operace protokolu HTTP, měl jsem dostatečné informace o stránce i komunikaci s webovým serverem. Prostě spokojenost. Pro Firefox existuje všemi vychvalovaný Firebug, ale jelikož s oblibou Firefox používám výhradně pro běh kalendáře od Google, ještě jsem Firebug nevyzkoušel.

Martin Hassman se mi včera pochlubil, že má novou lásku, že se zamiloval: nový Web Inspector v Safari. Na blogu vývojářů Safari jakýsi xenon napsal o novinkách a já vybírám:

  • předělaný vzhled,
  • zobrazení všech zdrojů zahrnutých ve stránce, rozdělených do kategorií,
  • vyhledávání ve všech textech stránky,
  • chybovou konzolu pro zobrazování chyb a varování,
  • panel síťového provozu zobrazující na časové ose graf načítání jednotlivých prvků stránky včetně hlaviček dotazů a odpovědí protokolu HTTP,
  • graf shrnující velikost stránky a jejích komponent a to včetně celkového času,
  • zobrazení zdrojového kódu HTML se zvýrazněním syntaxe,
  • a upozorňování na chyby HTML a JavaScriptu přímo v jejich kódu.

Continue reading “Inspekce u Safari”

Rybíz jako brusinky

Období sklizní jahodových plantáží na Plzeňsku skončilo, třešně letos mají své nejlepší časy téměř za sebou a začíná dozrávat červený rybíz. Máme jej každoročně více, než stihneme sníst a takže řešíme co s ním. Možností je pár:

  • rybízový koláč nebo bublanina,
  • kompoty a marmelády,
  • šťáva,
  • a nebo ještě nějaké jiné mlsání.

Koláče topí rybíz v cukrech, kompoty i marmelády z rybízu jsou obvykle příliš kyselé, šťáva se špatně konzervuje. Naštěstí polovička našla recept na netradiční rybízový kompot, který chutná jako brusinky. Recept není žádným rodinným pokladem, je bez problémů k nalezení na Webu. Přesto bych jej rád doporučil, neboť jsme jej vyzkoušeli, výsledek je prý velmi chutný a příprava docela jednoduchá. Co je potřeba:

  • 2 kg červeného rybízu,
  • půl litru vody,
  • půl litru cukru (krystal, krupice),
  • kousek celé skořice,
  • 125 ml tuzemského rumu,
  • několik uzavíratelných sklenic.

Rybíz odstopkujeme a nasypeme do vody v hrnci. Přivedeme je k varu a vaříme 10 minut. Následně přidáme kousek celé skořice, všechen cukr a znovu vaříme za stálého míchání 10 minut. Pak už hrnec odstavíme, přidáme rum a zamícháme. Nakonec slijeme do sklenic a zavíčkujeme.

Až se zima zeptá, co jste dělali v létě, zajdete do spíže a pochutnáte si na rybízových brusinkách. A někdy příště o marmeládách…

Firefox 1.1 a další přeskočené verze

Tak už to udělali všichny. Všechny prohlížeče vznikající v bezprostřední blízkosti Mozilla.org už přeskočily některou svoji plánovanou verzi. Netscape 6.5, Firefox 1.1, Camino 1.1, Mozilla Suite 1.8 a SeaMonkey 1.5 byly netrpělivě očekávané verze, tvrdě se na nich pracovalo a přesto nikdy nespatřily či nespatří světlo světa. Tedy se svým původním číslem verze.

Netscape 6.5 nebyl nikdy hlasitě oficiálně ohlášen, ale všeobecně se očekávalo, že tak bude označena verze s kódovým jménem MachV založená na Mozille 1.0. Jelikož se jednalo o komerční prohlížeč, kde se vše tají až do vydání, objevilo se jen velmi málo potvrzení z důvěryhodných zdrojů, včetně pěkného trička rozdaného vývojářům. Protože předchozí šestková vydání Netscape měla velmi pošramocenou pověst a nová verze byla zásadně lepší, byla nakonec vydána v květnu 2002 jako Netscape 7.0.

Těsně před dokončením Firefoxu 1.0 na podzim 2004 chtěla CZilla zařadit opravu chyby otravující české uživatele. Už už to vypadalo, že uspějeme, ale nakonec byla oprava zařazena až do připravovaného Firefoxu 1.1. Ten měl být vydán v březnu 2005 a především aktualizovat Gecko ve Firefoxu na verzi 1.8. Vydání 1.1 se postupně posunovalo, až v létě chlapci v Mountain View došli k přesvědčení, že velké množství změn si zaslouží větší nárůst než o 0.1. Mozilla oznámila změnu o 0.5 a na konci roku vyšel Firefox 1.5, kde se čeští uživatelé dočkali zmíněné opravy.

Po vydání Camina 1.0 v roce 2006 prohlásil Mike Pinkerton, vedoucí vývoje, že 1.0 nemůže být perfektní, neb od toho je Camino 1.1. Vývojářům ostatně zbylo pár chyb a vylepšení, které se do první verze nevešly. Letos, měsíc před vydáním Camina 1.1, vývojáři naznali, že byli pilní jak včeličky a že mají hotovo více, než si zatím mysleli a rozhodli se povýšit verzi a vydat jej jako Camino 1.5. Uživatelé se tak nikdy nedočkají naprosto perfektní verze =)

Nejbrutálnějším způsobem byla přeskočena Mozilla Suite 1.8: Mozilla Foundation se rozhodla zcela pohřbít Mozilla Suite ve jménu Firefoxu. Ač připravovaná verze 1.8 nebyla dokončena pod svým jménem, několik nadšenců ji dokončilo a vydalo v lednu 2006 jako SeaMonkey 1.0. Následovala v podstatě lehká aktualizace ve verzi 1.1, za kterou mělo přijít SeaMonkey 1.5, založené na Gecku 1.9 a přinášející větší změny, jako např. přechod na toolkit využívaný Firefoxem a Thunderbirdem. Na konci května se vývojářům přechod na nové technologie povedl a vzhledem k dalším změnám bude nakonec vydáno SeaMonkey 2.0.

Možná vývojáři chtěli zvýšením uživatelům jen naznačit:

  • Nebojte se! Nová verze nemá s předchozí nic společného.
  • Zpoždění jsme nabrali kvůli mnoha skvělým novinkám.
  • Když se ohlédneme zpět na svou práci, musíme se pochválit.
  • Máme novější technologie a to se musí oslavit.

Ač číslo verze je jen číslem verze a samo o sobě lepší produkt nedělá, je často zvyšováno i za cenu zmatení novinářů a uživatelů.

Zastavit inovaci Webu?

Molly E. Holzschlag je dáma, jejíž příjmení nevyslovím na poprvé správně. Napsala přes 30 knížek týkajících se webových technologií, jistou dobu vedla Web Standards Project, aktuálně spolupracuje s Microsoftem při vývoji Internet Exploreru a také přednáší na řadě amerických univerzit. Takže osoba veskrze znalá problematiky Webu.

Přesto Molly rezolutně napsala, že diskuse o HTML5 a XHTML 1.1+ by měly být zastaveny. Úplně zastaveny. Alespoň nyní. Žádá:

  1. dokončení HTML 4.1, XHTML 1.0 a CSS 2.1 ve specifikacích i prohlížečích,
  2. volání po stejné podpoře těchto nejzákladnějších specifikací ve všech současných prohlížečích a zařízeních,
  3. posečkání s budoucími implementacemi HTML, XHTML a CSS dokud nebudou dokončené ty současné,
  4. a soustředění se na opravy a implementace JavaScriptu a DOM zatímco se budeme dostávat na úroveň značkování a stylů.

(Nepozorné čtenáře jako jsem já upozorním, že Molly mluví o dokončení zatím neexistující a neplánované specifikace HTML 4.1.)

Souhlasím s Molly ve vhodnosti opravy HTML 4.01 a dokončení CSS 2.1, nemám námitek proti shodné a správné podpoře všeho zmíněného v prohlížečích. Ale to je vše. Není možné zastavit inovaci technologií Webu. Stagnace by poškodila zatím otevřený Web v soutěži s jinými technologiemi, často vlastněnými jednotlivými firmami.

Webové technologie si užily své malé období temna. Poslední specifikace HTML 4 a CSS 2 byly vydány ještě v minulém století a prohlížeč s majoritním podílem zmrazil svůj vývoj na několik dlouhých let. XHTML 1.0 nepřinesla na Web téměř nic nového a pozitivního. Před stagnací oblasti byl však položen dostatečný základ (i přičiněním Microsoftu), aby se konečně mohla naplnit stará vize Netscape o Webu jako o aplikační platformě.

HTML 4.01 je z dnešního pohledu zastaralou specifikací. Je nejednoznačná (i význam některých prvků je vágní), kompromisní (nese dědictví předchozích verzí HTML překrývající se s CSS), neúplná (neřeší chybové stavy), pravděpodobně není plně implementovatelná a zaměřena především na statický web. Neobsahuje prvky jako embed či canvas, které jsou používány na statisících stránkách či implementovány v mnoha prohlížečích. S dalšími specifikacemi je to podobné.

Nastal čas udělat pořádek a také krok vpřed. Specifikace HTML5, Molly nyní odmítaná, obsahuje převážně opravy a upřesnění stávajících specifikací, aby mohly být shodně implementovány prohlížeči. Je vlastně tou HTML 4.1, po které Molly volá. Navíc opravuje a integruje další specifikace – podle Hixieho by specifikace HTML5 měla být dostatečnou náhradou za XHTML 1.x, HTML 2, HTML3.2, HTML4, DOM1 HTML a DOM2 HTML. Také popisuje ty části webových technologií, které vyrostly v uplynulých letech v dílnách jednotlivých prohlížečů bez předchozí opory specifikací. A přiměřeně inovuje.

Molly svůj požadavek, který byl diskutován, kritizován a odmítán, později odůvodnila nedostatečnou znalostí současných tvůrců webů. Podle jejích zkušeností tvůrci stále ještě ve velké míře používají tabulkové rozvržení a naopak příliš nekamarádí s CSS. Problém vidí v procesu vzdělávání, které nefunguje dostatečně, a ve stabilitě webových technologií.

Pokud Molly chápu dobře, její představou jsou tvůrci vzdělaní na celém světě na přibližně stejnou úroveň, tvůrci používající správné roky stejné technologie. Ale ani s tím nesouhlasím – ač je představa Molly krásná, je utopická. Recept na dosažení zásadně lepší vzdělanosti nemá. Mně osobně je v podstatě jedno, pokud si někdo dělá své stránky v tabulkách, sám také nemusím umět používat canvas či XMLHttpRequest, ale rozhodně nebudu bránit vymýšlení dalších nových technologií a jejich nasazování – budou-li přínosem pro Web.

Je snad špatné používat dnes plně dynamický Google Calendar jen proto, že někdo ještě neobjevil kouzlo CSS? Máme plýtvat časem desítek tisíců programátorů pro absenci několika nativních widgetů a validátorů v prohlížečích, když je někdo chce stále psát v JavaScriptu? Máme přenechat prostor internetových aplikací SilverLightu a Flashi jen pro existenci tvůrců, kteří si vystačí s HTML 3.2? Nikoliv. Vývoj webových technologií se musí ubírat směrem jednoduché tvorby s velkými možnostmi. Evolucí kupředu.

Opera Mini 4.0 Beta na Prestu 9.50

Opera včera vydala první betu nové verze prohlížeče pro mobilní telefony. Sice se nejedná o plnohodnotný mobilní prohlížeč, neboť pro něj stránky upravuje vzdálený server, ale uživatelé s ním mohou být spokojeni. Kromě všelijakých novinek popsaných ve zprávičkách jsem našel ještě jednu.

Dosud všechny verze Opery Mini používaly osmičkovou verzi vykreslovacího jádra Presto, viz jejich identifikace:

  1. Opera/8.01 (J2ME/MIDP; Opera Mini/1.01479/LoFi; mobile phone; en; U; ssr)
  2. Opera/8.01 (J2ME/MIDP; Opera Mini/2.03942/1378;en;U;ssr)
  3. Opera/8.01 (J2ME/MIDP; Opera Mini/3.0.6306/1528; cs; U; ssr)

Identifikace Opery Mini 4.0 však prozrazuje velkou změnu v použité technologii:

Opera/9.50 (J2ME/MIDP; Opera Mini/4.0.8462/14; U; en)

Mini přechází nejen na devítkovou řadu Presta, ale použitím jádra 9.50 (kódové označení Kestrel) dokonce předbíhá variantu Opery pro desktop, která je zatím u verze 9.21. Vysvětlení lze hledat dle mého názoru v rozdílném úspěchu a generovaných příjmech obou variant.

Pánové z Opery mají také veselé video Hi, I’m Opera Mini… And I’m iPhone.

Camino, like Firefox

CaminoCamino je webový prohlížeč určený pro Mac OS X, který pod nativním uživatelským rozhraním skrývá Gecko. Síla Mozilly se v něm snoubí se stylem Maca. Řada jablíčkářů preferuje Camino před Safari a trochu cizácky vypadajícím Firefoxem. Sice jsem Camino snad nikdy nepoužil (nemaje Mac), ale podle článků na webu byla verze 1.0 překvapivě dobrá a nedávno vydaná verze 1.5 podle všeho dojem jen zlepšovala.

Přesto není modrá obloha nad Caminem úplně bez mráčku. Camino je vskutku minoritní prohlížeč: je určený pro minoritní platformu (cca 4–5 %), která má vlastní, vydatně podporovaný webový prohlížeč. Autoři Camina o tento malý fragment reality bojují a pokud by se jim podařilo ukousnout půl procenta z celosvětového koláče, považovali by to za velký úspěch.

Půl procenta je však příliš málo pro hodně autorů webů. Firefox se svým podílem dokázal přihlásil o jejich pozornost a mnoho z nich přiblížilo weby k webovým standardům. Ale mnozí se stále nepoučili z chyb minulosti (weby dostupné jen Netscape či v MSIE) a na svých stránkách dál detekují prohlížeče podle rozpoznávání řetězců v identifikaci prohlížeče. Firefox detekují podle stejného řetězce. Ano, pochopitelně a najdou jej, ale… Stejné zobrazovací schopnosti jako Firefox má i SeaMonkey, Epiphany, Flock, Firefox, Kazehakase, Netscape i Camino, prostě všechny prohlížeče používající stejnou verzi vykreslovacího jádra Gecko. Je-li detekce podle identifikace opravdu na místě, je lepší hledat řetězec “Gecko”. Více na webu Gecko is Gecko.

A zpět ke Caminu. Jeho vývojáři rezignovali na mnohdy marné snažení opravit chování problematických webů detekujících právě Firefox a rozhodli se přidat řetězec Firefox do identifikace Camina. Nedělají to rádi, ani za všeobecného souhlasu, ale jsou rozhodnuti obětovat své ideály pro komfort uživatelů. Identifikace – čili user-agent string – Camina bude vypadat možná následovně, případně bude uvedena i aktuální verze Firefoxu:

Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en; rv:1.8.1.4) Gecko/20070509
Camino/1.5 (MultiLang) (like Firefox)

Ale Camino nebude prvním prohlížečem, který se bude schovávat za Firefox, svého silnějšího brášku. Činí tak např. jeho oba známější klony, Netscape Navigator 9 a Flock:

Mozilla/5.0 (Windows; U; Win 9x 4.90; en-US; rv:1.8.1.5pre) Gecko/20070604 Firefox/2.0.0.4 Navigator/9.0b1

Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.8.0.11) Gecko/20070322 Firefox/1.5.0.11 Flock/0.7.12

i Epiphany a Galeon, prohlížeče linuxového GNOME:

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.6) Gecko/20050317 Firefox/1.0.4 Epiphany/1.6.3

Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.10) Gecko/20060410 Firefox/1.0.8 Galeon/1.3.21

a dokonce i Opera nabízí uživatelům možnost vydávat se za Firefox:

Mozilla/5.0 (Windows NT 5.2; U; cs; rv:1.8.0) Gecko/20060728 Firefox/1.5.0 Opera 9.20

Nějak se to s těmi identifikacemi dál zamotává…

Jeff de Boer: brnění nejen pro myšky

Jeff de BoerKanadský umělec nizozemského původu Jeff de Boer zdědil svou lásku ke kovovým věcem po svém otci. Ještě na střední škole se začal věnovat kovu a dokončil své první brnění. Pár let se nezávisle věnoval svému řemeslu a učil se od kovářů, v polovině 80. let začal studovat šperkařství na Alberta College of Art and Design v Calgary. Po dvou letech spojil šperkařství se svou zkušeností konstrukce brnění a vytvořil snad vůbec první brnění pro myš. Brnění pro myšA následovala další brnění pro myšky a kočky, stylizované částí brnění, raketky pro vesmír i pár figurálních objektů. Krása, originalita a náročnost prací Jeffa de Boera má i své peněžité vyjádření, např. pokud chcete své vrnícímu mazlíčkovi pořídit brnění Perská kočka, připravte si přibližně 240 tisíc Kč, brnění pro myšky lze pořídit o řád levněji.

Mezi všemi těmi různými hračičkami mne nejvíce zaujal nepojmenovaný objekt k 60. výročí osvobození Nizozemí a to pro své jednoduché, přesto naprosto jasné sdělení.

Kaple v Soběkurech

Soběkury jsou malou vesničkou ležící v údolí Dnešického potoka mezi Merklínem a Přešticemi, jižně od Plzně. Z vesnice s podivným názvem sice pocházel spolužák na gymnáziu, ale přesto jsem si je letmo prohlédl až letos při návratu z výstavy bonsají v merklínském zámku.

Interiér kaple Čekal jsem nevýraznou vesničku a první domy potvrzovaly očekávání. Silnice však vyústila na rozlehlou náves obklopenou vesnickými usedlostmi klasického střihu, bohužel s nádorem v podobě šedé břizolitové obludy. Při pohledu na ortofotomapu Seznamu lze snadno na severní a jihovýchodní straně návsi najít paprskovitě rozložená stavení prokládaná dvorky se stodolami napříč. Báječně vymyšlená dispozice – okna obytné části mířící na náves poskytují přehled o dění na návsi, zvířata chovaná v zadní hospodářské části domu byla před den na dvorku, který stodola oddělovala od zahrady. Vstupní vrata i vnější strana domu souseda či výminku poskytovala dvorku dostatečné soukromí. Současný zvyk umístění domu doprostřed pozemku považuji za méně promyšlený.

Na opačném konci návsi je stromořadí vzrostlých košatých lip končící u výstavné kaple, jež je ze všech stran obklopena asfaltem silnice. Kaple zasvěcená Povýšení svatého Kříže je osmibokou centrální stavbou orientovanou k východu. Ač nese rysy baroka a je jako barokní označována, byla postavena až v letech 1826–1827. Úsměvný je rozpor mezi cedulkou na kapli, udávající tato data a financování výstavby obcí, a webovými stránkami téže obce připisující výstavbu Josefovi Krakovskému, hraběti z Kolovrat v roce 1829. Střecha kaple má kupolovitý tvar buřinky a na svém vrcholu nese lucernu; menší obdobná stříška se zvoničkou je i nad otevřenou předsíňkou vchodu. Ač není problém najít řadu okázalejších kaplí, ta v Soběkurech svou velikostí i proporcemi k vesnici krásně sedne, zvláště nyní po rekonstrukcích.

Interiér kapleKdyž jsem zastavil před pekařstvím a obíhal kapli s foťákem, vyšla na náves paní Beranová a jak to na občas chodí, dala se se mnou do řeči. Měl jsem štěstí, protože zrovna ona měla od kaple klíče a mohli jsme se podívat i dovnitř. Nadchla mne světlá pole klenby celá pokrytá tmavými malovanými hvězdičkami, zajímavá byla i drobná dřevěná kazatelna. Od paní Beranové jsem se kromě detailů rekonstrukce kaple dozvěděl několik tipů na zajímavosti v okolí, o čerstvě pokácené největší z lip, o desítkách kilometrů, které denně najezdí na kole, a spousty dalšího povídání. Budete-li mít cestu okolo Přeštic (tuším, že nikoliv), zastavte se.

Struktura identifikace Safari se mění

Vývojáři webů zažívají po delší době trochu vzrušení – prohlížeč Safari míří s verzí 3 z výsostných vod Mac OS X na Windows. První veřejná beta není však příliš kvalitní, na českých Windows XP SP2 se mi ji nepovedlo spustit. A nejsem sám.

Beta Safari 3.0 má upravenou strukturu své identifikace (user-agent string), která nyní obsahuje i číslo verze:

Mozilla/5.0 (Windows; U; Windows NT 6.0; pt) AppleWebKit/522.11.3 (KHTML, like Gecko) Version/3.0 Safari/522.11.3

Přidání intuitivního identifikátoru verze by mohlo být ulehčením pro rozpoznávání jednotlivých verzí Safari, neboť zatím se verze Safari rozlišovaly podle čísla buildu (číslo za Safari/). Struktura identifikace se naposledy měnila dávno před vydáním Safari 1.0. První testovací verze Safari se identifikovaly:

Mozilla/5.0 (Macintosh; U; PPC Mac OS X; ca-es) AppleWebKit/60 (like Gecko) Safari/60

Vývojáři vykreslovacího jádra KHTML, které je základem WebKitu, postrádali v identifikaci zmínku o KHTML, což dali najevo. Apple tehdy identifikaci Safari upravil do tvaru:

Mozilla/5.0 (Macintosh; U; PPC Mac OS X; cs-cz) AppleWebKit/73 (KHTML, like Gecko) Safari/73

a ta vydržela až do verze 2.0.4. Je možné, že struktura identifikace Safari se ještě rozšíří s uvedením iPhone, který tento prohlížeč také bude obsahovat.

CSS 2 ještě stále není hotové

Ian Hickson, toho času editor HTML 5, před pár dny kritizoval pracovní skupinu W3C pro CSS, jejíž členem také je. Porovnával postup prací na CSS 2.1 a 3 s vývojem HTML 5 a podle všeho nepovažuje současný vývoj CSS za uspokojivý. Příčinu vidí hlavně v uzavřenosti pracovní skupiny pro CSS.

Na Ianovu kritiku odpověděla ve svém příspěvku Behind the Scenes: What is the CSS Working Group doing? Elika Etemadová, známá jako fantasai, přizvaná odbornice kritizované pracovní skupiny. Její odpověď vysvětluje mnohé, ale mne zaujala především jedna myšlenka, která trochu korigovala mé vnímání různých verzí CSS.

CSS 1 vyšlo na konci roku 1996, CSS 2 následovalo v květnu 1998. Následujícího roku bylo CSS 1 trochu zrevidováno a také začala příprava prvních modulů CSS 3, od roku 2002 se pracuje na specifikaci CSS 2.1. Na kalendáři je však rok 2007 a z různých stran zaznívá volání po dokončení CSS 2.1 a rychlejším postupu na modulech CSS 3. Autoři webů jsou netrpěliví, neboť i po dokončení specifikací a jejich případné implementaci v prohlížečích budou dlouhé roky čekat na rozšíření nových verzí prohlížečů mezi uživateli. Často říkají, že od dokončení CSS 2 uplynulo už 9 let a proto je už na čase.

Elika je opravuje a vysvětluje: kaskádové styly nemají verze, ale úrovně. Vlastnosti, které jsou součástí CSS 1, jsou také součástí CSS 2 a budou muset být i součástí CSS 3. CSS 2.1 proto není další verzí CSS 2, ale teprve dopracováním specifikace CSS 2, aby odpovídala současným požadavkům na jednoznačnost a také existujícím implementacím v prohlížečích. Specifikace musí být kvalitní a bez chyb, neboť na ní bude také stavět specifikace CSS 3.

Detailněji o kritice pracovní skupiny, jejím fungování a uvažovaném CSS 5 snad brzo napíše Martin.