I reflected 3 years ago in this blog about the state of the wiki movement, and even I implemented a toy wiki in Scala at some point. If I check these pages, I’ve mentioned or linked a wiki 90 times –true that the Wikipedia is important, but there are other wikis–, so wikis are still a significant part of how I experience the web.
Recently I ended in the pages of the Oddμ project again (yes, again). As the page says, it is a minimal wiki. And it is exciting and inspiring in its simplicity –although it was simpler when I first learned about it in Alex’s blog–.
Some time ago I mentioned the project to a friend, and being perhaps a “hardcore” wiki user –certainly more than me–, he wasn’t too impressed because the limitations of Oddμ’s simplicity. One of the more significant features was the lack of edit history. I don’t recall the conversation 100%, so this may not be a direct quote, but: is Oddμ even a wiki?
I mentioned that on Masto, and I was pointed out that the original wiki –now a static site with awful navigation– didn’t have edit history initially, and that it was added later on to deal with spam and vandalism.
Someone shared two links to c2’s wiki, that are very interesting and led to this post:
According to the first link, a possible “minimal set of principles” that make a wiki could be:
- Automatic link generation. You can refer to a page, and if it doesn’t exist, it generates a link for that page to be created.
- Content editable by all. And that “all” can be a limited set of people, but the idea is about open collaboration.
- Easy text input. Just a form and not HTML. Could be wiki text, markdown, a WYSIWYG, etc.
- Back links. It must be possible to easily find which pages link each page. This one I didn’t think about!
Then there are additional features that are considered almost required because they improve the experience significantly:
- Recent changes. Show what pages were edited within some period of time. Although depending on the wiki, this doesn’t scale. The Wikipedia allows you to subscribe to changes of a subset of pages, for example.
- Find a page. Search support, and it is interesting that it wasn’t in the minimal set!
- Page differences. See the changes made to a wiki page. Which may sound similar to the history feature we were discussing, but technically this could be the differences between the current version and the previous one.
- List all the pages. This would be like a site map.
Then there’s another list of features that are offered by some wikis, and I think is perhaps what we expect now to be the full feature set of any wiki engine. This list includes page history, user names and edit conflict resolution –an important one!–, among others.
The second link is about a competition:
What’s the shortest piece of source you can write that will implement a fully-featured wiki?
And there are links to some proposals, and they are super cute and inspiring. Evidently nothing you would run in “production”, but still a fun “code golfing” exercise.
Which left me thinking that I may want to host my own wiki. I know I tried to do something similar in this blog with my notes. I wrote some content, but then I realise I have been doing some significant amount of sysadmin work recently, and I didn’t feel the urge to publicly document any of it. I guess editing a Markdown file and updating the static site isn’t really quick –not a lot of friction, but friction nonetheless–.
I’ve looked at wiki engines in the past, and they generally have something that makes my sysadmin senses tingle and I end giving up with “OK, I don’t need a wiki” –that is how the notes idea came about–. They are generally too complicated for my personal needs or use technology I don’t like to self-host, and that all comes with some risk without a clear benefit.
At the end, all this reading of what “makes a wiki”, and getting inspired by Alex and his Oddμ, now I’m thinking as well that writing my own blog engine was a big part of me blogging back in the early 2000s, so perhaps that’s what I need: write my own wiki, and use it!