TiddlyWiki: A free, open source wiki revisited

Finding code that works flawlessly after just two or three years is magical enough but after seven years?!

wiki image
Credit: SEGUNDO GUAMAN / Wikipedia

Way back in the mists of time (actually, January 2009) I wrote about a really cool tool called TiddlyWiki, a “non-linear personal web notebook”. Fast forward to today and I just had an out of body experience: Completely by accident I found a TiddlyWiki that I started when I wrote that piece and it still works!

Finding code that works flawlessly after just two or three years is magical enough but after seven years?! And given that TiddlyWiki is written as a single page Web application and considering how different browsers are now than they were in 2009, the fact that the old version of TiddlyWiki still works is not short of miraculous.

Of course, in the intervening years, TiddlyWiki has evolved and the latest version is the result of the author, Jeremy Ruston, selling his company to British Telecom, creating related TiddlyWiki services and tools while at BT, then leaving and rebuilding TiddlyWiki (you can find the history in the TiddlyWiki’s TiddlyWiki). The result? Freakin’ awesome!

TiddlyWiki has become a very polished piece of free, open source software engineering and I was delighted to find that the latest version could even import my ancient version's content. My old TiddlyWiki was a fairly large collection of recipes and other than some minor formatting issues (the latest version supports a type of markdown called WikiText so my old version’s content wasn’t correctly formatted) everything was easily imported and upgraded.

screen shot 2016 01 30 at 11.28.59 am

My old content imported into the latest version of TiddlyWiki

So, what, you may ask, does TiddlyWiki actually do? Well, obviously, it’s a wiki of sorts built as a single HTML file that's divided into “tiddlers”:

Tiddlers are the fundamental units of information in TiddlyWiki. Tiddlers work best when they are as small as possible so that they can be reused by weaving them together in different ways.

A "tiddler" is an informal British word meaning a small fish, typically a stickleback or a minnow. Other systems have analogous concepts with generic names like "items", "entries", "entities", "nodes" or "records". TiddlyWiki takes the view that it is better to be confusingly distinctive than confusingly generic.

Internally, tiddlers are a list of uniquely named values called fields. The only field that is required is the title field, but useful tiddlers also have a text field, and some or all of the standard fields listed in TiddlerFields.

Tiddlers are ubiquitous in TiddlyWiki. They are used to store everything from JavaScript code modules to the settings and state associated with the user interface.

From The Philosophy of Tiddlers:

The philosophy of tiddlers is that we maximise the possibilities for re-use by slicing information up into the smallest semantically meaningful units with rich modelling of relationships between them. Then we use aggregation and composition to weave the fragments together to present narrative stories.

TiddlyWiki aspires to provide an algebra for tiddlers, a concise way of expressing and exploring the relationships between items of information.

TiddlyWiki is an example of a “quine”, defined by Wikipedia as:

… a computer program which takes no input and produces a copy of its own source code as its only output.

Ruston points out that “it is this ability to produce a copy of its own source code that lies at the heart of TiddlyWiki's ability to independently save changes to itself.”

TiddlyWiki has been used for all sorts of purposes, most notably as a Getting Things Done platform. Here’s Ruston’s 10 reasons why you should use TiddlyWiki:

  1. With TiddlyWiki you can organise your notes your way, not their way. Your notes conform to your way of thinking rather than being forced into a hierarchical straightjacket of notebooks and tabs
  2. TiddlyWiki's nonlinear approach will actually make you think about your information in new and helpful ways
  3. Finding your notes in TiddlyWiki is lightning fast
  4. There are many ways to customise and adapt every aspect of TiddlyWiki
  5. TiddlyWiki is free and is compatible with all platforms. Any web browser will open it. You don't need to purchase an expensive program or pay a subscription fee to use it
  6. TiddlyWiki files promote the free sharing of information. There are many ways you can share your information from TiddlyWiki
  7. With TiddlyWiki, your information is yours, and you store it where you want to - on your device, on a USB stick, in Dropbox, on your server
  8. TiddlyWiki features an ever-growing number of plugins, themes, widgets, and languages
  9. The online TiddlyWiki community is friendly and will do their best to give you the help you need
  10. If you are a programmer, you have even more ways to play with TiddlyWiki. With TiddlyWiki, the more you know, the more fun you can have with it

You can just jump in and use the system without having to go too deep but once you dig in and start to understand the architecture and the features you’ll discover you can do amazing things with TiddlyWiki such as run it as a Node.js application. 

TiddlyWiki gets a Gearhead rating of 6 out of 5 (it's that good).

Comments? Thoughts? Suggestions? Send me feedback via email or comment below then follow me on Twitter and Facebook.

Join the Network World communities on Facebook and LinkedIn to comment on topics that are top of mind.
Must read: 10 new UI features coming to Windows 10