TiddlyMap is an amazing and useful piece of software written by Felix Hayashi which has provided graphing capability to TiddlyWiki for over a decade now.
Unfortunately, it is no longer maintained, so it is time for something new.
Introducing TW5-Graph!. The new graphing plugin inspired by TiddlyMap!
It’s designed to be lighter weight and far more flexible and extensible. Currently, it’s still in it’s adolescence, but it should already meet the needs of many people who use TiddlyMap. Why should you consider migrating? Let’s get into it.
TW5-Graph is hackable, customizable, and extensible
Like Tiddlymap, TW5-Graph allows you to use wikitext to create graphs.
TW5-Graph plugin does so by introducing four javascript widgets: <$graph>
, <$node>
, <$edge>
, and <$properties>
. Each serves its own purpose, and can work together with the other so that you won’t have to write more than a few lines of wikitext to create what you want.
Meanwhile, TiddlyMap has <$tiddlymap>
widget.
And what does that do?
The majority of TiddlyMap is coded in monolithic javascript hidden behind that widget, which provides little opportunity for users to work with the plugin outside it’s preprogrammed lines. As a result, its feature-request list has become long and burdensome, with many people not being able to do exactly what they wanted.
TW5-Graph is far more responsive
It’s faster. It has the same kind of SideBar view and simple graph editing that TiddlyMap has, but has the advantage that any editing you make to your graph takes effect in real time. It not longer has to save and refresh, which allows for faster, more responsive, and frankly more fun, graph configuration.
TW5-Graph is independent of its underlying graph engine
Tiddlymap uses vis-network, which is a fine engine. TW5-Graph uses it as well. However, it’s very old, and hasn’t seen any updates in years. Tiddlymap is stuck with it.
TW5-Graph, however, is designed separately from its underlying engine, so it’s quite capable of using any other graphing engine out there, so long as its wrapped in a plugin which implements a simple graphengine
module.
Currently, it also only supports vis-network, mostly so it will provide some familiarity for existing Tiddlymap users, but in time, it can have support for other engines, allowing it to be far more versatile and timeless.
TW5-Graph is lighter weight (No more tmap.id!)
TiddlyMap had a terrible habit of touching every single tiddler in your wiki when it was installed to add a guid called tmap.id
. This allowed TiddlyMap to track node titles even if they were renamed, but this caused problems for a lot of people. TW5-Graph does not do this! Instead, TW5-Graph integrates with Relink to manage renaming. As a result, TW5-Graph installs and uninstalls quite cleanly.
Why should you NOT use TW5-Graph??
Because it’s young. I’ve been working hard on this for several months now, but it doesn’t have feature parity with TiddlyMap… yet.
I am actively developing TW5-Graph (and I’m officially stopping my lingering support for TiddlyMap today), so if there are features you need carried over, feel free to open up a feature request. TW5-Graph should be able to grow much more easily than TiddlyMap, not only because of it’s more flexible design, but also because it has a fully-fledged testing framework (unlike TiddlyMap).
Also, currently, I’m releasing it as experimental. Will have most of the outward features done, some internal workings are still subject to change pending user feedback.
Like I said at the start, TiddlyMap was, and still is, an amazing piece of software, but I for one am ready to pass the torch. Here is the link if you missed them up above.