středa 25. července 2007

Budeme mít CSS5?

Ian Hickson ve svém červnovém příspevku The CSS working group is irrelevant kritizuje současný stav CSS a naznačuje možnosti vzniku CSS5 pod záštitou WHATWG.
The CSS specs show their age; they come from a time where specifications were much vaguer than those of the modern day. Someone really needs to do to CSS what the WHATWG has been doing to HTML, defining everything in detail, explicitly, with strict and clear normative conformance criteria, taking implementations into account, defining things like quirks mode. (The WHATWG community refers to such a hypothetical project as "CSS 5", as a reference to the way the current WHATWG specs define HTML5, XHTML5, and DOM5 HTML.)
One way to address this would be for the WHATWG to start a "subproject" to address CSS, while we wait for the W3C CSS group to learn from the W3C HTML group and become open. The biggest problem would be finding editors who would be willing and capable of doing the incredible work of rewriting CSS from scratch.
Situace okolo CSS dnes není zcela růžová. Pokusil jsem se jí popsat ve svém dnešním článku Quo vadis, CSS? na Lupě.

pátek 20. července 2007

Jak se píše historie HTML

O spojení sil W3C a WHATWG jsem psal na Lupě v Ze zákulisí příprav HTML - W3C a WHATWG spojují síly včetně mé spekulace, že celá spolupráce obou skupin mohla být předem naplánována.

Před několika týdny Ian Hickson zveřejnil několik svých e-mailů, které jsem před tím neznal, a ve kterých jsem si potvrdil, že některé mé domněnky nebyly daleko od pravdy (kterého komentátora by to nepotěšilo, že?).

Dnes bez komentáře Hixieho maily pro všechny, které zajímá, jak se píše historie (doporučuji přečíst celé odkazované maily, resp. celá vlákna, najdete tam řadu zajímavostí).

Re: any comments on HTML charters
If the group is intended to collaborate with the WHATWG, then I think the WHATWG community would be very happy. However, would the HTML WG members be ok with that? Collaboration would consist of having only one specification, shared between the two groups, published on both sites, with feedback sent to both groups treated equally. This allows the spec to gain patent policy protection, allows W3C members to take part without losing face, puts HTML5 back onto the W3C REC track, and yet keeps the existing community happy about their involvement.
If the group is intended to compete with the WHATWG, developing specifications that are mutually exclusive with the WHATWG ones, then I fear that the W3C group will not succeed. The WHATWG community is very adaptable; members of the community have been keeping track of things in XHTML2, for example, and suggesting them for inclusion in the HTML5 work -- in several cases, most notably the
element and headers -- the WHATWG spec version of the feature ends up fully specified long before the XHTML2 working group's, even though the other group came up with the idea first.
The charter should require more openness. I think that working group membership should be open to anyone -- not just W3C members. Anyone wishing to join the group would have to accept the W3C patent policy, of course; however, the current mechanism, whereby someone can pay $900 to get a bigger say in the future of the Web, would clearly not be acceptable to the members of the WHATWG community, many of which are students, self-employed, or working for organisations that are not W3C members and have no real reason to join.
Here is an outline of how I would expect a new HTML specification to proceed along the W3C Recommendation track:

First Working Draft . . . . 2007
Last Call Working Draft . . 2009
Candidate Recommendation . 2012
Proposed Recommendation . . 2022
Re: Charters for review
Regarding technical matters, there shouldn't be a difference between being a working group member as a W3C Member Company, a W3C Invited Expert, or participating as a non-W3C Member. This should be made explicit in the charter; currently the charter implies that non-members are not full members of the working group.
Re: any comments on HTML charters
The group will communicate its suggestions to the WHATWG community either through posting to the WHATWG mailing list, or by having WHATWG community members being part of the HTML working group.
Another proposed HTML charter
The Working Group is expected to work in collaboration with the WHATWG to produce identical specifications, preferably by having the same editor. This collaboration may cease if the two communities do not agree on technical matters. If this happens, the Working Group's charter should be re-examined by the W3C.
Another proposed HTML charter (revision 1)
(Changes since the last post: Add video, add WebAPI reference, change criteria for success, removed need for charter to be reexamined if WHATWG and HTMLWG go their separate ways.)

úterý 17. července 2007

Cesta webových standardů

Olivier Théreaux na blog W3C napsal příspěvek Cesta webových standardů - Web Standards Do (poslední slůvko je z japonštiny podobně jako v bushido).
Mě zaujal hned první odstavec obracející se k počátkům webu:
Jedna z věcí, díky které se web stal od svých počátků tolik populární, byla snadná práce s ním: HTML bylo jednoduché. Kdokoliv mohl vytvořit webovou stránku. To je stále do jisté míry pravda a díky řadě editorů nebo služeb jako jsou Wiki, Blogy a CMS, kdokoliv může vytvořit webovou stránku. Ale webové technologie jsou dnes bohatší: CSS, skriptování, DOM, SVG, widgety... A z rostoucí bohatosti a složitosti se zrodila nová skupina lidi: weboví profesionálové.
Olivier tímto odstavcem tak trochu přilil vodu na můj mlýn, protože právě o počátcích webu a o velkém významu onoho HTML bylo jednoduché píšu v mé dnešní glose na Lupě s názvem Máte tam chybu, Time...

pondělí 16. července 2007

Sjednocení detekce a aktivace quirks módu

Dnes jsem si všiml další zajímavé vlastnosti HTML5, snahu o alespoň částečné sjednocení quirks módu.

Jedná se o sjednocení detekce quirks módu, takže vlastnost document.compatMode, která je již nyní podporována řadou prohlížečů, bude součástí specifikace.

A dále o částečné sjednocení aktivace quirks módu. Zde je situace trochu těžší, prohlížeče ji mají z historických důvodů implementovánu odlišně a webdesigneři toho hojně využívali.

Jelikož je ale používání zastaralého quirks módu spíše na ústupu a situací "potřebuji prohlížeč A ve standard, prohlížeč B taky ve standard a prohlížeč C ve quirku" pomalu ubývá ve prospěch "standard mód ve všech prohlížečích", není důvod proč situaci nesjednotit a tím jen dále podpořit motivaci pro používání standard módu.

Sjednocování aktivace quirks módu mezi prohlížeči ostatně již probíhá, např. do WebKitu (Safari) byl Davem Hyattem vložen kód pro aktivaci quirk módu z kódu Mozilly. Následně se z WebKitu tento kód dostal i do KHTML (Konqueroru). Nezjistil jsem verze prohlížečů, ve kterých ke změně došlo, ale úprava proběhla asi v roce 2004. Poslední verze těchto tří prohlížečů se již chovají (až na některé výjimky, na které by webdesignér běžně neměl narazit) stejně. Zbývají tedy odlišnosti u Opery a Internet Exploreru, oba se zatím v tomto směru nevyjádřili.

Zpráva z telekonference: začínáme s revizí

Minulý týden proběhla další telekonference pracovní skupiny pro HTML (záznam z jednání). Zdá se, že se HTML WG konečně posune v revizi adoptovaného HTML5.

Možná se dokonce podaří vyhnout diskusím všech 483 členů o každé maličkosti. Musím říct, že mě tyto diskuse občas připadají nekonečné (už jste se někdy na něčem dohadovali v počtu 500 lidí?). Jednotlivé sekce specifikace dostali přiděleni dobrovolníci, kteří mají s danou oblastí zkušenosti. Dan Connolly říká:
goal is to have each section read by at least 2 WG members by the end of July or August... I don't expect we'll fix the issues that get raised before publishing, but we'll have some knowledge of what we're publishing
Jsem zvědav, zda se to podaří splnit, někdy na podzim bychom se mohli dočkat vydané první pracovní verze specifikace.

Dan si dále stěžuje, jak je obtížné v tak velikém počtu diskutujících sledovat celou diskusi, obzvláště když se diskutuje na několik témat zároveň (jeho roli mu nezávidím, celý mailing list jsem přestal číst již před měsíci a vybírám si jen zajímavá témata - jen za první polovinu července přišlo 770 mailů):
asked for advice from the AtomPub chairs; their situation is similar to ours in that it's a large email-based collaboration. But there are differences too.
... Mostly, I encourage a few topics and tolerate everything else. Sometimes saying "stop talking about X" results in more discussion of X rather than less.
Pořád čekám, že někdo přijde s geniálním nápadem, jak spolupráci tak velkého počtu lidí (navíc většina z nich spolupracuje dobrovolně ve svém volném čase) zkoordinovat.

čtvrtek 12. července 2007

HTML5 časem i v PHP

HTML5 parser bude i pro PHP. Objevily se dva projekty, které se o implementaci snaží. V tuhle chvíli jsou na úplném začátku a nemá cenu je ještě zkoušet, pomalu rostou na adresách:

http://php-html5lib.dashslot.net/svn/trunk/
http://geoffers.no-ip.com/svn/php-html-5-direct/src/trunk/

Uvidíme, zda se autoři spolu dohodnou a vytvoří jeden projekt, nebo budou pokračovat každý sám.

Zdroj: #whatwg

Budoucnost webu očima jeho tvůrce

Magazín ITworld.com přinesl rozhovor The future of the Web as seen by its creator, ve kterém zpovídá tvůrce webu Tim Berners-Leea. Rozhovor se točí okolo sémantického webu, ve kterém TBL vidí budoucnost.
So, for example, if you are looking at a Web page, you find a talk that you want to take, an event that you want to go to. The event has a place and has a time and it has some people associated with it. But you have to read the Web page and separately open your calendar to put the information on it.... So the Semantic Web is about data integration.
V současnosti jsou realizaci sémantického webu nejblíže asi Mikroformáty, které se snaží o jeho integraci do HTML. Pokud jste o Mikroformátech neslyšeli, přečtěte si čtyřdílný seriál Microformats Alexa Faaborga, který mimo jiné představuje Operátor, což je experimentální rozšíření Firefoxu o podporu Mikroformátů nebo se podívejte na Alexeovu prezentaci z web2.0Expo (50MB, PDF).

Rozhovor se dále točí okolo Web 2.0, Web 3.0 (z rozhovoru si můžete všimnout, že TBL má v obou termínech jasno).
IDG: So what's the difference between a Web of documents and a Web of data?

Berners-Lee: There are many differences between documents and data. Take, for example, your bank data. There's two ways you could look at it. If you just look at a plain Web page, then it looks like a sheet of paper. All you could really do is read it. Now if you look at it on a Web 3.0 site, you could maybe use a Java search to change the order of the data, and you could reach much better access to data.
TBL je jednoznačně pro zachování neutrality Internetu.
We've seen cable companies trying to prevent using the Internet for Internet phones. I am concerned about this, and am working, with many other committed people, to keep it from happening. I think it's very important to keep an open Internet for whoever you are. This is called Net neutrality. It's very important to preserve Net neutrality for the future.
V rozhovoru najdete odkaz na první dokument, který popisoval, jak má vypadat budoucí web (tehdy byl web ještě myšlen pouze pro interní potřeby CERNu).

Všimněte si nadhledu TBL. Nehovoří vůbec o současných problémech (X)HTML nebo o připravovaném (X)HTML5. To vše je jen drobným detailem na dlouhé cestě ve vývoji webu.

středa 11. července 2007

Proč potřebujeme HTML5?

Karl Dubost napsal Why HTML 5 Specification Matters?, příběh jednoho nefunkčního webu v prohlížeči Safari, ve kterém vysvětluje, proč web zoufale potřebuje specifikaci HTML5. Píše:
The browser implementer had clear instructions for this type, was able to implement it, and then to create an interoperable recovery system for this type of mistake. The Web users finally were able to access the Web site without troubles and in the same way than with other browsers. HTML 5 Specification matters because it creates more interoperability when recovering from errors.
Více jsem se o zmíněném problému rozepsal na jiném blogu v Proč HTML5 potřebujeme jak prase drbání?.

Dvě části HTML5

HTML5 lze pomyslně rozdělit na dvě velké části. Tou první jsou novinky (ty tentokrát ocení více weboví vývojáři něž webdesignéři) a tou druhou je jednoduše řečeno oprava stávajícího webu (viz předchozí příklad se Safari).

Vzpomenu příspěvek Fixing the web! od Anne van Kesterena, který se k problematice vyjadřuje:
Apparently it is not very clear what HTML5 is about. HTML5 is not just about introducing new features. 90% of HTML5 is about fixing existing standards.
S těmi 90% to Anne trochu přehání, já bych to odhadoval spíše 50 na 50.
Indeed, HTML5 is mostly about fixing existing standards so they can be implemented interoperably by user agents. These standards include HTML4, XHTML1 and DOM Level 2 HTML as well as defacto standards such as innerHTML.
Pravdou je, že někteří kritici tvrdí, že by k tomu mělo dojít postupně. Napřed "opravit web" a až po té přicházet s novinkami (viz Adamův příspěvek Zastavit inovaci Webu?). Problém je, že web má už v téhle chvíli zpoždění, které by se mu nemuselo v budoucnu vyplatit.
The reason we are introducing new features as well is because we need to innovate the open web to keep it on a level where it can compete with proprietary technology. Focusing on both new features as well as trying to increase the level of interoperability is in my opinion perfectly feasible and also the right way to move forward.
Potřebujeme obojí, jak novinky, tak vyřešení stávajících problémů webu. Zbývá jen doufat, že na ten velký krajíc bude W3C a WHATWG stačit.

HTML5 i v Javě

Henri Sivonen před několika minutami oznámil zahájení práce na HTML5 parseru v Javě.
There's now a limping development version of an HTML5 parser in Java that interested parties may try out:
svn co http://svn.versiondude.net/whattf/htmlparser/trunk/ htmlparser

Warning: This isn't at all ready for any kind of production use. The purpose of this email is just to let interested parties know the status of the project.
Goals:
Provide an HTML5 parser that works as a drop-in replacement for an XML parser in non-browser Java apps that expect XML APIs. Make the parser strict enough for conformance checking (including encoding errors, etc.).
License:
MIT/expat. Patches welcome under the same license.

Acknowledgments:
Thanks to the Mozilla Foundation for funding this project. Thanks to the html5lib team and Philip Taylor (of the lazyilluminati fame) for test cases and bug reports.
Po projektu html5lib, který je v Pythonu a v pokročilém stádiu vývoje, se jedná o druhý připravovaný HTML5 parser. Oproti klasickým HTML parserům, které jsou k dispozici prakticky pro každý programovací jazyk, HTML5 parsery implementují relativně obsáhlou část specifikace HTML5 (bod 8) která pojednává i o neobvyklých stavech včetně toho jak parsovat tag soup.

úterý 10. července 2007

WHATWG - jak to začalo

S trochou nostalgie jsem dnes četl oznámení o založení WHATWG, na které jsem po letech narazil (tenkrát jsem o tom dokonce napsal zprávičku). V oznámení z 4. června 2004 stojí:
Some of you may be interested to hear that people from Opera and Mozilla have set up an open mailing list for discussing Web Forms 2 and other new specs that have been discussed in various places over the last few months.
The group is working on specifications for Web Forms 2.0, Web Apps 1.0, Web Controls 1.0 and a CSS object rendering model. This work will be largely done outside of the World Wide Web Consortium, though finalised versions of the specs are expected to be submitted for formal standardisation. While the decision to operate independently of the W3C may be seen as controversial, many feel that formal standards bodies move too slowly to react to proprietary technologies such as Microsoft's forthcoming XAML. In addition, many in the W3C are pushing for Web applications standards based on technologies such as XForms and Scalable Vector Graphics, whereas the members of the WHATWG favour backwards-compatible HTML-based solutions, which they believe would be easier to implement and more likely to be adopted by Web developers.
Je vidět, že po třech letech WHATWG plní, co slíbila (během let se vytratil ten CSS rend. model, přiznávám se, že nevím kdy a proč), tak doufejme že v roce 2010 vydá W3C slíbenou specifikaci, kterou ve spolupráci s WHATWG dokončí.

Dnes ze zmiňovaného XAML vyrostl Silverlight a máme tu Adobe AIR a JavaFX. Ti všichni začínají tam, kde dnešní HTML končí a HTML5 hodlá hranice HTML v mnohých směrech rozšířit. Už bylo načase.

Applety na odchodu a proč nejsou Sun a Adobe v HTML WG

Když jsem včera psal o přehledu HTML značek, všiml jsem si, že <applet> v nových verzích specifikací chybí. A to nejen v HTML5, ale již ve striktním XHTML1. Rozdílový HTML5 dokument o nich říká:
applet has been obsoleted in favor of object
Java applety jsem nikdy neprogramoval a nedokážu posoudit, zda je <applet> pro programátory výhodnější, než vkládání appletů prostřednictvím <object>ů a <embed>ů.

Nicméně jen existence značky <applet> s sebou nesla jakousi výjimečnost Java appletů mezi ostatními pluginy (poslední dobou zejména před Flashem) a v době, kdy se Sun snaží vrátit Javu na web s JavaFX, se každý zásek navíc počítá. Překvapilo mě, že jsem k tomu nenašel žádnou větší debatu. Nějaký pokus Sunu celé téma znovu otevřít.

A následně jsem si všiml, že Sun, ačkoliv je členem W3C, není členem HTML WG. Přiznávám, že mě to zmátlo. Pokud chce prosazovat Javu na webu, bude na možnostech webu a HTML závislý a je sám proti sobě, když se neúčastní diskusí, které tvář budoucího webu formují.

Stejně je na tom i společnost Adobe, která je členem W3C, ale nemá žádného zástupce v HTML WG. Přitom i její produkty postavené na Flashi (Flex, AIR) jsou na HTML a webu závislé, dokonce mu v některých směrech i konkurují (možná, že to je onen kámen úrazu?).

HTML WG je otevřená skupina a mezi 482 členy najdeme kromě stovek jednotlivců zástupce řady společností, které jsou na webu a HTML závislé, nejen výrobce prohlížečů, ale i Google, Yahoo, IBM a pro mne stále nepochopitelnou The Boeing Company.

Nedělají Sun a Adobe chybu, když se vzdávají možnosti ovlivnit vývoj webu? Čte tento blog nějaký programátor v Javě nebo Flashi, který by pomohl problém objasnit? Přiznám se, že mne tohle téma zajímá.

pondělí 9. července 2007

Najde se řešení pro jméno XHTML5?

Spor, jak se bude jmenovat XHTML5 stále není vyřešen. Téma je citlivé, na společnou dohodu to zatím nevypadá.

V sobotu jsem na IRC WHATWG na toto téma našel zajímavou diskusi. Jen několik citací, doporučuji přečíst kompletní.
<hsivonen> MikeSmith: the XHTML2 WG is confusing things by calling something that isn't an XML formulation of HTML "XHTML" for their marketing purposes
<Hixie> MikeSmith: even if we use a different name, people will still refer to "xhtml", and the version of the language is "5" (as in html5), so they'll call it "xhtml5".
<Hixie> "-//W3C//DTD XHTML 1.0 Transitional//EN" is the most common DOCTYPE

středa 4. července 2007

Který prohlížeč první implementuje video? (aktualizováno)

Håkon Wium Lie na jaře prohlásil, že do konce tohoto roku tu bude několik prohlížečů podporujících <video>. Jak jsme na tom v začínajícím rozpuku léta?

V oficiální verzi zatím žádný z prohlížečů podporu nevydal. Nicméně:
Máte tu pěknou trojku Opera, Firefox a Safari. Všichni tři experimentují s podporou <video>.

Zdá se, že Håkonův odhad byl správný. Teď už jen můžeme čekat, kdo z nich jako první začlení podporu <videa> do další verze.

Microsoft se zatím nevyjádřil, ale ten nejspíš bude hrát na jistotu. Na rozdíl od implementace dosud nedokončeného <videa> si počká, až bude specifikace uzavřená a pak (snad) podporu do Internet Exploreru přidá. Navíc Chris Wilson naznačoval, že IE bude HTML5 pravděpodobně podporovat ve zvláštním módu, který neovlivní stávající zobrazovací módy (ke dvěma zobrazovacím módům, které IE používá, pravděpodobně přibude třetí pro HTML5).

To by nasvědčovalo, že podpora HTML5 se v IE objeví skokem a nikoliv po jednotlivých částech, jako to dělá trojka zmíněná S. O. F. (Save Our Fear).

neděle 1. července 2007

Obecné stylesheety pouze v hlavičce

Před měsícem jsem ve spotu Obecné stylesheety pouze v hlavičce? psal o debatě mezi Hyattem a Glazmanem na téma <style> pouze v hlavičce.

Nedávno byl výsledek zanesen do specifikace. V té v tuto chvíli o <style> stojí:
Contexts in which this element may be used:

If the scoped attribute is absent: in a head element.
If the scoped attribute is absent: in a noscript element that is a child of a head element.
If the scoped attribute is present: at the start of article, aside, div, and section elements.
Pokud dobře čtu DTD HTML4, tak samotné <style> bylo povoleno pouze v hlavičce dokumentu. Takže podstatnou změnou je pouze zavedení <style scoped>.

Pozorný čtenář si mohl všimnout další, byť nesouvisející změny a tou je povolení <noscript> v hlavičce dokumentu, které v HTML4 nebylo (HTML4 povolovala v hlavičce <script> ale již nikoliv <noscript>), více viz vlákno v mailinglistu. Kromě možnosti CSS aplikovaného pouze v případě vypnutého JavaScriptu se nabízí využití pro metarefresh, pokud je zapotřebí průběžně obnovovat stránku a oddělit JavaScriptové řešení (používající např. XHR) a klasický metarefresh.