Recently I was writing one short article and one far longer chapter on the JavaScript DOM. Much to my surprise, I seem to have thought of something new during this writing. For the article I created a simple example script that allows the user to add or remove form fields at wish. Concluding the article, I concluded that the W3C DOM allows the user far more control on his web pages.

The idea

After some more thought I decided that this idea might lead to a radically new way of creating web pages and that I urgently needed the opinions of my peers. So I wrote a mail to Evolt and my own WDF-DOM list with the following theory:

Basically, since the W3C DOM allows us to completely rewrite the page according to the wishes of the user, we should design web pages in a new way. We no longer need to take serious decisions about how the site will work, how the navigation, the forms and the other elements interact with the users. Instead, we can offer the user a way to create his/her own web page, with exactly those elements and that interaction he/she wants, likes or needs. Thus one web page can look completely different for two users.

At its most extreme, usability specialists no longer need to decide how the web page will work and how the user would like to interact with it. Instead, they should decide how the "control panel" of the page should work, how the users can create their own page with a minimum of fuss.

On the whole the reactions were positive. Some members brought up practical problems (how to store the user's private interface, that sites might start to look alike if users can redesign them at will). While these considerations are not unimportant, they should be deferred to the future. The first question is: should we give the user such control, exactly what will this control consist of, and what will this control be good for?

Interestingly, no one referred to any article or website about this theory. It seems that no one has thought of it before (or, at least, has written about it), which in turn might mean that I'm the first one to think of it. Good for my ego, but it also means that we're groping around in the dark. (And if anyone does know about an article that discusses this idea, I stand ready to be corrected).

So we've got a new idea. Is the idea worthwhile?

What's it about?

First of all, let's make the idea itself somewhat clearer. The reactions showed that people thought I was talking about users influencing the design of the site or calling up new data. I meant neither.

Sure, we can write a script that allows the user to pick a design of his choice or even to upload his own background images (and incidentally, we don't need the W3C DOM to do this). Sure, ideas like the Semantic Web might allow us to request and control data flows in the future, but structures like it aren't operational yet.

What I meant is the users influencing the presentation of the data, not design-wise but interaction-wise. Let's return to my simple example script. The idea is the following:

  1. Users can enter short CD reviews. Each review consists of a set of form fields.
  2. How many reviews does the form allow? In the past we web developers had to decide on a certain number. Maybe we could add some DHTML to make the form more usable, but the users couldn't change the maximum number of reviews.
  3. In this example, though, the user can choose exactly how many reviews he wants to enter. If he needs more form fields, he clicks on the button and gets them. If he wants to remove a review, he clicks on another button and the review is completely thrown away.
  4. Submitting the form sends all reviews to the server.

In this example the user cannot influence the design of the site. He doesn't need to, either. Nor can he influence which data he views. Instead, the script allows him to personalize the form itself, so that entering data becomes a much easier job and he can choose how many form fields he needs. So the user is allowed to control the interaction, but nothing else, of the page.

This is what I meant.


Members saw some problems with the new idea. Some of the more interesting are:

None of these problems strikes me as unsolvable.

What kind of site?

Of course a lot depends on what kind of site you're making. I made the following division:

Sites it will work for:

Sites it won't work for:

In short, it will work on sites that offer a lot of information. It won't work on sites where user experience is more important than information.


So what shall we do with the W3C DOM? It all depends on good ideas. It might be possible to open a new chapter in user interaction, but we need some good, solid, above all practical ideas.

The IHT site, the best practical implementation of the unique possibilities of the W3C DOM so far, offers the users limited control over their environment. They can adjust the font size, and can switch between a 1 and 3 column layout.

How could this interface be extended?

We could think of offering the user however many columns he'd like, or to view several articles simultaneously. Maybe someone else has more ideas...

Another good idea is to use the W3C DOM to program a wysiwyg-like application that allows people to create their own websites.

But we need more ideas. We need, say, a dozen scripts that implement this idea in a small way. Then we could start evaluating them, see which functionalities are unique and which aren't, which functionalities the users like, which functionalities offer a true chance to build websites in a radically new way.

Please use your imagination and write a practical W3C DOM script that allows the user control of his environment.