mark nottingham

Growing the Web

Sunday, 28 March 2004

Ian Hickson is thinking about client-side technologies (scroll down a bit). Some of his ideas resonated;

Sortable tree views and list views with rich formatting. Do a search on eBay, and you’ll find you have to hit the server whenever you want to change the sort order. That shouldn’t be necessary.

+1; after reading Adam’s thoughts on client-side stuff, I played around with the idea of annotating HTML tables to allow them to be sorted by a particular column or row; there’s no reason why the sorting of a UL or OL couldn’t be affected by events as well.

Exclusive sections: At the moment, an implicit semantic of HTML documents is that all the content is always visible, you need but scroll to it. But in some applications this makes no sense: you may not want the login screen to be on the screen at the same time as the query page, for instance. At the moment you can work around this using CSS and display:none, but that’s not semantically correct, and it breaks when you disable stylesheets, which it shouldn’t. Having markup that actually means “hide this until it is activated” would solve this.

What’s the big deal about stylesheets; why would anyone disable them? Accessibility?

Remote eventing. I was recently reminded that HTTP is a client-pull protocol, but that in many cases there is a need for server-push. Now, you can fake this using an iframe to a document that the server doesn’t close and into which it keeps dripping script blocks, but that’s a hack to say the least. What would be nice is a way of letting a remote server trigger DOM events that standard DOM3 Event technologies could hook into.

I wonder if Ian has seen KnowNow or mod_pubsub. Another way to go about this, of course, would be to run a proper HTTP server on the client, but that’s a little more ambitious…

It’s good to see people thinking about the next generation of Web functionality on the client side, and leveraging what’s already out there (HTML, HTTP and URIs). The challenge is aligning it with good server-side technology and making sure that it addresses the problems at hand. The other half of the problem — metadata to support tooling, and APIs that promote good practice — is also crucial.


2 Comments

Ian Hickson said:

I disable stylesheets regularly, when the site is ugly and makes it hard to read (that means pretty much any site that uses small fonts, big fonts, or dark backgrounds with bright text).

Similarly, when I use Lynx, stylesheets are disabled. And Google doesn’t see stylesheets. And when I browse on my phone, I usually browse with author styles disabled.

Stylesheets were designed right from the start to be simply optional hints to the UA as to how the author wants the page rendered. If a page requires the stylesheet to work, then either it is broken, or the technology it is depending on has failed it.

I didn’t know about mod_pubsub per se, but the techniques it uses are similar to the commonly used hack to which I referred.

Any comments are welcome. E-mail me if you reply. :-)

Sunday, March 28 2004 at 3:19 AM