Building a Better WebI like to think of myself as a Web Architect. My expertise lies in designing, building and managing template-driven web sites like the one you're looking at right now. The principle reason for using templates is to achieve a clear separation of concerns between the basic content for a site (i.e. the words and pictures) and the way it is presented. This is closely related to (or strictly speaking a more general form of) the Model-View-Controller design pattern. This section also contains some articles on generating and customising GIF images using MultiGIF, BioChrome and a variant of it called BioTint. |
Building a web site is about more than just design or development. A good web architect must function like an architect of the traditional kind, marrying form with function in a building that is pleasant to look at, comfortable to live in and doesn't fall down.
A Separation of Concerns is a good thing when it comes to building web sites. Cascading Stylesheets (CSS) go a long way to help separate content from presentation elements at the browser end. In addition, the Template Toolkit allows you to do that and much more, all at the server end.
The Model-View-Controller (MVC) Design Pattern is much heralded as the "Right Way" to build web applications. Although MVC is undoubtedly a valuable and useful way to architect such systems, I believe it goes far deeper than MVC. In this article, based on a post originally sent to the Template Toolkit mailing list, I suggest that a clear separation of concerns is what is really important, and while MVC is one way of achieving it, it is not the only way. By concentrating too closely on an MVC architecture, it is possible to overlook other important aspects of the system that warrant clear separation.
MultiGIF is a program I wrote way back in 1996 for creating animated GIF images from a sequence of source images. It is rather dated now but still does the job admirably, albeit via a rather clumsy set of command line arguments...
Simon Matthews wrote a cool Perl module for manipulating the colour tables in GIF files. This page shows some of the results of me playing with it.