Saturday, March 01, 2008

The Sound of Silence

Things have been deathly quiet in the world of CanalPlanAC for a while now. No posts here for months, and no updates to the site since September.

Partly I have been doing a bit less - the rest of life has been getting in the way - but also I've finally found the right way forward for the site. As I said last time, I was working on a complete rewrite, and battling IE along the way. The problem with that was that I was really going to have to rewrite a huge amount of very successful code, something I didn't really want to do. At the same time, I was thinking more and more about the huge success of interactive sites - wikis in particular. Then at Christmas my motherboard died, so I took the opportunity to rebuild the computer from the ground up - I'm now running 64 bit Ubuntu; the best OS I've ever used (and I've used a few!).

So that provided the perfect excuse to redesign CanalPlanAC - copying files across one at a time, and removing all the cruft that has accumulated nearly 8 years of operational use. CanalPlan AC is a pretty good example of a three tier architecture (although the application and data tier are glued a little closely together) and I'm reworking it deeply, but only to the extent necessary at each layer:
  1. The old version used static text files for the data, and built databases and quick-access files from them at build time. Any adjustments that were made were either queued for later (new places for example) or were cobbled on (like comments or changes to coordinates) and didn't get into the real data without a lot of mandraulics. The new version lives on a layer of databases: if a new place is added it is immediately available for route planning.
  2. The old version used a pile of HTML versions, improper doctypes etc. I'm not aiming a full compliance with the new version (I want to use non-standard extensions for things like turning auto-complete off), but I am aiming for three green ticks on the Firefox web developer toolbar. As you can now run Internet Explorer on Linux(!) I can check that the pages work, and stick all the nasty sticks and props in that are necessary to work around IE's rather strange habits (like hiding all floats inside divs without a width, for example). I'm improving the appearance of the pages without going over the top.
  3. I'm cleaning out the middle layer - removing old code (support for very old browsers, experimental features that never got turned on, that sort of thing), pulling things together (the live version has two different user account systems - one for photos and one for saving routes - neither of which is bug free).
I'm putting a few constraints on the user here. They must have reasonably modern browser with Javascript and session cookies.

Here's a screenshot of the index page on the development version:

This is pretty representative of the new version. Highlights include:
  • It still looks like CanalPlanAC - the yellow background (for route planning; blue for gazetteers and a new pale red for editing) is still there - I'm not gratuitously changing the user experience.
  • A new logo donated by a user
  • Rounded coloured bars for menus
  • "Edit" or "Add" boxes for the quotes, events and photo data (the "Edit" links with the arrows produce a drop-down menu for "Edit/Add/Delete".
  • The quote, photo and events are pulled into a static HTML page using AJAX techniques.
  • All pages tested to work down to 800x600 - below that you have to take your chances.
So that's where I'm at. Back to coding!