Template Driven Web Design

..has been a popular phrase roughly since I started writing dynamic websites in 1998. My first exposure came with a Webmonkey article which was required reading while on a consulting assignment for the New Media firm Thoughtbubble.

Templates are used by all popular server side scripting languages including Perl, PHP and others. The idea has become the default method of serious dynamic website preparation.

Look at this real estate site I programmed for a talented web designer in Spain. Notice the consistency of the appearance? The designer took the templates I provided, and molded them into the esthetic, easy to use design of his making. Yet without interfering with the functional parts that my program had to fill in whenever a search query from a visitor came through. The simple beauty of templates!

What Brian Slesinsky talked about in that 1997 article was how to separate the design, i.e. the look and feel of a website from it’s content. Really the article concentrated on dynamic, CGI script delivered content, but in its essence the issue addressed was a futuristic look at the basic principles of content management systems as well as the older issue of CGI content delivery through templates.

The simplest way to prepare web pages are by creating files containing the content plus HTML markup on individual files which are stored on the server for retrieval by visitors through their browsers. This is how a static website is done, still the most popular method for most smaller sites.

Going a step further, an HTML template is prepared containing symbolics which may be filled in by a CGI script or other dynamic delivery method such as ASP. The programmer then gets what they need, a ready HTML page with preset spaces for the data they generate through their programming.

And the designer gets what they need, a file from which they can create their markup, getting the kind of user interface and display effects they are after while knowing that the dynamic data will be handled by the program that is responsible for that portion of page creation.