December 16, 2004

For various reasons I have recently been elbow-deep in wikis, and have come to loathe them as much as I find them useful. I’ve used or evaluated PHPWiki, MoinMoin, TWiki, TikiWiki, PMWiki, Mediawiki, Tiddlywiki, coWiki, and Trac — and I hate them all. They might be OK if you just want to use them out of the box… but the minute you start customizing, it’s enough to make you want to throw up.There are a few good things to mention. MoinMoin has got to be the ugliest wiki ever made, and if there’s a way to make it prettier I certainly haven’t figured it out — but it has the best site indexes of the bunch. You can easily get a list of all the pages on the wiki, all the wiki-words, all the orphaned pages, etc. I do not understand why more wikis don’t do this, given the magnitude of the “treasure-trove without a mineshaft” problem endemic to wikis. MediaWiki gets rid of the stupid wiki-words, and also uses stylesheets correctly to separate code from presentation — try switching from the default style to the BlueDanube style, for instance. TiddlyWiki is a sweet experiment in user interface, which unfortunately will need better plumbing to actually be useful.

But the bad and the ugly far outweigh the good. For instance, PHPWiki is now my number one exemplar of the “Why OOP in PHP is fat and slow and hard to debug” theory. Try dumping out the data on any page… no, on second thought, I can’t wait that long (hint: last time I did it, I ended up with 1600+ lines of data). An average wiki page should, in my humble opinion, take no more than .01 seconds to be served… PHPWiki regularly exceeds that by more than 10X. Now try changing any little thing, and note how this results in an instant and information-free fatal error. One of the nice things about PHP is that generally when it fails you get good debugging info… but not with its object system, which simply fatal-errors out. Or check out the fact that Mediawiki actually has two different stylesheet systems, depending on whether you use PHP4 or PHP5 — more or less totally undocumented, of course. Or note PMWiki, which I couldn’t even figure out how to install.

I know some of you are thinking that I’m a moron right now… and maybe I am. But I’d challenge anyone to take any two wikis, and time themselves doing simple basic tasks: for instance, change the main graphic, the colors, the copyright notice in the footer, and the links in the navbars. Those would be sort of the minimum customization things I’d expect to do to any software package. For extra credit, limit edit permissions to only registered users from a certain email domain, add a new CSS style for links that go off-site, and figure out how to dump out all the pages into a zipfile. Then come back and tell me how usable and maintainable these things are.

7 Responses to “WikiHateOn”

  1. Mike Says:

    I couldn’t agree with you more… I started evaluating using a wiki for the documentation portion of an open source project, but it would appear that none of the ones I see have the administration tools needed nor the colaboration facilities (I’m looking for something akin to the PHP manual). I thought that I could just hack it into submission, but when I looked under the hood it was a hideous mess if partly commented code spread over 20+ files; I gave up on that idea.

    Bottom line, wikis are nice for the end user and an interesting social experiment but if you gotta administer or hack one its just pure hell.

  2. As much as I love wikis and use PHPWiki I have to agree with troutgirl that there is a loooong way still left to go in the software. Now try changing any little thing, and note how this results in…

  3. Rami Kayyali Says:

    I ranted a little about the subject, I know the feeling about not being able to find the software you’re looking for.

    After trying tons of wikis, I still don’t feel I found the Perfect Wiki, but I ended up with using DokuWiki, I liked it, it’s simple, useful, and not too difficult to customize, maybe you should try it too sometime.

    Here’s where you can find DokuWiki:

    Something I wrote after trying it out:

    And last, what I think is the perfect wiki:

  4. Rami Kayyali Says:

    Oh, excuse the formatting, I don’t know what I did wrong to get the last two lines wrong.

  5. Ben Christen Says:

    I’ve found JSPWiki ( to be pretty useful and easy to customize. It allows for your own custom themes (which control most of the display elements). Where I work, we’ve spent quite a bit of our spare time adding plugins and tweaks and making an all CSS, very cool theme. It’s working great for an internal wiki. I can’t speak for using it as an externally available wiki (the search on is painfully slow), but, for our intrenal wiki, so far so goood! We’re a java shop, so customizing the wiki has been a no-brainer.

  6. Adam Says:

    Sounds to me like you finally grok wiki nature:

    “Wiki is largely defined by people who find it valuable enough to live with its imperfections.” (Chris Adams)

    “Mud sometimes gives the illusion of depth.” (Marshall McLuhan)

    “Imperfection generates love.” (Fridemar Pache)

  7. jbwaters Says:

    You may want to take a look at ewiki ( ). It is designed to use modules to try and avoid over bloating the basics, has some utilities that would let you convert between data storage options (of which zip is one) and uses style sheets for formating, and is meant to be embeded into other pages. I have also found the author takes suggestions well and usually adds them into future modules.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: