TiddlyWiki Quiz Plugin

I’ve produced a Quiz plugin for TiddlyWiki this evening.

Quiz plugin and demo here. (And source code in subversion here.)

It’s a macro – you just put <<quiz>> in a tiddler somewhere and it will suck in all the question tiddlers, format them to show a quiz, and let the user fill their answers in.

Authoring is pretty simple – you pretty much write each question and its multiple choices out as you’d like the user to see them. The options are just a list. Any options beginning with “” are wrong, any options beginning with “*” are right.

There’s no server-side, so it’s very easy to cheat. That’s why Joe made Firebug in the first place. Isn’t it? No? Actually, this pattern is very much in line with the TiddlyWiki philosophy (and, further back, C2 wiki, where the voting mechanism was just editing a wiki page) – a lightweight solution where people are trusted to do the right thing. Would you use it for entry to medical school? Probably not. But it’s good enough for personal drills, and TiddlyWiki is after all a personal sketchbook at heart. Maybe we’ll tack on a server-side in the future to lock away the answers properly; but for now, this will do as a proof-of-concept. And besides which, most Java/Flash/Active-X/just-plain-weird corporate training tools probably hide the answers away somewhere in the client anyway. With a little ROT-13 obfuscation, we can achieve the same effect here.

And of course, there’s plenty of room for options and different question types too. This works okay as is, but many more possibilities around.

Why did I write this thing?

  • Quizzes are tied to the concept of URL Trails. It would make perfect sense for the final page of a trail to be a quiz. Or, for a longer trail, for quizzes to appear along the way.
  • I was triggered by several hours of “fun” with a mandatory training quiz which, typical of corporate training apps in any big organisation I’ve ever worked in, went out of its way to break web standards. Perhaps this here quiz plugin will be the embryo of something we can use to help improve training. Again, this relates to trails because trails have an educational flavour to them. At an organisational or project level, it’s feasible that the two would be developed as part of the same overall programme.
  • Quizzes are something I have a personal interest in.

As an aside, building plugins is so much easier with JQuery in the TiddlyWiki core, probably three times as fast …. hurrah for that!

[Updated Sep-15-2009: can reset quiz, shows number of correct options, UI enhancements, internal refactorings]

9 thoughts on TiddlyWiki Quiz Plugin

  1. Lovely!

    This is something that I have been thinking about for a while. I think that TiddlyWiki is well suited for this kind of thing. Combining a route through some URIs and some inline training content with a quiz/test seems like a great application. What’s more, it could be cheaply produced, curated and distributed.

    I also like seeing that jQuery is making life easier when writing plugins. The event handling and DOM manipulation reads really nicely.


  2. Phil, thanks.

    kS, I’m not sure I’d want the questions to be in a single tiddler, esp if the quiz gets any more complex, e.g. weighting each question. It feels more TW-esque to have a unique tiddler for each question.

  3. I like the concept of adding quiz support to TiddlyWiki.

    Have you see Paulo Soares quiz plugin?


    In addition to single and multiple selection (with weighted values for each correct answer) it also support simple true/false questions.

    I used it successfully in my coursebook adaptation. Thinking back to my standard quiz days, support for fill in the blank would be a nice addition.

    Having quizzes expressible in a single tiddler is critical for me as I need to:

    explicitly order questions (so the answers to question 10 can be used to find the answer for question 12)

    support multiple separate quizzes (one per chapter)

    Also using a single tiddler allows me to add supporting text in between the quiz questions (allowing for sub section quizzes).

    — rouilj

Leave a Reply