TabbedSinglePageMode for TiddlyWiki
“SinglePageMode” is a typically neat little TiddlyWiki plugin created by Eric Shulman. It restores the more conventional wiki behaviour of having a single page open at once, so that clicking on a link replaces the current page, rather than inserting it below, as TiddlyWiki usually does.
Eric’s plugin has been deservedly highly popular. It seems that for a significant proportion of situations/users, the default TiddlyWiki behaviour of having multiple tiddlers at once is just too complicated. Having a community plugin to ‘fix’ this is a great solution, allowing TiddlyWiki users to choose which behaviour they prefer.
But, from an interface perspective, one of the things I find troubling about the current implementation of SinglePageMode is that it rather takes away the whole point of TiddlyWiki: after all, it started out as an experiment in having multiple wiki pages at once, with a view to making it easier to refactor content between pages. It’s also frustrating to have to have two separate modes of operation, with slightly inconsistent behaviour.
I’ve given quite a lot of thought to how one might somehow unify these two modes, to give the clarity of single page mode without giving up on the ability to quickly flick between multiple open tiddlers. I just came across some sketches buried in an old virtual machine from 2006 that show one approach that still looks like it might be interesting.
When a single tiddler is displayed, it looks much like an ordinary TiddlyWiki screen:
When a tiddler link is clicked on, the new tiddler opens in front of the previous one, building up breadcrumbs as a sort of rolodex of tabs:
Then the idea was that by riffling the mouse over the breadcrumbs you’d get a popup that allowed you flick back and refer to an earlier tiddler:

I’m not sure why I drew the popup at a reduced size, I’m not sure that that’s a good idea. I’d also intended to draw a frame showing a similar popup when hovering over any tiddler link.
I took some care to try to make it possible to implement this design with minimal changes to the TiddlyWiki internal Story object, it should be possible to do most of the work with CSS. I was imagining that there might be an ‘expand’ button over near the breadcrumbs that floops the various tiddlers out to their fully expanded size, looking like an ordinary TiddlyWiki.
Although I never implemented this design, I’ve not stopped thinking about these issues, and am exploring some of them in Project Cecily.
UPDATE: There’s some further discussion on the TiddlyWiki developers group.
Oxford Geek Night 22nd Oct 2008
I’m looking forward to speaking at next week’s Oxford Geek Night at The Jericho Tavern. I’ll be talking about TiddlyStuff, including Project Cecily, for the first time showing it off on the new Firefox 3.1 beta.
Gosh, I just blogged.
links for 2008-09-07
-
Beautiful jQuery implementation of a parallax engine
-
How cool. Osmosoft is a skin product in Taiwan. I'd love a pack of these…
links for 2008-09-01
-
TiddlyWiki equal 78th in a list that "is compiled from the contributions of 193 learning professionals (from both education and workplace learning) who shared their Top 10 Tools for Learning". Cool!
-
Lisa Janice Cohen continues her guide for using TiddlyWiki for planning novels. A beautiful example of a "vertical edition" of TiddlyWiki
-
I'm talking at Oxford Geek Night in a couple of months, and looking forward to it a lot.
links for 2008-08-31
-
Yay, my friend Myles McDonnell is taking his first open source steps with this .NET tool
-
Pretty glorious wireframe physics demo in AJAX2.0
-
A really much nicer colour chooser thingy than the previous one I used to use
-
Notes on the native touch and gesture events that Apple have added to Safari on the iPhone (sadly they don't seem to be supported on multitouch Macs)
-
Ooh, interesting stuff for Project Cecily. Paul mentions in another post that CSS Transforms are supposed to be coming in Firefox 3.1. Wow.
What is the Point of Osmosoft?
Osmosoft is the team of a dozen people that I lead within BT. It is the result of BT buying my tiny open source company in May last year. To the consternation of their corporate finance people, they did this despite there being no staff, no revenue, no sales, no customers in the conventional sense, and no “intellectual property” (the rights having already been made over to a non-profit organisation in Silicon Valley).
I was told that the rationale for the acquisition was something like this:
“We see innovation happening on the edges of open source communities, and we need to understand how it works”
It’s pretty refreshing that it talks about communities and innovation, and not, say, just something about lowering license fees. That statement was one of the reasons that I pursued the opportunity with BT. After a few conversations with my boss, I arrived at a basic set of four goals to sit under that rationale:
- Drive adoption and improve the BT Web21C SDK by developing open source applications to exploit it
- Build a world-class open source web development team, exploring how open source can make it easier to find and assess talent
- Contribute to the innovation and adoption of the TiddlyWiki system, exploring the central question of how innovation occurs in communities
- Do all of these things transparently and publically, so that others in BT can follow us and learn from our mistakes
After a few months it became clear that we needed to improve our approach to the governance of open source usage and contributions within BT. I was given responsibility for it, and we added a fifth goal:
- Evolve governance policies and procedures to remove the internal obstacles to working with open source, to maximise the benefit from doing so, and to protect BT from any attendant risks
In doing all of that, we adopted a few basic principles to guide us:
- Show, rather than tell. The best way to learn about something is to experience it directly
- Communicate with our colleagues across BT using the public internet to ensure the widest audience, and to allow collaboration with other organisations involved in similar endeavours
- Put developers together in the same room to maximise the collaborative bandwidth
- Treat TiddlyWiki as a microcosm of the kinds of open source projects BT might be interested in, particularly in terms of the innovation that can be seen in the TiddlyWiki community
In subsequent posts, I’ll talk about our progress against those five goals, and some of the work we’re doing to evolve decent metrics for the success of our work.
links for 2008-07-25
-
An interview I did with O’Reilly GMT at OpenTech earlier this month. Breathless stuff
links for 2008-07-24
-
Very cool animations under construction at Dojo. Took me a bit of digging to figure out how they’re done…
links for 2008-07-23
-
Platform for running JavaScript web applications in the cloud (created by the people who did the much missed Zimki service)
-
Amazing TiddlyWikiFiction prototype in German. I wish I could understand it, but it looks beautifully done
links for 2008-07-18
-
Chris Dent on his work on TiddlyWeb. As I’ve said, this is the most fun I’ve ever had watching someone else write code…









