Behind The Scenes

This site was built in around 15 hours over about a week. Whilst it appears to be extremely simple, it is in fact a content management system with a few extra features for hosting my resume.

Graphic design

The design is my own, but I would never describe myself as a designer. I simply don’t have the skills to quickly produce what I want. A professional designer knows their tools, and can very quickly work to produce a high quality proof. I’m a software engineer and usability consultant, not a designer. That said, I do know a lot about design and usability, and I can recognise when something has been built well, which is important for me.

This site houses a few different styles (see link in the top-left corner of the screen), but the two standard ones are a dark background version with reasonable contrast and a light background with lower contrast. Both versions have an unadventurous grey-blue palette, use sans-serif fonts, no curves, no gradients, and a couple of thin lines to keep it from being boring. The dark theme is, of course, not usual for a web-site, but I’m not interested in any boring corporate firms that might prefer a straightforward website.

There is strong vertical alignment of the left hand side of the page, with very few elements earning indentation. Although my name is hidden in the top left hand corner, rather than being a little more prominent in the centre, it is the only bold element on the page, it is the darkest element, and surrounded by whitespace.

Usability

The menu on the right only has 4 options, all other pages need to be linked to. This keeps things simple and should be ok, as most users probably wont be looking for anything specific here.

Links are by default extremely subtle, so that reading is easier. If the user tries to click on a link (or even just moves the mouse around), the links should become extremely obvious, and easier to find. Other than that, it functions like any other normal website.

Document format

I have chosen to use a transitional XHTML 1.0, served as text/html. Of course, I would love to use XHTML 1.1 served as application/xhtml+xml, but IE wont like me. It did cross my mind to do it anyway, as I am not interested in working for someone who browses with IE. But alas, the more rigorous visitors might do some of their own browser testing, and that certainly wouldn’t look good. Another option might be to serve different versions to IE customers. This would have an overhead of maintaining two different templates, but might save pain when implementing the “standards-based” version.

Style sheets are of course used, I wouldn’t think of doing anything else. The iPhone/PDA version of this site (written in less than 5 minutes) should be reason enough; This sort of flexibility is extremely future-proof.

Django

Behind the scenes runs a system I wrote using Python and the Django framework. The system is divided into two modules: 1. a content management system and 2. a resume access control system. Both are extremely simple, by design, and work reasonably effectively. More will be explained on these two systems in the coming days.

Deployment

The site is hosted by Dreamhost, I am a poor student after all. Unfortunately, Dreamhost isn’t the best host for Django, in fact, it’s not particularly easy to find a host with mod_python support. Dreamhost does have fastcgi available (not fcgi), so it is possible to deploy the site, albeit with very poor performance (you may have noticed an inconsistent lag). Upstream caching may solve the problem, but then style selection would not function in its present form, as it produces different code for the same URL.