Sunday, 28 March 2004
Growing the Web
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.
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.