Veteran readers of my contributions to TidBITS know that I am unabashedly obsessed with computer tools for the storage and retrieval of information. They also know that an almost unqualified rave review from me is a rare thing. Hold on to your hats, here it comes.
Take a simple, yet elegant, powerful, and above all useful fundamental idea as your program's basic metaphor. Then implement it with meticulous attention to the details of the interface, taking full advantage of the Mac's features to give lots of flexibility and convenience. That's the recipe for a great Macintosh application - such as the one I'm using right now.
The object of my new affections is IN CONTROL (about $85 discounted), from Attain Corporation. It's an outliner with a big difference. Outlines, you recall, are clumps of text structured as topics and (indented) subtopics, and since you can "expand" or "collapse" a topic's subtopics (to make them visible or invisible), or move a topic and its subtopics to another place in the outline, they are great for arranging, rearranging, and navigating information of all sorts.
Here's the IN CONTROL (IC) difference. To the right of the outline you can create any number of "columns;" and into each column you can enter information corresponding to each topic of the outline: a date, a number, a keyword, a comment, that sort of thing, each column representing some concept you want to associate with the outline's topics.
And why would you want to do that, you ask? Because now you can view your outline in new ways, by sorting or hiding topics according to the criteria of what's in the columns. Picture this:
Make your outline a list of things to do, arranged into topics by some convenient typology (e.g. Schoolwork, Housework, Phone Calls, etc.): now add a column for the date and time when you want to do each thing, sort on this, and Presto! You're looking at your schedule in chronological order.
Make your outline a list of your classical record albums, with subtopics listing every piece on each album: add columns for the date, the principal instrument, and the musical form of each piece, and now - want to know what albums contain flute concertos written between 1800 and 1850? Presto! Everything else is hidden, and you're left with a list of only those albums and those specific pieces.
To write an article (like this one!), build an outline of topics and subtopics, so you can brainstorm and rearrange ideas easily; beneath each subtopic, write sentences of actual text you want to have appear in the article. Add a column categorising each topic as a "heading" or a "paragraph," depending whether it's a topic description or the actual text. Want to rearrange the ideas? Presto! Show only the headings, and alter the outline to your heart's content, with no "paragraphs" visible to mar your view. When you're finished writing, Presto! Show just the "paragraphs" instead - and since what's exported is what's showing in the current view, you can now export just the actual text (and send it to TidBITS!).
Make your outline a bibliography of books and articles, with main topics by author's last name. Make columns for date, keywords, type ("Book" or "Article"), status ("Not yet read," "On order," or "Read"), and notes. Every entry in a column can hold 32K of styled text; that ought to be plenty for your notes! The notes will occupy vertical room in the window only if they are showing: Presto! Just hide the notes column, or use the menu to show just the first line of all topics, and you can view your bibliographic info conveniently. Use the keywords to show just those articles dealing with "Aeschylus," or do a search-match to show just those books for which the notes contain the word "Laryngeal." When you're finished, export just the bibliographic information, retaining text styles, straight into your word processor.
As these examples show, you can sort on different kinds of criterion. You classify a column as text, numeric, or date-time, and IC knows how to sort and co-sort accordingly. The techniques by which IC decides which topics to hide, called "matching," are even more sophisticated. You can hide or retain only those topics with a column entry identical to, containing, or greater or less than the current entry (or to stuff you type in a dialog box) - and again, comparison is done properly for text, numbers, and dates. Sorting and matching will not expose a topic that has been "collapsed" along with its co-topics into its governing topic, so this provides a further filter (that's important: collapsing and hiding are not the same, though both make a topic invisible). You can also manually select a topic or topics and hide or retain them directly. Furthermore, retained topics can be shown as an outline (in which case the topics that govern them are shown, even if they didn't match the requisite criteria, so as to make the outline levels meaningful) or in a simple one-column arrangement, called a "table." (After sorting, what you are shown is always a "table," since otherwise the governing topics might have to be repeated several times, making nonsense of the outline.)
It's important to understand that when you sort and hide topics this way, no change is made to your outline (although IC can also sort in ways that do rearrange topics); what's altered is your view of the information in the outline. You can toggle back and forth with a button-press between such an altered view, with some topics hidden and/or sorted, and the normal view of the outline. Even cooler, you can preserve an altered view. You can hide and sort, and IC remembers the criteria and actions by which you arrived at the current altered view. You can then name this view, specifying the particular features which you regard as important, and the name appears in a pup up menu. The whole operation can now be performed again at any time just by choosing from this menu. Doing this doesn't mean, "show me just the topics that were showing previously"; it means, "do the same matches, sorts, or other changes that I performed earlier, on this version of the outline." Such preserved views are called "scripts," and are easy to create and modify. (Scripts can be transferred to a new IC file, but not copied between existing files.)
So you might think of IC as an extended outliner. For extra bonus coolness, you can extend your outline right on out of IC itself: any topic in your outline can be "linked" to any document on your Mac (assuming you're running System 7, of course)! Once you've set up a link, you select that topic and hit a command-key, and the document is opened by its application. The possibilities for this feature seem endless: demos, presentations with pictures, catalogues of documents, indexing....
I'm sure that by now you're starting to think of all sorts of uses to which you could put IN CONTROL. The adaptability of IC is certainly inspiring. Its makers also seem to have found it a bit daunting. In our present niche-oriented software market, what is this thing they've created? It's an outliner, a date-book, a database, a writing tool, a table-maker, an indexer - you try to label it, I can't. Attain's own pedestrian label ("To-Do List Manager") does it scant justice; this, and the several pages in the manual devoted to "time management," suggests to me that they're aiming at a business market. I guess that "thinking people who want to organise and navigate information" (like me) isn't considered a worthwhile proportion of the population.
To make IC seem more like a To-Do List, there's a further feature: besides the columns that appear to the right of the outline, there is also a column that can appear to its left, consisting simply of a check-box for each topic. You can hide and sort on the checked-ness of these boxes, and the manual suggests you use them to mark whether you have performed the "to-do" item. This is a column by other means, modified to fit the specialised "to-do list" rubric; to me it seems an artificial appendage.
The check-boxes, though unnecessary, are at least useful and unobjectionable. Not so, I thought, the calendar-reminder facility, even though the manual goes to some lengths to push this as a major feature. The interface between the outline and the calendar is brilliant, to be sure; but I found the component as a whole weak to the point of uselessness, by comparison to the shareware Remember?, which I use. There is no capacity to enter regular events ("every Wednesday at 5"), so if you want to use IC as an appointment book and something in your life recurs regularly you have to enter a separate notation for each occurrence, one by one. Nor can you enter dates descriptively, ("the second Tuesday of November"); you must find November on the calendar and figure out which day is the second Tuesday. And that won't be fun either, since calendar navigation is primitive (no nice pop-up menus with month names or year numbers). If an appointment comes around, you can be reminded (through an extension) even if IC is not running; but the signal consists only of a beep and a flashing icon in the menu bar, and we all know what that's worth (on my first Mac, my Alarm DA flashed for three weeks the first time before I noticed). And if you want to know what you're being reminded of, you have to open the right IC file yourself, manually. Contrast this to Remember?, which brings up an obnoxious palette in front of everything describing what's happening, and lets you bring up the calendar and list of upcoming events instantly from there if necessary. In short, the calendar-reminder feature feels artificially and inadequately imposed upon IC - perhaps (but this is just a guess) in hopes of giving it more appeal to the lucrative business market. However, I don't need IC as a calendar, so I don't care.
Aside from this, IC's implementation is beautiful and thoughtful in its details. The document window has a removable bar with some popup menus and gorgeously drawn buttons across the top; the choices have been well made as to which functions to make accessible here. There is nice use of a changing cursor. You can Undo just about anything. In short, it's clear that serious thought has gone into making IC robust and intuitive, something I can't say of certain other "neat idea" applications I've had occasion to review in these e-pages.
Keyboard navigation between topics is superb, including commands to move up or down to the next topic at the same level, whether adjacent or not, to move to the topic governing the present one, and to move to the present topic's last subtopic. You can select topics contiguously or non-contiguously. You can promote all of a topic's subtopics, or demote all topics subsequent to this one at the same level (to make them subtopics of this one). You can copy a topic with or without its subtopics. A style-sheet can be set for the whole document, dictating the default font, size, style, and color for each outline topic level; activating the style-sheet does not wipe out features not specified (if you change a level's font to Helvetica but don't specify a style, italics are not lost), and multiple alternate style sheets for the document can be maintained using a "script". My one complaint is that there is no keyboard command to move the cursor a word at a time; commands to split and merge topics would have been helpful too, and it might have been nice if graphics could be pasted into the outline.
The outline is always at the left; everything to its right is a column. The width of the outline and of each column can be changed (or zeroed, if desired), and the relative position of columns shifted, by dragging in the bar at the top of the window. Each column's text can be given an independent default font, size, style, and color. A wonderful feature is that if a column is to contain keywords, you can enable fast entry of these: if you type the first letter(s) of a keyword in the column, the computer enters the rest, and if you hold down the mouse in the column, a pop-up menu containing the keywords appears. There is provision for multiple keywords in one column for a single topic; and you can set the sort order of keywords. Another neat thing is that you can set a column so that if you make a new topic, this column will contain the same value as its predecessor, or the next in a sequence of numbers. You can also cause a single value to be entered instantly in a column for all (visible) topics. There is spreadsheet-like keyboard navigation, as if topics and column entries were cells. Thus, IC is a rapid data entry tool.
You may want to use this power to create tables or text that you intend to use in other applications. IC can import or export by copy-and-paste or (to maintain formatting) by using XTND technology. Tab/return-delimited tables are imported as topic (first column) and columns, and vice versa for exporting. When importing, tabs (or option-spaces) at the start of a line are taken as indent information: thus, you can import from any word processor right into outline form. You can export the same way, or (with XTND) export topic indentations as nested paragraphs, using rulers. A clever feature is that hidden columns do not figure in importing, exporting, or printing, and hidden topics are not exported or printed either. This makes it easy to transfer or present data in just the desired format. One of the first things I did with IC was to import a huge table I was constructing in Word; with IC's easy data entry, I'll finish it twice as fast, then export it back to Word. (The only downside to importing is that the IC file can be larger by 30 to 100%, depending on the source.) IC also has good printing capabilities, intelligently managing tables which may spread over multiple pages horizontally and vertically, and providing a basic range of options such as margin size, headers and footers, grid lines, column title style, and alphanumeric topic labels for the outline.
The manual is splendidly written: clear, simple, small, explicit, graphic. I could have used a section gathering technical information; it is possible to err too far on the side of simplicity (not all your customers will be business nerds, Attain!). Also, "later in this chapter" is not much of a cross-reference; page numbers would help. There are twenty graphic online help screens, and balloon help; even the error alert boxes are informative rather than merely punitive. Two complaints about IC. First, I hate to harp on this, but is it really too much to ask that a program shouldn't mess up the "colors" on my 16-gray screen? Not only does IC do this, it sometimes turns its whole window black, and I have to go to some lengths to recover visibility. Second, a single bad interface decision: there is a situation where text jumps from under the mouse as you double-click on it, and you end up clicking in the wrong place. Attain should rethink this one.
IN CONTROL revolves around a powerful basic concept. The interface is clean, lean, reliable, helpful, and sensible. Put these two elements into the hands of just about any user, who surely will find the program so flexible and adaptable as to serve all kinds of needs both present and hitherto undreamt of, and you've got a whole which is greater than the sum of its parts. IC is already taking over many tasks on my computer that I had assigned to lesser workers. No doubt it can do the same for you.
Attain Corporation -- 617/776-2711 -- 617/776-1626 (fax)