The same but different

This site’s new server isn’t the only change here. While the site looks much the same almost everything behind the scenes has been rewritten. Inspired by the redesign of Wired News and by the need to make my old code more flexible I ripped everything apart and started from scratch…

  • I ditched my old, clunky and increasingly embarrassing PHP code and replaced it with a slightly more object-oriented way of doing things that keeps evolving with each new site I build. Much more flexible and powerful. And less embarrassing.
  • While much of the old site was valid transitional XHTML it was far from ideal. Every page used tables for layout and it was far from being as flexible and accessible as a modern site should be. First I ditched all the layout tables (apart from my timeline and a couple of old bits of writing) and replaced them with CSS-powered layout. It took some time but was great fun and I was surprised what could be done. Some thanks are due to A List Apart among others. I was particularly pleased with the CSS-fueled photos section which maintains an identical layout to the previous tabled one (although wide images highlight a small problem(?) with <div>s not going wider than the browser window).
  • I copied and pasted all my old writing into Movable Type as I needed more flexibility than my own Chronicler could provide. Configuring Movable Type to work and appear how I wanted probably took as much time as the rest of the work put together. It’s powerful and flexible and while it can be used almost “straight out of the box,” it’s also easy to spend too much time tinkering with it to make a site look and work just so. I was, however, particularly pleased with expunging all pop-up windows, making the TrackBack section apperar inline on the page for example (see below).
  • I then implemented much of the advice given in the excellent Dive Into Acessibility, which describes how to make a website as usable as possible for all kinds of browsers and users. Some of it was already a no-brainer but other parts, such as <link> tags, were new to me.
  • The only major layout change, apart from the Movable Type stuff, was the addition of the sidebar which appears on all pages that don’t need the full width of the browser. I wanted somewhere for little odds and ends and I expect the contents of it will change over time as I work out exactly what I want it for. I also added a print stylesheet, for browsers that support stylesheets for different media.

There are still things to do. I haven’t been able to check the site on anything but Mozilla and Internet Explorer on a Mac, but hopefully it should be OK (at least usable if not attractive) on everything else; I’ll check more very soon. I had a quick attempt at HTML validation but I’m having problems accessing that site at the moment. Valid transitional XHTML would be fine, but strict XHTML would be more satisfying in a dick-swinging “look at my code” kind of way. The CSS seems to validate and I’d like to make the site Bobby compliant.

The site certainly works and looks better (I’d appreciate any comments or bug reports), and the process was extremely satisfying. But was it really worth spending most of my week off work, and many evenings before that, crouched over a laptop to achieve all this, rather than doing something more important? Probably not.