Circle-squaring standards

Shortly before Opera Software was founded, Håkon Lie wrote what was to become the Cascading Style Sheet (CSS) specification. I read this paper a few months later when working for the government and was thrilled. A decade later, with CSS finally mainstream, the promise of what CSS can do is still exciting.

The usefulness of separating presentation from content should be known by now. But even more revolutionary was the cascade, the idea that the user had a say in how a document was presented, not just the author. Intriguingly the initial proposal had the concept of a compromise for numeric values. So if you had a preference for 16px text and I for 12px, the page might be displayed as 14px. How Scandinavian, how TeX, and how scrapped it was by the final spec. In the current cascade a rule either applies or it doesn’t, but there is a priority hierarchy with the user ultimately on top.

This wasn’t completely new with CSS. SGML, and thus HTML, was designed to describe the document and not how it was presented, though by this time HTML was turning into formatting language, something we still see the after-effects of today. The idea that the user could influence the presentation was assumed, but not built into the language.

JavaScript broke this principle. Not only was the author on top, the author had to make judgements that were highly device- and configuration-dependent. This caused and continue to cause a large number of usability problems. When we changed our gears from looking at JavaScript as a necessary evil to make web pages work to seeing JS/DOM as something we intended to support fully, this happened around Opera 5, those shortcomings of JS started to become an issue.

But what if JavaScript too had the Cascade? This was the kernel of what was later to be known as UserJS. JavaScript isn’t as neatly layered as CSS, but like CSS it supports the capability of override or being overridden. The timing is important, by letting the user run scripts before and after the author scripts he can get the final say while still allowing the author to create what he wants. There is still a lot to go before JS can be said to be fully accessible. Much of this work will have to be by authoring practices, as an all-purpose language it will always be possible to do scripts badly.

User focus is among the best metrics to determine how well web-adapted a proposed or existing specification is. The web has to cater to a great variety of circumstance, and that shouldn’t be the author’s responsibility. By letting the user control the parametres that matters to him, the author’s content can be presented in an optimal way for each user individually. HTML+CSS is the most versatile combination so far, as can be seen by it having no limit on what machine, processing speed, display it works for, in practice being the world’s only universal format.

So while squaring the circle of authoring and user needs can be a considerable challenge, the benefits of getting it right are even larger.

Join the Conversation

  1. Some other attempts at http://www.flickr.com/photos/laihiu/tags/squaredcircle/">squaring a circle. I especially like http://www.flickr.com/photos/laihiu/3051964/in/set-64026/">this cat which – by the way – is said to remind some people of the Firefox logo. :whistle: :angel:

    A http://en.wikipedia.org/wiki/Super_ellipse">super ellipse may also be interpreted as a compromise between a rectangle and an ellipse.

    > How Scandinavian

    You mean like http://www.google.com/search?q=%22scandinavian%20pragmatism%22&svnum=10&hl=en&lr=&client=opera&rls=da&sa=N&tab=iw">Scandinavian pragmatism, a phrase that I first heard from the late http://en.wikipedia.org/wiki/Willy_Brandt">Willy Brandt who indeed knew about Scandinavians? The tendency to ask “does it work?” and “can you and I get along?” rather than “does it fit into theory” and “who wins?”?

  2. Just trying to see if your post can be unescaped:Some other attempts at squaring a circle. I especially like this cat which – by the way – is said to remind some people of the Firefox logo. A super ellipse may also be interpreted as a compromise between a rectangle and an ellipse.> How ScandinavianYou mean like Scandinavian pragmatism, a phrase that I first heard from the late Willy Brandt who indeed knew about Scandinavians? The tendency to ask “does it work?” and “can you and I get along?” rather than “does it fit into theory” and “who wins?”?

Comment

Leave a Reply to Anonymous Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.