<Glazblog/>

Friday 24 July 2009

Why (some) standards fail

Disclaimer: I am co-chairman of the CSS Working Group but this article is written with my WG Chair hat off. Personal opinions only.

Jeffrey Zeldman has just released a blog article entitled "Why standards fail", commenting on the now rather old Bert Bos's "What is a good standard?".

In his work, Bert said the W3C specs are not designed for computers but for people. That's right but that's not enough. They're designed for a certain category of people, the code implementors. They're not made for end-users. In other words, a rather complex or long specification like HTML5 or SVG is not made for people authoring HTML5 or SVG, it's designed for people implementing it in a rendering engine, parser, filter, ...

He also says we try to keep specs of reasonable size. Honestly, that dream is really old. Take all W3C specs since 1996 and in particular specs that were updated over the years and you'll see exponential growth.

(As a side note, Bert also said "The Web now runs on HTML, HTTP and URLs". Oh gosh, he forgot JavaScript...)

Jeffrey Zeldman then tells us - in substance - that CSS became a slow monster, that it's not understandable any more if you don't have 5 diplomas in computer science and that browser vendors will move away from complex specs.

Jeffrey forgets too easily a few points here :

  • the work done inside Working Groups is not done by the W3C itself. It's done by vendors and in the case of HTML/CSS/SVG and friends, it's browser vendors. So the W3C Members are very likely to implement the specs, because they designed the specs. The W3C here is just a host, not an author.
  • web designers want more and more features replacing JavaScript and Flash and also want one-liners. First, it's not always possible because a feature itself cannot always be simplified to the point it stands into a very readable one-liner. Second, it's not because it's simple from a design point of view or super-simply implemented in an almost trivial dialog in Photoshop that the code implementation behind is not hellish. And the compromises found in a WG, that please all W3C Members, are sometimes greeted with coldness. Let me take a good example : when I introduced the :nth-child() and friends pseudo-classes in CSS 3 Selectors, we had in the WG a lot of trouble finding the right argument for the function. Tantek pinged his father, who found the an+b formalism. We found it rather nice, meaningful and a good compromise between power and smplicity. Ok, adopted. That said, every time I demo or explain these selectors in a conference, people boo the syntax... So what should we do here ? Increase readability at the risk of complexity ? Drop the feature at the risk of slowing CSS ? As we say in french, it's hard to have the butter and the money for the butter at the same time.
  • we have a lot of documents on the radar because W3C Members don't all have the same strategy, don't address the same market. Opera for instance is big big big on mobile; they want/need things that address their market and don't really care about the rest. On another hand, HP is big big big on printing and things really outside of the print profile are not in their scope. Should we work only on a common denominator or should we consider, as we do know, that all users need to see progress ?
  • at the same time, despite the simplicity of the request, we're still unable to have variables or even constants, we're still unable to position an element relatively to any other arbitrary element in the same tree, we have transformations and gradients only because Dave Hyatt coded it in Safari. The list is long.
  • there a number of good reasons why CSS 2 adoption took so long in browsers. I am not saying it's an excuse for everything but this can partly explain that.
  • perhaps CSS has hit a feature-size limit. Because of their very simple original design, CSS were not meant to solve all the problems of the Web world; we keep hitting issues related to backwards-compatibility, compatible parsing, shorthand compatibility and collisions. Because CSS has grown in circles in a world of RENDERING and not a world of DOM or API, there is a possibility that CSS will not last 50 years (I am negating here a quote from Bert Bos during a CSS WG meeting) and we need a new stylesheet language, still simple from a user's point of view, but more powerful and extensible from a design and implementation point of view. Possibly derivated from CSS. But possibly not CSS itself.

Standards are not only documents. They're not only made for the greatest benefit of Humanity. They're a battlefield. A battlefield where everyone smiles at the other and has a drink with the group after work but a battlefield full of war sagas and full of dead ideas and codes. Dead companies too. Such a situation does not always end up in good compromises. Some compromises are weak, some are even dangerous. Some are bloody.

So yes, SOME standards fail. Because standards are made by human beings, because human beings can make mistakes and because human beings - standards authors and users - are the most painful species on this planet, rarely happy with what they have in hands.

Yes, the CSS 3 specs are big. And complex. No it's not really a problem because fortunately cool guys like Jeffrey Zeldman cover the world giving conferences about CSS, because Eric Meyer next CSS 3 book will be here to explain CSS to the masses. That's not the W3C's job. And yes, CSS 3 is going to be implemented because the specs come from the browser vendors anyway. And yes, CSS 3 is going to used by web authors. Probably not the deepest complex bits of CSS 3 like "floating and spanning rtl klingon in paginated top-to-bottom uighur" but I am pretty sure that all CSS 3 features will be adopted by the community as soon as they are implemented.

Friday 3 July 2009

R.I.P. XHTML2

More than 7 years ago, I wrote that XHTML2 was a major strategic mistake that had to be stopped immediately. In fact, I started saying so even earlier than that. Today, XHTML2 is no more. It takes with it into the grave CURIE, HLink and XFrames. Specs that nobody ever seriously considered as part of the future of the web, nobody outside of the XHTML2 WG of course.

Anyway. It's a good move but a move that comes too late. That decision should have been taken YEARS AGO. What a waste of time, money and energy. What a bad sign to the community. Many people thought the following : "it's good these specs are in the xhtml2 wg, we don't want them elsewhere".

R.I.P.

Thursday 14 May 2009

Spiderman and the XHTML Kindergarten

Must-read by Björn Hörhmann...

Wednesday 1 April 2009

Moving on

I am resigning from the CSS WG. Chris Wilson from Microsoft who is already the co-chairman of the HTML WG will take up my cochair's role in the CSS WG too. With the two most proeminent languages of the Web chaired by a representative of Microsoft, I am sure the Web will evolve into a more standards-compliant way, for the greatest benefit of all. I just learned that Chris also accepted to chair the XHTML2 Working Group. Unity, unity, that's excellent. Now, we can come up with a single 3,231 pages spec that covers the whole Web. Great news, folks !

Monday 23 March 2009

Uuuuuuh ?

Yep. I just read last Stallman's article and I'm lost. Unless I completely missed something, this idea is totally stupid. So, let me try summarize his point : the web pages a user browses load/use JavaScript code. Free Software philosophy applied to the Web should provide the user with a way first to know the license of the JavaScript code a page is using/loading, second to replace that JavaScript code with a piece of his/her own. Fine. Great.

Now, the author of the web page modifies his/her page. Or even revamps it entirely. The old JavaScript code becomes irrelevant here but the new one keeps the URL of the old one. The user-modified version of the JavaScript code does not work because it's made for a page that is completely different. The Web page is then not browsable in a normal way and the whole user experience is trashed.

Can someone explain me what's good here in RMS's idea because I fail to see that part...

Friday 30 January 2009

HTML, ducks and ducklings, xkcd

Is it an illustration of the HTML situation ? :-D

Friday 19 December 2008

**blushes**

Wow....

Wednesday 17 December 2008

ParisWeb2008, les videos

La fine équipe de ParisWeb a fait un boulot fantastique en mettant déjà en ligne de nombreuses videos des interventions de l'édition 2008 de la conférence. Vous les trouverez ici. Un peu de patience pour celles qui manquent, elles ne devraient pas tarder. Mon intervention sur CSS 3 :

Thursday 11 December 2008

W3C Validators

Use them ? Love them ? Then support them and donate !!!

Friday 28 November 2008

W3C TPAC 2008

W3C TPAC 2008

Wednesday 26 November 2008

</karlw3c>

Bye Karl ! And thanks for everything. See you soon.

Wednesday 29 October 2008

ParisWeb 2008, j'y serai. Et vous ?

ParisWeb 2008

Wednesday 22 October 2008

Verbatim

Robin: a second thing - a lot of people would like to be able to support new vocabs using a bit of scripting, where is XBL?
MikeSmith:XBL or XBL2?
ErikDahlström: XBL2 is work in progress for Opera
MikeSmith: dino, please implement XBL2
DeanJackson: XBL2 is a good thing, we're looking at it
MikeSmith: WebKit has a Google Summer of Code student working on XBL2
ChrisWilson: looking at it positively too

Tuesday 14 October 2008

So many friends so little time

Next week, I'll be in Mandelieu (french Riviera) for the Technical Plenary Meeting of the W3C. I want to have enough time to have dinner with Peter Linss at Ermitage du Riou, with Yves Lafon in Nice, drink a few mojitos with Chris Wilson, find a japanese restaurant with Arun Ranganathan, drink a good glass of Irouléguy with François Yergeau. Of course joke around two beers with Chris Lilley. I'll really miss Kevin Lawver and Tantek Çelik. And, and, and...

I joined the Consortium so long ago that a W3C Technical Plenary meeting is not only for me a time when we work a lot and gather Working Groups around a common scope, it's first a time when I meet old and good friends. In other words, it's a time of pleasure. I can't wait.

Tuesday 23 September 2008

</karl>

Karl Dubost leaves W3C at the end of november... Good luck in Montréal, Karl ! Hey, Laurent is already there waiting for you...

Wednesday 10 September 2008

ParisWeb 2008

J'aurais donc le plaisir renouvelé de causer dans le poste de ParisWeb pour son édition 2008, le 14 novembre. Le titre de l'intervention est "La Mode se démode, le Style jamais..." et je présenterai l'état de l'art des CSS et les derniers trvaux du CSS Working Group. J'aurai également l'immense plaisir d'intervenir après mon ami François Yergeau et avant mon ami Chris Wilson. Super!

Tuesday 9 September 2008

Bruce Lawson on browser guidance

I finally met Bruce Lawson during the first day of last CSS WG face-to-face meeting in Cambridge, UK, and I carefully read his last article on webstandards.org. I can't help but thinking the webstandards community could take a better approach. Utopically, the best approach would be IMHO the following one:

  • build an extension to every single available browser that
    1. allows the user to file a usability bug report related to the current site/page for the current browser
    2. shows if there are open bugs related to the current site/page for the current browser and allows to browse/edit theme
    3. shows if the user filed bugs related to the current site/page for the current browser that are still open and allows to browse/edit them
  • make that extension freely available

Then edit a automated monthly report with top 1000 buggy sites, world-wide and per country. That would put a huge pressure on website managers...

As I said, it's a utopy. But the gap between utopy and reality is not always that thick...

Wednesday 13 August 2008

Element Traversal Specification

Element Traversal Specification just became a W3C Candidate Recommendation.

No more while(elt && elt.nodeType != Node.ELEMENT_NODE) elt = elt.nextSibling; !!! I do prefer the new elt = elt.nextElementSibling;

Implement it, use it, love it !!!

Note: I only regret nextElementSibling and previousElementSibling are not available on all nodes instead of only element nodes...

Tuesday 24 June 2008

W3C Store

Last november, I sent a long email to the Advisory Board of the W3C about the structure and finances of the Consortium. One short paragraph of that long email was the following one:

" Remember, it's a world of geeks. That might sound weird, but I recommend the Consortium starts a complete product line of gear, clothes, and geeky objects. To be even clearer, the famous "<body> </body>" t-shirt should be sold in a W3C online store and have a W3C logo on the right sleeve. That could drive a lot of income."

And this morning, I learned from Karl Dubost that the W3C is setting up such an online store. Read here, here and here. I just wanted to tell one thing to my W3C friends : it will work only if the items sold in that store are really cool. Funny. Geeky. Nice colors and shapes. Suggestions :

  • of course the very famous "<body> </body>", "<head/>" and "geek"
  • "Content-Type: human/geek"
  • "More than ten years of W3C Membership and still alive"
  • "Browser war is just another day at the office"
  • "I'm interoperable"
  • "Cool URLs don't change"
  • "body { background: gray; }" for a gray t-shirt
  • best-sellers W3C mug and W3C french beret
  • W3C logo on the front, "Web standards matter" on the back
Examples of good t-shirts (all copyright Alsacréations):
Examples of t-shirts that almost nobody understands or recognizes...

Saturday 7 June 2008

Formats et Standards

Un article du toujours excellent Louis Naugès, à lire absolument...

- page 4 of 12 -