A paean to the prototype
My TechEssence colleague Dorothea Salo recently penned "A paean to the text editor", a post with which I could hardly agree more. I happen to have a fondness for Pico, which dates back to my use of the PINE email system on Unix. To this day I install pico on virtually any Unix server on which I have an account, since it's brain-dead-easy interface does not tax my powers of concentration.
But that posting, as well as the Library Journal column I was working on at the moment, which will be out next month here, prompts this paean to prototypes.
A prototype is worth a thousand -- or a hundred thousand -- words. It can demonstrate what you might never be able to adequately explain in words alone. It may provide you with insight that you might never achieve until you're doing the real thing -- long after you can make major course corrections. It is, in other words, almost priceless and yet most prototypes often take only a day or two of work.
If you are trying to design anytihing more complicated than a new web page, you may want to consider a prototype. The good news is that any moderately capable technical librarian should be able to throw one together. My Library Journal column describes a few different kinds of prototypes, but here I'm talking about a functional prototype -- something that works, but may not look great or have full functionality.
Common tools for prototyping include a database (e.g., MySQL) or indexer (e.g., Swish-e. Also needed is a web scripting language, typically one of the "Ps": Perl, Python, or PHP. You can do a lot with that alone, although typically you will also need a Cascading Style Sheet (CSS), since you should be outputting XHTML to the browser. Depending on the prototype, you may also need other software, much of it probably being free open source (which helps in throwing together a simple prototype for only the cost of labor).
Although I do a lot of prototyping on my PowerBook, which of course has Unix as well as many useful prototyping applications already installed (e.g., Apache, MySQL, etc.), I often use space on a development server I've set aside to be my prototyping workspace. This allows me to share the results of my work with others more easily. If you visit, keep in mind they're just prototypes, and are not kept up or maintained in any way.
That's one of the great things about prototypes, actually -- they are meant to be built and thrown away. You don't build a prototype with the long-term in mind, you build it to learn and plow what you've learned into a system built to production requirements.
For more information, see my "Digital Libraries" column on prototypes.

Recent comments
4 weeks 3 days ago
20 weeks 1 day ago
22 weeks 4 hours ago
22 weeks 4 hours ago
23 weeks 2 days ago
29 weeks 3 days ago
29 weeks 3 days ago
30 weeks 6 days ago
32 weeks 3 days ago
32 weeks 6 days ago