For many years, as TidBITS readers know, I've been on a quest for interesting ways to store and arrange data on the Mac. This never-ending quest is plenty of fun, and I've learned a lot about many interesting programs. I've also learned something about myself: I have a two-sided personality.
One side of my personality is the power user. It likes applications with lots of bells and whistles, applications that let it tinker and construct and customize everything in sight. The other side of my personality, though, seems to be into some kind of Zen aesthetic. It appreciates elegance and simplicity, even austerity, as may be seen from my reviews of iData Pro and Hog Bay Notebook.
MindCad's Pyramid definitely appeals to the second side of my personality. It's a mind-map program; with it, you draw a chart, a visual diagram showing the relationship between ideas. Pyramid lacks the "power-user" mind-mapping features of ConceptDraw, or even Inspiration: Pyramid makes just one kind of chart, with severe limitations on its degree of complexity, according to its own layout rules, and it has no accompanying outliner.
Yet Pyramid's simplicity is exactly what's so beautiful about it. When you're trying to express an arrangement of ideas, clarity is a virtue. Pyramid is so small and simple, you can literally learn the whole program in two minutes. Instead of getting lost in a world of complex options, you just use the program, in a straightforward manner. You waste no time worrying about form; you go directly to content. Pyramid quickly becomes an extension of yourself, which is probably just what you want from mind-mapping software in the first place.
The Art of the Chart -- A new Pyramid document is essentially a blank space. Command-double-click and you get a piece of editable text surrounded by an oval. This is a "topic," a main head. Now press a Command-arrow key - up, down, left, or right - to create a child "item" of this topic, editable text surrounded by a rectangle, branching from the topic in any of the four cardinal directions, north, south, east, and west. From a child item, you can use the Command-arrow keys to create a sibling or child of that item. Thus a topic can have up to four bunches of items attached to it. The relationship between items in a bunch is shown by straight lines that are drawn for you, each bunch of items looking rather like one of those genealogical diagrams you may have studied in history class.
It is also possible, by double-clicking, to create a loose item, not attached to a topic; it can have siblings and children, but the overall bunch can grow in only one of the four directions. A document can also be decorated with two other sorts of loose object, not part of the item hierarchy. An annotation (Shift-double-click) is an isolated box of editable text. An image is created by dragging an image file into the document.
So, four kinds of object constitute a document: topics, each with up to four bunches of related items attached to it; loose bunches of items that grow in a single direction; annotations; and images. You can freely reposition each kind of object as a whole by dragging, but the internal layout of a bunch of items, or of a topic and its attached bunches of items, is done by Pyramid.
The fact that you can't manually adjust the position of an item within its bunch doesn't feel like a limitation; it feels like you're relieved of responsibility, so that you can concentrate on content while Pyramid takes care of form. It also means that the adjustments you can make are simple and clear. For example, if you do drag a sub-item, you can only mean to detach it from its bunch or attach it elsewhere to an existing item or topic - and that's just what does happen.
Upward but Not Northward -- Even a Pyramid document consisting of only what I've described so far can be useful, but Pyramid goes further by providing several extra dimensions. First, what I've described is not really a document; it's a "sheet." A document can consist of any number of sheets, in the same way that an Excel workbook can have multiple worksheets. The sheets are tab views, and you can navigate between them using tabs at the top of the window. Sheets add a top level of categorization, and they make up for the relative simplicity of a Pyramid diagram. For example, a topic can have only four bunches of items, and things can become too crowded as a topic grows; to express additional information, add a sheet.
Individual items can also have a number of useful attributes. The most powerful of these is the link. An item can be linked to another sheet, and clicking the link switches to that sheet; or to a document of any kind on disk, where clicking the link opens the document; or to a URL, where clicking the link opens the URL in the usual way. This simple feature greatly increases your document's power and depth.
An item can also have a "note" consisting of styled text. This is important because an item whose own text consists of more than a few words eats into your document's real estate. An item is thus best expressed in a few words, with any further information expressed as sub-items, a link, or a note (or all three).
Pyramid comes with an astonishing repertoire of elegant shortcuts for accomplishing common tasks. It does everything you intuitively expect a drawing program to do, and much more. You can navigate, edit, and move the objects on a sheet entirely by using the keyboard. (Oddly, however, you can't move from sheet to sheet, or jump from an item to its note, without using the mouse.) You can Option-drag to copy an item, Command-Option-drag to copy its text styling, and Command-Shift-Option-drag to copy its color. There are menu items for letting you align objects, lock objects, combine multiple objects into one, and split a multi-line object into several. Finally, an item can display a checkmark at its start or end (or both), so a Pyramid document can include a checklist, to-do list, or what have you.
A Pyramid document can communicate with the rest of the world in a number of ways. Styled text dragged into a Pyramid document becomes an item; an individual piece of editable text can be dragged out of Pyramid into another document, or you can export an entire document as styled text, which basically loses the document's structure but preserves its order and all topics, items, annotations, and notes. You can also export a Pyramid document as OPML. This is a form of XML that preserves the document's hierarchical structure, but loses its text styling. Finally, you can export a sheet as a PNG image.
Future Directions -- As soon as I started using Pyramid, I began imagining ways in which this program could grow. This is not because the program as it stands is in any way inadequate, and I certainly would not want to see Pyramid increase in complexity or clutter. In fact, when the MindCad folks told me they were thinking of allowing the user to attach a custom icon to an item, or to reconfigure the entire document's appearance (different styles of item connection lines, for example), I sort of balked; to me, this would spoil the program's clean, ascetic lines. But I do have a small wish list of possible ideas for future growth.
AppleScript: It would be nice if Pyramid were scriptable. The MindCad folks already have plans to let an individual item have a script attached to it, which might be triggered by clicking an icon; I look forward to seeing this as it develops.
Keywords: Suppose a document could have a configurable list of keywords, and it were possible to assign keywords to any item. This would allow items to be categorized, thus providing another form of hierarchy. For example, in a diagram of tasks to be done by members of a team, you could arrange the tasks hierarchically according to type or temporal order and use the categories to say who is to do each task.
Better finding: Right now there is crude text finding, which might be expanded to include finding in notes, finding on other sheets, finding keywords if these were implemented, and so forth. (Indeed, keywords would make sense only if finding included them; you want to say, "Show me all items with keyword Joe," to learn what Joe is supposed to do.)
Object hiding: One of the most important things an outline can do is collapse sub-items into their governing item, essentially making them temporarily invisible; an item is marked to show that it has sub-items that aren't presently showing. This reduces clutter and allows easy concentration on just one part of a complex structure. Pyramid could do the same sort of thing.
Better notes: Right now, notes are edited in a simple secondary drawer or inspector panel; it would be nice if the note editing milieu felt more like a genuine word-processing environment, a place for getting real work done.
Full XML export: All current export formats are lossy in one way or another. It would be nice if a Pyramid document could be exported in its entirety, including images, structure, object position, links, text styling, and everything else that Pyramid knows about it. That way, certain kinds of editing could be performed by exporting to XML, editing, and re-importing. (Compare Tinderbox, which does exactly this.)
Conclusions -- Pyramid is a breath of fresh air. The simplicity and elegance of its interface, the attention to detail, the program's clarity and responsiveness, make it useful and easy. Pyramid is proof in action of what I said when Mac OS X first came out: that Apple's provision of a great system-level application framework and free developer tools will eventually make for some really original, interesting programs. And Pyramid is very reasonably priced. Anyone who has been attracted by the mind-map idea but has found the existing programs too complex or too expensive should definitely investigate Pyramid.
Pyramid requires Mac OS X 10.3 Panther or later. It costs $30, and a demo version is available as a 400K download.