Idea: Baking, Not Frying, With TiddlyWiki

12 Nov

I was talking with @psd just now about a site he’s working on that
bakes not fries.

Frying is what you’re used to as a web developer – respond to a
request by pulling data out and rendering it.

Baking is where you generate the whole page on the fly. Jeff Attwood
talks about how Moveable Type does this

What’s Movable Type’s performance secret? For the longest time —
almost 5 years — I used the version I started with, 2.66. That
version of Movable Type writes each new blog entry out to disk as a
single, static HTML file. In fact, every blog entry you see here is a
physical HTML file, served up by IIS just like it would serve up any
other HTML file sitting in a folder. It’s lightning fast, and serving
up hundreds of thousands of pageviews is no sweat. The one dynamic
feature of the page, comments, are handled via a postback CGI which
writes the page back to disk as each new comment is added. (This is
also the source of the occasional comment disk write collision, when
two commenters happen to leave a comment at the same time.) Yes, it’s
a little primitive, but it’s also very much in the spirit of KISS: why
not do the simplest possible thing that could work?

Anyway, it got me thinking how TiddlyWiki makes a nice tool for baking
sites. We already have a plugin (SplashScreenPlugin) that generates a
single static HTML page from a bunch of tiddlers on the page. It’s
used to generate the non-JS edition of . But we
could extend the concept to do much more, by doing two things (a)
generate multiple pages – say by having a recipe tiddler for each
page; (b) a separate thing I’m interested in right now, which is
rendering tiddlywiki more like a regular web page. Also something we
have some prior art on, in the form of PublisherPlugin and

The really interesting thing would be baking the pages, but still
making them dynamic in some ways, at least simple ways. e.g. hiding
tiddlers that can be slided out.

I’ll play around with it more. It’s a possibility I’ll be using it to
reinvent my homepage, but that’s been on the backburner for some years
now, so it might stay there for a bit longer.

Meanwhile, I’m using some similar concepts to build a web app
playground, similar to the framework I cobbled together to form It’s already in my TW SVN contrib directory, but
I’ll have more to say about it on the big blog soon.


Leave a Reply

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

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

%d bloggers like this: