Searching for a Perfect Notetaking Solution: TiddlyWiki

Share via Twitter Share via Facebook Share via Linkedin Share via Reddit

TiddlyWiki as Personal Wiki

Originally uploaded by sogrady.

As I’ve written before, I’m still in the market for a personal wiki solution to satisfy my note-taking and research needs. None of the solutions I’ve tried since losing OneNote after I left Windows match up feature-wise – a tolerable sacrifice in my case since OneNote is even less cross-platform compatible than the rest of Office, which at least has some format compatability.

Tomboy, while a stellar solution for many tasks, has proven insufficient for my needs simply because it doesn’t offer a couple of key features such as tagging. It’s still a terrific little application, mind you, and I have the utmost respect for its creator Alex Graveley, but it’s just not what I need at the moment.

From there, I’ve turned my attention to wikis. While I’ve considered TiddlyWiki, I held off on really giving it a fair shake simply because I had reservations about the fact that it’s entirely self-contained. All of my notes, in other words, are contained within a single HTML file. So instead I fooled around with a couple of database wiki alternatives, included a TiddlyWiki based PHP alternative called PHPTiddlyWiki.

But after a recommendation from didier, I decided to take another look at the wiki with the funny name. In doing so, I found myself very impressed. TiddlyWiki, which can be easily downloaded and run by anyone with no install whatsoever, can be obtained here.

Basically, it’s a wiki built purely using client-side code which is contained within a single HTML file. The interface is gorgeous and highly responsive (better than Ajax, b/c there’s no calls to make, asynchronous or otherwise), and it includes features like tagging that I’ve been craving for a while. Unlike some tools, you’re not forced to adapt yourself to the tool; TiddlyWiki allows you to customize the entire interface (see my left hand nav) to suit your own purposes. It doesn’t require me to setup a webserver or a database, nor install anything in particular. It’s extensible, light-weight, and themeable and has a good community behind it. In the couple of days I’ve been using it, I find it fits nicely with my current note taking behaviors; it doesn’t try and force me to shift context away from the browser to take notes.

Perhaps its most compelling feature, however, is the way it addresses one of my initial reservations: auto-save. One of my frustrations with simple text editors for notes is that you have to constantly save to ensure that in the event of a crash, power loss or other catastrophic failure you don’t lose all of your notes. This is one of the more compelling features to Tomboy, in fact; as soon as you start writing a note, it’s saved automatically. There’s no save button in the application – that operation is done in real time. TiddlyWiki is pretty much the same. You double click on an entry to edit, click done and that’s it. You can set up both constant save as well as regular backups so that you don’t lose any work (see the dialogue box in the upper right hand corner).

If all of this makes it sound like TiddlyWiki is the perfect personal wiki notetaking tool, I can’t really argue the point – it’s tremendous, with virtually no barrier to entry (for developers as well as users, the license it’s released under is BSD). My one major concern is scalability over the long term. I take a lot of notes in this job, and all of them will be embedded within the same HTML file. Over time, I’m not sure how well that will scale – from either the TiddlyWiki/application or Firefox/application shell perspectives. I’d be very interested to hear from long term TiddlyWiki users with high content volumes on that point.

The other major limitation for some users will be the fact that it’s local. Your notes and content will generally be available on only one machine; it’s easy enough to ship to other machines via FTP or email, but there’s no mechanism for reconciling edits made in different places. For my use, however, this is not a concern.

But for the time being, I’m going to settle on TiddlyWiki, because in a worst case scenario my notes can be easily extracted as text – just as they could from Tomboy. Will keep you posted on my further experiences with the tool. Luis, I’m sure you’re aware of this, but just in case you haven’t seen it in a while I’d give it a look. And thanks for recommending I take another look at it, didier.


  1. I had looked at it, but dismissed it because (as I understood it) you had to use the browser’s file->save function to save the content, which struck me as actually more dangerous than not auto-saving, because I’d get into bad habits of not saving regularly and then be totally hosed if my laptop lost battery life or my browser crashed. If it has somehow managed to add actual autosave-to-disk functionality (which I have no idea how it would do, and I’d frankly be troubled if there are ways for javascript to do it), I’d have to look again.

    [In support of tiddlywiki and accessing it in multiple locations, I’m sure you could whip something up with cron and rsync that would throw the tiddlywiki up on your website regularly.]

  2. Luis: TiddlyWiki’s save uses ActiveX in IE and a similar mechanism in FireFox. Both require you to approve the save. Firefox however has a permissions model and you only need to do this once. TW is best used with FireFox.

    sogrady: I am also a big TW Fan and use it daily. Scalability is an issue however but Wiki’s can be surprisingly large before it really kicks in because you are just working with text. However, I am working on a project to provide a server side engine for TW where all tiddlers are stored in a DB. The idea is to improve scalability as well as enjoy some of the integration advantages a database brings. One of these is of course the seperation of code and data which in TW is in one file.

  3. I’ve thought of using TiddlyWiki, but I didn’t want to guinea pig the scalability problem…so, I’m glad someone else took that on 😉

  4. Luis: i guess it’s using the mechanism that Jack describes, but TiddlyWiki does indeed have autosave capability. it’s great. re: the cron job option, i’m agreed; what can’t be done easily, i think, is handling a scenario where you’re *editing* the different files and then synicing them. that’d be harder.

    Jack: thanks for dropping the knowledge, much appreciated. just added you, so will be tracking your efforts to make TW more scalable.

    Cote: always happy to be your tester 😉

  5. Hey Stephen, I’ve been using TW for taking notes and scalability is a concern too. Here are a couple of links that might be relevant for this issue:

    * A TW thread (http://groups.google.com/group/TiddlyWiki/browse_thread/thread/e0a36719941c340c/cc6c9cc8065566a9?q=scalability&rnum=2#cc6c9cc8065566a9) on Google Groups mentions some interesting facts about how TW scales. It seems that things get bad around 600kb of text. There are also some ideas of how to get around that.

    * There’s a server-side, non-DB dependant version of TW called MyWiki (http://aasted.org/wiki/). It uses PHP and flat files to store content. I have a feeling it should be slightly more efficient than TW.

  6. It may be late in the day but the current version (and I expect the older ones also) can easily insert a link to another file. So you can separate notes for different subjects / projects  into separate files.
    There is only one proviso. Either have all your tiddlywiki files in the same directory, or if you move them out elsewhere ensure that in the same directory there is the tiddlysaver.jar file.
    I have found tiddlywiki a great little app… and use to write ‘on the fly’ API’s for my VBA and SAS scripts.

    I don’t know how I lived without it.

Leave a Reply

Your email address will not be published. Required fields are marked *