The Wonderful World of Wikis
This mini-lesson deals with the WWW that you may or may not have known about -
the Wonderful World of Wikis. A wiki
(or wikiwiki, from the Hawaiian word for 'very
quickly') is a web-based application to create content quickly
for whatever reason you desire.
What's with the Wiki?
Again in keeping with the WWW motif we've established, you may
be asking yourself: What's with the wiki?
From my own personal experience, I can attest to the usefulness
of a wiki system.
I have always thought of myself as being pretty well organized, but in
the end, I still end up asking myself where I put things, like
everybody ends up doing at some point or another. Where my
organizational skills break down almost always is in the management of
files with little thoughts and ideas I jot down for projects I'm
working on or I would like to start in the future. I'll invariably end
up saying one day: 'I thought I jotted something down about how to fix
this bug'. The problem goes just beyond 'grepping' some keywords in
files on my hard disk. That would work just fine if the stuff actually
existed, but with some of my periodic hard disk cleanings, useful
information like this sometimes gets erased. This kind of
disorganization when you're working in the IT business means lost
productivity and that's not a good thing. Luckily, it finally occurred to me to use a wiki system to keep my useful information at my fingertips.
More about wikis
As we mentioned, a wiki is a web-based system to create content. The
first wiki was created by Ward Cunningham for his Portland Pattern Repository.
The aim was, as in most wikis, to make it easier for people to collaborate
on creating content. Collaboration is facilitated by the fact that most
wiki systems let practically anybody create and
modify content.
One of the most famous wikis, the Wikipedia website, is a giant multi-lingual wiki
of encyclopedia entries which now rivals the famous
dead tree versions. It is one of the most famous collaborative projects
after the Linux kernel. Anybody can essentially go to that site and start
creating or editing encyclopedia entries.
Another similar project is Memory Alpha, a Star Trek
information wiki. If you're a Star Trek fan, you can collaborate on creating
content about this famous sci-fi franchise.
A software projects, particularly in the Open Source / Free Software world, are using wikis to create documentation and
handle user queries. Of course, wiki implies openness, but I was
surprised to find out that the developers working on Microsoft's new OS Longhorn have a wiki, called Channel 9. This shows that the need to easily create and
maintain information and make it accessible to everyone (or anyone you choose)
is universal and wikis provide the means to do it.
How Wikis Work
Basically, the software used to create a wiki is called a wiki
engine.
This is both a content display and editing system at the
same time. Our website is not a wiki, so you can read this document
but you can't edit it. If this were a wiki site, you could click on
an edit link or button and the content would
appear in a large multi-lined textarea field in your browser. You
could then change anything you like about it and then save it. Most
wiki systems have the means to keep track of who created a page, who
edited it and when. You can even compare versions of the "page",
tracking it back through previous edits. Wikis are also meant to
free non-technical users from having to use traditional HTML markup
in pages. For example, if I wanted to write something like:
You need to be very careful with this. |
The words very careful are rendered in bold because I
know how to use the <strong> </strong> or <b> </b>
tags to produce this effect in HTML. Though this isn't a particularly
difficult thing to learn, wiki systems make it so this and other more
difficult kinds of HTML tags are not necessary. All one needs to do
to produce this effect is to put simple characters before and after
words, like *very careful* or '''very careful'''. The wiki software will
convert these special characters into the appropriate HTML tag.
Speaking of tags, the most important feature of a wiki is the ability to
link to other pages that have related content. If I created a wiki about
herbs, for example, and I created a page about medicinal herbs, I could then
create another page about chamomile simply by typing
something like [[chamomile]] while editing the medicinal herbs page. When
I save the page on medicinal herbs, there would appear a link to the page
on chamomile, but it would show up in such a way as to indicate that the
page is waiting to be created. By clicking on the chamomile link I would
be taken to the page which displays a multi-lined edit field and I'm all
set to create content. Let's say I've continued developing this wiki
on herbs and I have a page dedicated to herbs used in cooking. While
creating a page for say, rosemary, I could write
something like:
Rosemary is also considered a [[medicinal herb]]. |
Of course, you could do all of this with traditional web content, but
it would be time consuming keeping track of all the links and writing
the markup by hand (<a href="). It's also very easy to make mistakes
and link to pages that don't exist. By using this scheme [[a page]]
the wiki software creates a link to 'a page' if it exists and if not,
it creates it so you can then add content. That's where the wiki's
advantage is clearly seen. You're moving around as in a spider web,
directly to content that interests you - it's not a linear movement
where you have to pass points B, C and D to get to E. Most wiki
software comes with excellent search capabilities as well. You're never
more than two clicks away from the content you're looking for.
Your Own Personal Wiki
As I mentioned before, I found in the wiki system the perfect way to get
all my little notes, ideas, writings and anything else that made it
from my brain to my keyboard under one roof, so to speak. If you're interested
in setting up a wiki for this or for any other reason (if you need to
collaborate with others), you just need to get some wiki engine and
a Linux system, preferably, if you haven't already got one. It's easier
to set this up on a Linux system, and even if it's going to be for your
own use you'll need web server software. Most Linux distributions come with
Apache, the most widely used web server. They also come with PHP, Perl and
Python and most wiki software uses one of these programming languages.