Recently, an amazing program I'd never heard of rescued me from a quicksand of information I couldn't store and retrieve effectively, and from a quagmire of outliners, databases, contact managers, and calendars that couldn't help me. What's more, this program - on which I now rely totally - and about which I shall herein proceed to rave intemperately is currently free.
Looking for Trouble -- The problem started when I switched from academia to business, and my needs changed drastically. I no longer wanted to store and retrieve only text (lectures and facts) or simple sets of items. I now edit a magazine, and I need to track prospective articles and their authors.
Suppose John Doe sends me email with an idea for an article on programming the Mac's Widget Manager. [A fictional component of the Mac Toolbox - we hope. -Geoff] Under an outline topic "Proposed Articles" I would put a sub-topic "Doe, John" (to go with other authors who had proposed articles), and under that a sub-sub-topic "Widget Manager" (to go with anything else he might propose). I also wanted further information for each topic, so I used IN Control and added columns for an email address, a miscellaneous memo, and the date we had corresponded, ending up with something like this:
Topic Address Memo Date ------------------- --------------- ---------- -------- Proposed Articles Doe, John firstname.lastname@example.org Widget Manager good idea! 1/4/96
But there's big inefficiency here: lots of empty space. After the outline (in the first column) I have three additional columns: address, memo, and date. Yet the address column is only used with the author's name, and I'm using the memo and date columns only with the article title, so there are gaps in the outline. This is ugly and error-prone: it's up to me, the user, to remember what each line represents, and to leave the address column blank after an article title.
Why such inefficiency? Because I'm trying to hierarchically arrange two different kinds of entities (three kinds, if you count the "Proposed Articles" header) where each kind has its own set of fields. But IN Control knows nothing of this.
Enter WebArranger -- WebArranger is really Arrange, a program produced by Common Knowledge Inc. during 1991-93 or so. I never heard of it then; but recently, CE Software picked it up, and until 16-Feb-96 is giving it away as a URL hoarder. They adapted it for this purpose using a plug-in module for talking to Netscape, importing its bookmark and history files, and tracking changes to Web sites. Ignoring the Web and URL features, though, WebArranger is at its core a miraculously ingenious program.
One caution: if you're like me, you won't understand WebArranger right away. It took me hours to grasp the basic metaphors and realize what was happening. If you can't find an old Arrange manual, you can download the Help file; it's quirky and outdated, but better than nothing. This article will help too, though the terms I'm using are not the official terminology (as I find the latter opaque and confusing).
With WebArranger, you define entities you want to store, and each entity has its own set of fields. Then you can build an outline in which any topic or subtopic can be any of those entities. For my example above, I might define a Header entity, an Author entity, and an Article entity. To facilitate display and navigation of the outline, WebArranger uses a summary line where each entity occupies a single line built by WebArranger according to a format you define. When you click a summary line, the entity expands to show each field, labelled and arranged vertically. You can also double-click to expand the entity into a window of its own (to avoid shoving lines off screen). So, my outline now works like this (everything but the three summary lines - which I've marked with an asterisk - would usually be hidden):
* Header [summary line, "Proposed articles"] Header name: Proposed Articles * Author [summary line, "John Doe"] First Name: John Last Name: Doe Email: email@example.com * Article [summary line, "Widget Manager... 1/4/96"] Title: Widget Manager Comments: good idea! Date: 1/4/96
WebArranger builds on this metaphor of fields in entities in outlines, in ways so useful that my co-workers complain about my screaming "Yes!" and jumping from my chair with delight. To avoid repetitiveness, please imagine me saying "But wait! There's still more!" before each of the next several paragraphs.
To help you store massive amounts of information, WebArranger provides a second, higher tier of outlining. Every outline of entities - such as the one we've just constructed - lives in a sub-folder which lives in a folder; i.e., a two-level organizational outline. This organization is shown at the left edge of the window, and clicking a sub-folder displays its contents in the main part of the window. So, I can have a folder called Business with two sub-folders inside it, Articles and Authors.
One benefit of this organization is that one author can be associated with more than one article. To save you from needless multiplication of entities (let's hear it for Occam's Razor), WebArranger lets you clone any entity, which is like making an alias to it elsewhere in the document. All the clones are identical and changes made to one are instantly reflected in all of them. So I can clone my author, John Doe, into the Authors sub-folder, and use that sub-folder as a repository of clones of all authors. Then, if any existing author proposes another article, I can clone him or her from the Authors repository when I make my entry in Articles.
Let's make another change. WebArranger allows entities to have link fields. A link field contains one or more entities (letting you store an entity within an entity), and those entities can be clones. This lets me restructure my entities so that the Author, instead of being a separate line of the outline, appears as a field of the Article, like this:
* Header [summary line, "Proposed articles"] Header name: Proposed Articles * Article [summary line, "Widget Manager... 1/4/96"] Title: Widget Manager Link field: * Author [summary line, "John Doe"] First Name: John Last Name: Doe Email: firstname.lastname@example.org Comments: good idea! Date: 1/4/96
Since a link field can contain any number of clones, this also solves the problem of articles having more than one author. In practice, it's also better to structure my fields in this way because link fields provide automatic look-up. If I create a new Article entity, a box pops up when I tab into its Author link field, where I type the last name of the author. The Author entity with that last name is then cloned automatically into the link field.
Conversely, to make my Authors sub-folder an effective repository of all Author entities, I can set it to auto-clone Author entities, any time an Author entity is created, a clone of it is automatically placed in the Authors sub-folder. Now, when I make a new Article entity and tab its Author link field and type the author's last name, if that Author entity already exists, it is automatically cloned into the Author link field (because the link field is set up to do this), and if not, I create it in the Author link field and it is automatically cloned into the Authors sub-folder (because the sub-folder is set up to do this).
All entities have certain "system fields" which are filled out automatically by WebArranger but are not shown unless you want them - for instance, the date and time this entity was created, and the date and time it was last modified. This feature is a godsend when you're using WebArranger as a contact manager. I've created an entity type called MemoDated, consisting of a text field and the entity's creation date. Each time an exchange about an article occurs, I make a new MemoDated entity and make it a subtopic to the article. This gives me dated records of the history of contacts concerning that article.
Queries and Views -- As you accumulate large amounts of data, you can query it in useful ways. One such way is to examine an outline using sorting and matching criteria. For instance, my auto-cloning Authors sub-folder grows in no particular order, but I generally want to look at it sorted by Last Name and First Name - and, on occasion I might add a matching criterion too, for instance looking at just those Authors who have no email address. A set of criteria for sorting and/or matching is called a View, and the rules for every View are automatically saved with the outline in a handy pop-up menu. A View shows either all the lines of the outline or just those which are of one specified entity type, and can combine this with a "table" structure where rows are entities and columns are fields (like a typical database browse window).
A View can also display as a calendar: you tell WebArranger what date field is relevant, and it puts the summary line for each entity into the right calendrical location. You can show a month at a time, a week at a time, or a day-book, and though there are some limitations the interface is remarkably flexible, in some ways beating even dedicated calendar programs like IN Control 3.5.
I can't possibly describe all of WebArranger's abilities here, so let me hasten through a brief concluding miscellany. There is a good Find feature which is remarkably fast. A Gather feature lets you collect clones of all entities that meet specified criteria. A Goto dialog lets you jump to a different sub-folder by typing the first few letters of its name. You can have multiple windows on a document. An Alarms feature turns any date field into an active reminder; WebArranger does not have to be open for the reminder to work (an extension handles it), and you can turn it off, "snooze" it for a specified time, or go to the corresponding item in your WebArranger document. A "grabber" control panel lets you copy the current selection in any program for later reference; again, WebArranger does not have to be open, and your "grabbed" items are imported into a designated home document the next time you open WebArranger.
Room to Grow -- There are things about WebArranger that could stand improvement. It's not for keeping large texts in (a field can hold a maximum of something like 10K). The outliner has deficient keyboard navigation. Certain actions have the side-effect of deselecting your current selection, which is counter-intuitive and causes you to lose your place. Also, export and printing are not great.
WebArranger is one of those programs that is picky about where you click. Clicking a summary line expands it, clicking its triangle shows or hides its sub-entities, and clicking its icon selects the entity itself. If you're like me, you're sure to miss much of the time.
Perhaps WebArranger's biggest flaw is when you want to examine the deep levels of entity types and field definitions. For instance, you can find out what a given sub-folder is auto-cloning (though not easily), but you can't find out in general what sub-folders are auto-cloning what sorts of entity. Similarly, you can learn all the names of all the fields used by all entities at once, but you can't find out what entity uses any particular field.
CE Software plans to make WebArranger part of a forthcoming DayVision product suite, but I wouldn't count on an interface improvement. Remember, this is CE, makers of QuicKeys (which offers a crummy interface to some pretty great software, although it's badly in need of an upgrade) and of QuickMail (which - in my opinion - is atrocious software with an interface that gets worse with each upgrade).
Nonetheless, the release of WebArranger as a freebie is a wonderful gift. This program saved my bacon when I needed to take notes on discussions I had at Macworld Expo, and is now my primary contact manager. The program makes large amounts and many sorts of data easy to arrange and navigate; in fact, you're tempted to keep your whole life in one gigantic document. If handing this program out for free is a hook to make me pay for a chain of upgrades, I'm a delighted addict.
CE Software -- 800/523-7638 -- 515/221-1801
515/221-2258 (fax) -- <email@example.com>