History of TiddlyWiki - interview transcript.

Saq: So TiddlyWiki, that’s a bit of an interesting name. What are the origins of that?

Jeremy: <laughs> Right, so it’s a ludicrous name, and in many respects it was, um, a crazy decision, but then, I guess I’ve ended up with a name that’s -– hopefully -– warm-hearted, and maybe funny, which is probably better than it being something completely dry. But the real problem with it is that in the UK a ‘tiddler’ just means something small. So you talk about a tiddler as, like, a tiny fish that isn’t worth keeping and you throw it back. But it turns out the word doesn’t really exist in other cultures. And so, um, I think that particularly people from the US struggle with perhaps it could have an, uh, inappropriate meaning. But <puts hands up> it doesn’t have an inappropriate meaning. <smiles>

Saq: So, when you started working on TiddlyWiki you must’ve had some sort of goal in mind. What were you trying to achieve?

Jeremy: Yes, well, it’s part of a lot of work I’ve done over the years in Wiki’s. I’ve been interested in Wiki’s for seven or eight years, and worked with them professionally – all the organisations I’ve worked with for the last eight years have used Wiki’s. So there’s a range of things that are.. a range of topics that I’ve been interested in for a while with Wiki’s. The particular thing that prompted me then was that I wanted to participate in the blogosphere, which kind of technically meaning having a website that I could write on and an RSS feed that people could subscribe to, but I recognise some of my weaknesses as a writer, and one of them is that blogs, to me, well .. it encourages you to write in a kind of long passages of text, and kinda what you end up with is a stream of consciousness. And I wanted to find a way to write in the same way, to try and write every day, just have the same discipline as a blogger, but instead of creating a stream of consciousness, to kind of knit together a coherent manifesto of my beliefs. So I was hoping that by dripping in a little bit of content every day, what I’d end up with was something that would be much more useful and consumable than a stream of consciousness. But of course, <laughs> when I actually created TiddlyWiki, I never quite got around to using it in the way that I intended.

Saq: So to provide some context, perhaps, what else were you working on at the time?

Jeremy: So back then, my second ‘dot com’ had just failed, about four months before, I think. Four or five months before. So I’d been doing some consultancy work for various people I’d worked with in the past in London. Just kinda little bits of work. And in fact, what I hoped I was going to be able to do was somehow come up with some fantastic commercial idea and build a business. And at first, I was kinda disappointed that TiddlyWiki seemed like it wasn’t going to be that idea, because interesting though it was, it’s a real struggle to apply conventional Web 2.0 funding models to something like TiddlyWiki. It’s really animicable to the normal ‘gate-keeper, charging people for premium usage and stuff’. So, did that answer your question?

Saq: Yes, I think it does.

Jeremy: I think I might have drifted. <smiles> Sorry, Saq.

Saq: That’s okay. <smiles> So, um, TiddlyWiki, it’s got what’s sometimes described as a bit of an exotic storage medium. Y’know, all the tiddlers are saved in one file. Perhaps you’d like to talk us through the inspiration behind that.

Jeremy: So, when I first did TiddlyWiki, one of the ways I thought we’d deliver it would be as a.. <pauses> ..you’d write text, using normal HTML, and then drop it into TiddlyWiki.js as a kinda unobtrusive javascript that would kinda TiddlyWikify your existing content. So to begin with, that allowed me to focus on the UI part of the problem and not think about storage. And at that point, probably if I’d been familiar with a particular server-side architecture then I would have probably handled the saving problem by writing a conventional server-side. But at the time, there was no decent web-based server tool that I was particularly familiar with, but I was getting really into javascript and loving it, so I kinda set myself the self-imposed constraints of ‘right, let’s just not have a server at all’. And that was also ‘cause the webspaces I had at the time was only static, it was given to me by a friend’s computer in the attic, <looks into the camera> thank you Steph! And, um, so at the time it would have been a nightmare to have gotten anything dynamic up and running.

So, sorry to be drifting, the very first version of TiddlyWiki kinda skipped the saving problem entirely. It would let you edit stuff, and when you pressed ‘save’, it would pop up a window saying ‘oops, we can’t save this in any useful way, copy it out of this text box and copy it into a text editor somewhere else’. That was a real cop-out, obviously, and it meant that the very first version of TiddlyWiki was a fascinating experiment but it was hard to see how it could be made useful. The first reaction from the internet community when I released it was very, very positive. People were saying, ‘gosh, this is a mind-blowing UI’, ‘this is the future of Wiki’s’ and all that great stuff. But every single person also said, ‘it’ll be great when they fix saving’. And so I was sitting at home, being amazingly grateful for all this kind of recognition, but also being really frustrated because I was trying to say to people, ‘of course, it’ll never be able to save; it’s impossible for a HTML file to save changes onto your local harddrive, don’t be ridiculous’.

And for two months, maybe, I was getting really frustrated that so many people would say that, and then, rather as is the way of these things, because of the pressure, eventually I started thinking, ‘well actually, maybe you can’ and discovered.. well, the internet is a fantastic resource for finding out about web development, and so there are a lot of clues out there if you know where to look, and within two days of each other, I think, I found a path in ActiveX, in Internet Explorer, which is to use a built in ActiveX controller as file system access, and a separate path in Firefox, which is to use the XUL components that give you a file API. So it was an immense surprise to discover that it was possible.

Pages: 1 2 3 4 5 6 7 8 9