Tiddlywiki and the future of client server computing

GTD TiddlyWiki is a small HTML personal productivity app. It’s based on the workflows and lists from the popular book Getting Things Done by Paul Allen, so you’ll find the usual GTD lists like Next Actions, Projects, Agenda, Waiting, etc.

I’ve always thought the idea of using a Wiki to keep your GTD lists seemed kind of dumb, but after trying out GTD Tiddlywiki I have to say I’ve reconsidered. GTD Tiddlywiki does a nice job of combining the speed and simplicity of a classic Wiki, with some nice user interface fluff like an attractive side bar menu (generated by the contents of a special Wiki page of course), window animation, disappearing/reappearing rollover menu bars, etc.

But what really makes GTD TiddlyWiki so damn cool isn’t what it does, but how it does it. It’s completely client side (Look ma! no server!) and is completely contained in one HTML file. That’s right, no CGI, no executable. It’s completely done in client side JavaScript, CSS, and HTML. Now that’s cool!

GTD TiddlyWiki is actually a slightly customized version of the original TiddlyWiki TiddlyWiki. The changes are mostly cosmetic, but I think they succeed in changing the *feel* of the application from an odd personal web page/notebook into something that feels like a real application.

I’ve been using GTD TiddlyWiki for a few days now, and I think it’s going to become my GTD/PIM application of choice. I like that it’s a lot more freeform than Entourage, I like that my data is stored in a nonproprietary format (HTML DIV tags), and I like that it’s cross-platform.

But what really has me excited about TiddlyWiki is what I think it represents. TiddlyWiki is a glimmer at how far client side javascript and DHTML can go. Essentially, it *is* an application, but with no plugins or servers in site.

Almost everyone on the net has been blogging about how the future of web apps is DHTML and XMLHttpRequest, but I know I was still thinking in terms of feature enhanced web sites like Gmail.

What I’m now realizing is that the future of web apps may look a lot like the past of client server computing. The difference will be that rather than separate installs for each client application, the browser will be the “universal” virtual machine. Future web apps won’t be just feature enhanced web pages, but complete application that just happen to use HTML and CSS to draw their user interface and happen to use HTTP to communicate back to the server.

This is very much the future that the industry pundits were promising us during the early days of Java. Java applets never lived up to their promise, but I think a platform of Javascript, DHTML, and XMLHttpRequest will.


Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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