Typed Link Outlining
Ted Goranson

Tools I Use

For those who might be interested, here are some tools I use.


Tinderbox [More ] is an anchor program for me.

The creator of Tinderbox describes it as a tool for notes and has written a book [More ] about a general philosophy of capturing and relating thoughts. It is tailored for user-generated text, and is not great for images or snippet input. The general idea is that one should make a short note of anything before the insight is lost. Tinderbox’s power is in allowing you to make or discover emergent structure among those situated concepts. Described this way, the application is designed for precisely what outlining was originally conceived to support: working in the small and zooming out to the large to work with structure.

In my case, I have a starting structure in mind. I do not have a junk drawer use case.

Tinderbox’s architect, Mark Bernstein, also uses the term “spatial hypertext,” when describing its unique category. Hypertext in this context predates the web, where a web hyperlink is merely a “go to” relation. Rich hypertext is a matter of working with concepts (in text) that are related by concepts (as links). Generally, the metalevel of the links is structured so a machine can assist with organization.

Tinderbox has superior support for this metalevel with the “spatial” view being almost a live research program in visualizing this structure. I find this aspect of Tinderbox experimental and thrilling, very much along the lines of an original user interface concept for the Mac where the position of multiple windows on a screen, and spatially arranged icons in a window could mean something.

Mark brings a philosophy of “Victorian programming“ to his product, playing up the hand crafted qualities. To my mind, this includes an active involvement with the user and research communities and a personal quest to discover new ways of doing things elegantly. It is a sort of Ruskin-like approach to software.

I would define Tinderbox as four things.

— it is an outliner in the ordinary sense with tree structure. It is a particularly rich outliner compared to others, with clones and special tools. Each note is cleverly designed to have an open set of attributes and everything is an attribute: note location in the hierarchy, fonts, colors badges and so on. Most of these are changeable by the user or automated agents. Attributes provide a deep, consistent and easy way to work with outlines.

— it is a typed link hypertext environment. You can make links, usually by simply dragging, among notes and text blocks. These links have a user-definable type system, which is about the closest you can get to a machine-understandable structure that reflects human cognitive constructs. This is the hyper-text or better, “meta-text” system.

— it is a programming environment where the programs understand attributes and links and can act on those, changing some. A built in language, tailored for this is provided, and you can move to shell scripting for a greater capability if you wish. The native file format is XML, and you can manipulate that directly as well. Most attributes can be modified. This programming power extends to Tinderbox publishing and export, making it the most powerful XML document producer I know.

— as mentioned, it is a graphical environment for spatially presenting concepts and their relationships.

I make my own menus for this and other core programs with QuicKeys [More ] and DragThing [More ] .


Much of my writing is in BBedit [More ]. I use Spell Catcher [More ] in its DirectConnect mode where I can, often authoring original material in BBedit, pasting it into the target application and modifying/enriching it from there. I have a special writing mode which uses Isolator [More ], WindowShade [More ], OmniDazzle [More ] and a carefully engineered spoofing of the font anti-aliasing algorithms in Mac OS X.

BBedit has grown to support more than one structured mode and I use them in an ad hoc way, though these structures cannot see Spotlight metadata.

The iPhone’s writing environment is WriteRoom [More ] with TextExpander [More ]. (I do not yet have a satisfactory syncing solution.)


For printed and PDF documents, I use Mellel [More ]. It has a number of features that help me manage a complex document that fit what I call the outliner paradigm. This is clean and useful. Additionally, it has its own text layout engine that does a superior job, and can handle OpenType fonts well. My text font is a slightly modified Emigre Vendetta [More ] with titles and captions in Bitstream Chianti [More ]. A font set with custom glyphs is being designed.

References are managed by Bookends [More ]and in the case of books, fed by Delicious Library [More ]. Referenced texts are stored in EagleFiler [More ], linked from Bookends and internally published. Equations are created in MathMagic [More ], but I am not happy with that.

Graphics are created in OmniGraffle [More ] with which I am happy.


Some documents are written in Mathematica [More ] notebooks which can be said to use outlining in an old fashioned way: simple nesting of “cells,” which are strongly typed. These cells are Mathematica expressions and so can be manipulated themselves by Mathematica. Applications, including Tinderbox, can access Mathematica via shell and AppleScripts.

The documents I do in Mathematica include rapidly prototyped declarative code, and thus are a literate programming environments with heavy emphasis on the literary.


Reference information of all kinds is stored by OmniOutliner [More ]in a DropDMG [More ] encrypted image.

Contacts (and nothing else) are managed in Contactizer Pro [More ] because they allow nested groups, and links to relevant emails.

My to do lists are in TaskPaper [More ], imaged to the iPhone.

Legacy Applications

Palimpsest was a very capable typed-link outliner that I used extensively. It was abandoned. I was also an extensive user of Frontier [More ], both for scripting and content creation. It was abandoned as well. I now use Tinderbox for this and am very happy.

I used Nisus Writer (now called Nisus Writer Classic) [More ] and wrote a very elaborate built in outliner for it. Those products were bound to the old operating system and so had to be abandoned. They fed Framemaker [More ], using my own SGML structure. Web export was via WebWorks Publisher [More ]. This was an extremely powerful publishing combination. Adobe abandoned the Mac platform with Framemaker. I now use Mellel for this and it does the job.

Mailsmith [More ] was my mail client. It used much of the BBedit text editor, and was extremely AppleScriptable. So I made a homemade outliner to my specifications with communication capabilities. It had to be abandoned when it ceased to be an active product. Before that I used Gnus [More ]. I have no good substitute for these.

There are many other fine applications, especially those that touch outlining. The selection I use should not be taken as any absolute ranking. These just fit my workflow and ideal environment.

Small Developers

This list reminds me of one of the strengths of the Mac, its small developers. Except for Wolfram, all of these are from small shops. I suppose the Omni Group is the largest. I think most of my key applications come from a single programmer each. I would like to take a moment to thank them. My imagination works in worlds they accommodate:

Jon Ashwell (Bookends)
Mark Bernstein (Tinderbox, Twig)
John Downer (Vendetta)
Jesse Grosjean (WriteRoom for iPhone, TaskPaper)
Evan Gross (Spell Catcher)
Daniel Jalkut (MarsEdit)
Thorsten Lemke (GraphicConvertor)
Allan Liu (Jview)
Jim Matthews (Fetch)
David Nanian (SuperDuper)
James Thomson (DragThing)
Michael Tsai (EagleFiler, SpamSieve, DropDMG)
Jim Turner (QuicKeys)
Kevin Wleklinski (ImageViewer
Ben Willmore (Isolator)

And the small, quality shops: Bare Bones, Delicious, Omni, Panic, Pixelmator, Redlers. and SoftPress.

Thank you all.

I buy from Small Dog and Other World when I can.