|
Site Design
Intro I can only describe this website as somewhat overengineered
First lets just list the software behind all this
-
Content Management by webmake (http://webmake.taint.org>
-
Search engine by Perlfect (http://perlfect.com/freescripts/search/)
-
Headline snarfer by Portaloo
(ftp://ftp.linux.org.uk/pub/linux/alan/Portaloo)
-
Web stats by webalizer (http://www.mrunix.net/webalizer/)
-
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
-
Ancient webpages dating back to 93/94, when websites consisted mostly
of list of links to other websites
-
Project homepages and project README's which nominally should have
contained the same information, but didn't
-
Accumulated temporary pages and navigation graphics in politically
incorrect (http://www.libpng.org/pub/png/pnghist.html) gif format
-
Orphaned patchs, half completed tasks and semiuseful documents which I
continously forgot I actually had.
-
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.
-
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...
-
structure my content.
-
update documents and layout for the world of modern html, and to
avoid similiar problems in the future
-
never have to manually duplicate documentation to convert it to html,
i.e. keep everything in sync automatically.
-
be able to make sitewide changes to layout by changing one location, and one
location only.
-
minimize my maintainence effort.
-
make it all look beautiful and instill a terrible sense of envy in others.
-
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.
-
to make available potentially useful bits of information and code to others.
-
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.
|