Site Root : Design

Site Design

Intro

I can only describe this website as somewhat overengineered

First lets just list the software behind all this

  1. Content Management by webmake (http://webmake.taint.org>
  2. Search engine by Perlfect (http://perlfect.com/freescripts/search/)
  3. Headline snarfer by Portaloo (ftp://ftp.linux.org.uk/pub/linux/alan/Portaloo)
  4. Web stats by webalizer (http://www.mrunix.net/webalizer/)
  5. amazon books by PyAmazon (http://www.josephson.org/projects/pyamazon/)

All tools are under the GNU (http://www.gnu.org) GPL Licence (http://www.gnu.org/copyleft/gpl.html) or similiar, I modified some of the software to tweak it to my satisfaction, patches are available (http://www.skynet.ie/~caolan/Patches) of these modifications.

Basic Idea

The basic system is such that if I patch, modify or actually write some software then its a simple matter of placing the code and a README in an appropiate dir and let webmake add it to the generated website without having to worry about a thing, similiarly the headlines and everything else all updates nicely without any human intervention. The site is generated regularly, but served statically, i.e. theres no database connection to fail, no fragile serverside dynamic engine constantly running.

The whole group of interlocking parts is held loosely together with some exceedingly crufty duct tape perl embedded in the webmake directives. This creates appropiate annotation boards if necessary for new areas along with some custom handling of specialized content such as patches.

Background

The redesign of the site was brought on because I found that I had collected a most terrible mess of

  1. Ancient webpages dating back to 93/94, when websites consisted mostly of list of links to other websites
  2. Project homepages and project README's which nominally should have contained the same information, but didn't
  3. Accumulated temporary pages and navigation graphics in politically incorrect (http://www.libpng.org/pub/png/pnghist.html) gif format
  4. Orphaned patchs, half completed tasks and semiuseful documents which I continously forgot I actually had.
  5. Webpages whose content was far inferior to documents available elsewhere, e.g lists of Hello World (http://www.latech.edu/~acm/HelloWorld.shtml) in various programming languages, or linus torvalds pronouncing (http://www.ssc.com/lj/linuxsay.html) linux etc.
  6. Far too many graphics used in place of text, i.e. graphics consisting entirely of text written in a particular font and colour.

What I wanted from my own creator point of view was to...

  1. structure my content.
  2. update documents and layout for the world of modern html, and to avoid similiar problems in the future
  3. never have to manually duplicate documentation to convert it to html, i.e. keep everything in sync automatically.
  4. be able to make sitewide changes to layout by changing one location, and one location only.
  5. minimize my maintainence effort.
  6. make it all look beautiful and instill a terrible sense of envy in others.
  7. Minimize dross content.

Current System

The use of webmake allows me to meet pretty much all of my goals. Most of my content that anyone might actually want to read are the READMEs included in the packages, patches and modifications. I write them once and webmake converts them to html, some tricky perl looks around for related material and adds it to the webpage, e.g. patchfile links, source distribution tarball. Documentation stays in sync, one central location for look and feel changes and maintainence is nil. When web browsers move on and allow content to be seperated even more from layout that actually works right now, then I can track those changes without problems.

Unfortunately the tools available to me cannot make the site beautiful, and they certainly cannot identify substandard content and remove or rewrite it for me, this is still a manual task, though I have future hopes.

Why even have a website

There are two overall design goals from this perspective.

  1. to make available potentially useful bits of information and code to others.
  2. to use the website for myself, as my document archive, activity log, personal manager, and web portal.

Hopefully I've achieved these here, I would recommend that anyone putting together any kind of website spend some time reading Jacob Neilson's useit.com (http://useit.com) usability website and to take heed of some of his comments.

Last generated at Sat Nov 2 12:10:08 2013 Caolán McNamara <caolan@skynet.ie> Created with WebMake/0.5