A Personal Knowledgebase Solution: Tiddlywiki and Dropbox

Credit: chainsmokingbluemonkeyA cup of coffee and a notebook are often the key elements in collecting one's thoughts in a central location.

This article describes my solution for an electronic personal knowledgbase that is portable between locations and platforms.

One of my biggest challenges both personally and at work is having a centralized location for where to put stray thoughts, ideas, collections of information, etc. At work in particular I like to keep a quick record of anything that is setup out of the ordinary and I like to know who was involved making the decision and why the decisions were made (i.e. the chain of reasoning that lead to a particular way something is now done or set up that is different from the "normal" way).

The larger challenge than capturing that information is capturing it in such a way that it is actually easy to find, edit, add information to and, most importantly, search quickly. Email is too daunting as there is simply too much of it to properly organize, navigate and search all of it in a meaningful manner. Separate documents are no better than simply keeping and searching emails, so making Word or Excel documents or even text documents isn't a solution I can use. Creating documents can sometime require special applications to open them, and while text documents are the most broad in terms of accessibility, different text editors may have different functionality across different platforms.

Different platforms lead to another problem. At work I am routinely on both Macintosh and windows computers and at home I always use the Mac. I need something that works for both and works seamlessly and identically.

Different locations present another challenge. How do you get the same information from computer to computer almost instantly? If you use something like Google Documents you get that, but you also get the overhead of Google Documents. The overhead is not gigantic but having tried to use it already for this experiment in data gathering I can not say that it met my perosnal "data flow" requirements.

Ultimately I chose two primary tools and two secondary tools for my purposes:

Tiddlywiki combined with Dropbox is the solution to my own data flow challenge. Tiddlywiki primarily requires one thing to work properly: Firefox. Although it works fine with other web browsers, I have found that it works best in Firefox and Firefox has platform parity at all times. This solved one of my main problems: platform parity. It also solves the problem of requiring a platform specific application or having different applications gaining access to the same document and perhaps introducing different settings into the document that other applications might not be able to deal with.

I not going to try and explain Tiddlywiki in depth. It is best to read about it at the the Tiddlywik site, but in short it is an electronic notebook that acts similar to a wiki. You can create "entries" which are separate items (like a new page in a notebook) with their own titles and you can tag those items. Tiddlywiki essentially keeps everything in one HTML file as separate entries and provides a built in search feature for those entries. Tagging in Tiddlywiki isn't complicated. I have my own tagging set up in a beautifullly "reciprocal" manner that is a bit difficult to explain without seeing it in action, but that type of setup is in no way necessary to benefit from Tiddlywik and its flexibility.

Tiddlywiki by itself was my initial answer to this when I first start looking for a solution. However, I found that I still did not have a truly flexible solution to having the file with me everywhere. I use upwards of six computers on a day between three locations (two work locations and my home). I tried a flash drive briefly, but remembering it every day turned out to be more challenging than I anticipated. It only takes one time forgetting it to realize you must have yet another backup solution if you forget the flash drive and that you can get very stuck unless you havee setup the flash drive to synchronize with a folder on every computer whenever you plug it in. Then you are back to finding cross platform solutions to synchronize files in identical manners and finding a way to make sure the file is synchronized before you eject the flash drive. It was less burdensome to actually just keep a paper notebook than to come up with a solution for using a flash drive as the primary focal point of a personal knowledgebase.

Dropbox solved the problem of where to keep the file. Dropbox is a fantastic "It just works." solution to this problem. With Dropbox you create an account on dropbox.com, download the client and install it; it installs a folder called "Dropbox" on your computer (in My Documents on Windows and in your Home folder on the Mac). Anything you put in that folder is instantly uploaded to the Dropbox server. If you have the client installed on any other computer, Dropbox then pushes the upload documents out as soon as that client become available. Anything you put in to your Dropbox folder immediately gets put up to the Dropbox server and ultimately pushed out to all the comptuers that have the client installed. If you have a computer at home that you leave logged in with the client then any document in Dropbox that you make a change to on a work computer that has the client installed gets copied up to the server and pushed out to your home computer. All other computers with the Dropbox client will be notified of the change, addition or deletion of a file (if and when the client is running) and the Dropbox folder on that computer will be immediately synchronized to match the most recently changed on. This was my perfect solution: whatever change I made on one computer ended up on all the others.

My current solution is a Tiddlywiki file that lives in my Dropbox folder. At this time it is synchronized over five computers: two Windows computers and three Macintosh computers. I can open this the Tiddlywiki file on any computer using Firefox. I can create new entries, tag them, search through old ones, etc. Any changes I make are automatically saved with Tiddlywiki and Dropbox automatically updates the file on the Dropbox server and then Dropbox pushes it out automatically to all of my other computers (if those computers are logged in and the Dropbox client is running - otherwise it starts to update as soon as you login and the Dropbox client launches).

This solves all of the problems I seemed to have in keeping a centralized personal knowledgebase:

Platform parity (everything being used works equally well on Windows, Mac and Linux)

Application parity (Firefox is, in general, always the same between Windows, Mac and Linux)

File synchronization (the same file ends up on all of the computers quickly and seamlessly without me being involved in a manual process)

Can be easily searched (Tiddlywiki has a built in search feature, and you can search entry titles with the regular Firefox search as well)

Uses tagging (important for me since I already use a categorization system for "life categories)

Other important things also happen with this setup. The main thing is that my Personal Knowledge Base (PKB) is always backed up. Even if Dropbox is down or I don't have a network connection, the PKB file resides locally on my computer and doesn't require an active network connection at all times. It is backed up over five different desktop computers as well as the Dropbox server. It is accessible in read only format via login to the Dropbox website.

To enhance quick access to my PKB, I use Quicksilver and Launchy to enable immediate access to the PKB as quickly as possible. I never need touch the mouse or dig around for the file, I simply ctrl-space to bring up Quicksilver or Launchy and type in the name of the file and hit return and it launches and it ready to start work with.

Tiddlywiki itself is open to a lot of interesting setups within entries. Its markup language is simple and similar to Mediawiki and you can create tables easily. You can have entries with images or embedded videos (although I rarely use this for my PKB but I do use it in my personal work knowledgebase).

One of the nicest elements is the ability to embed web pages. I have my Nirvana Task Manager pulled directly into a Tiddlywiki entry and my Google Calendar pulled in directly below that. Many other types of things can be pulled across the web into the Tiddlywiki as well.

Since Tiddlywiki is open source and has a plug-in architecture, there are many plugins for it including encryption plugins that let you encrypt individual entries.

There is also a "Journal" feature that when clicked creates a new entry immediately tagged with "Journal" and immediately titled with today's date. Clicking on it again during the same day will pull up the same entry. This is quite nice for keeping a personal journal you don't necessarily want to push out to the world in blog form.

5 comments on A Personal Knowledgebase Solution: Tiddlywiki and Dropbox

First off, my apologies for the various typos I am still seeing, but most of all my apologies for the in appropriately captioned photo. I mean to submit a different photo instead of the original one and apparently did not hit the upload button.

http://www.flickr.com/photos/47643157@N07/4719813766/#/ was the intended submission photo.

Thanks for bearing with me on my first article as I learn the Broowaha ropes.