Colin's Journal

Colin's Journal: A place for thoughts about politics, software, and daily life.

October 6th, 2003

Even static pages are dynamic

Coding web pages is difficult. It has been difficult from the start of the web and has, in some respects, become harder as time has gone on and the technologies involved have grown. The preferred approach to making web site design easier used to be WYSIWYG (what you see is what you get), the idea being that Desktop Publishing was easy for anyone to do, so why shouldn’t web page publishing be the same way?

It is easy to denounce the WYSIWYG approach because of the poor quality HTML that it tends to generate, but this is to ignore it’s biggest flaw. The problem with using WYSIWYG design is not that the resulting code is a mess, but rather that the result of the design is a page.

The problem with building a web page is that at some point you will want to change the content of that page. Maybe you need to change your contact details that are at the bottom of the page. Maybe the site navigation bar down the side now needs another entry. Or it could simply be time to abandon the dark-purple on black colour scheme that looked so good when you first decided that you had something worth putting on the web.

Regardless of the motivation for wanting to update a web page there will certainly come a time when it needs to be done. If you have one page this isn’t a problem, if you have several hundred then it is a problem. Part of the solution is to separate content from design, to keep the HTML in one place so that changes can be made once. This solution has been known for a long time and yet it has not been a technique that many had access to.

The rise of blogging tools has brought this powerful technique to many, at least for journal style web pages such as this. Blogging tools have made the process of publishing on the web easy enough that almost any web reader can now become a web writer, should they choose to do so. There are still however many further improvements that can be made to make the task of publishing on the web easier. As Felix Salmon explains in today’s post, altering the templates of such blogging tools requires a significant technical ability. My own contribution to the ease of web publication, PubTal, certainly requires users to be able to code in HTML in order to generate their own templates.

I think the problem of web page template design can be solved by allowing users to work with components that fit together to form templates. Components can then be designed and built by those who know, or are willing to learn, the technologies behined them. Meanwhile users can mix-and-match components to form individual designs. Here’s an example of how this might work:

  • Have a layout component as the basis for a template design. The layout component defines areas of the screen, for example two columns and a heading, but not the content of those areas. Multiple different layout components can be developed, and users can choose to use any one as the basis for a new template.
  • Multiple “item” components can be produced which interact with the underlying content management system to provide certain pieces of functionality, e.g. links to archived material, or the content of the latest posts. These components can take parameters to allow some limited customisation. Users would then specify which of the item components should go in which parts of the layout (e.g. latest posts goes in the middle column, news snippets followed by my links in the left column, etc)
  • Both the layout and item components would produce HTML with standard class and id attributes, so that the site can be “themed” using CSS (the CSS Zen Garden shows just how far CSS can take you).

Using the scheme outlined here a GUI tool could be developed that allows for easy template design using the drag-n-drop of components. With components being distributed over the ‘net there would soon be a huge variety of template designs possible, without any of the problems of normal WYSIWYG design. The underlying technologies required to develop a system such as this are already in place, it’s just a matter of writing the tools to use them (no small task).

There are at least two other problems with the current crop of web publication tools that I’ve not written about yet: markup of the content, and the handling of non-journal style pages. That’ll have to wait for another day.

Comments are closed.

Copyright 2015 Colin Stewart

Email: colin at