Dot-Head FormatWelcome to my trip down memory lane!
In September 1987, almost ten years ago, Living Videotext, or LVT, shipped the last version of ThinkTank for the PC. The company was operating as a division of Symantec.
LVT developed three outliners on three platforms -- ThinkTank, Ready and MORE, on the Apple II, IBM PC and compatibles (the label on the box boasts that it's PS/2 compatible) and the Macintosh.
These products exchanged information with each other using a format called "dot-head". If you wanted to move an outline from Ready on the PC, for example, to MORE on the Mac, first you'd export it into dot-head format, move it to your Mac thru a LAN or modem connection, and then import it.
Using this klunky transport you could render a Ready outline as a graphic MORE tree chart. It was cooool, for its day.
It's lucky that we had a standard format for exchanging outlines, because this makes it possible for us to adapt Frontier's outliner to be a Ready-like outliner for PC and Mac users.
That's going to be the first application we validate for the Frontier environment on Windows. After that we'll get the website framework running on the PC, and CGIs, and... So this is a little sneak preview of where we're going with Frontier.
With a little more luck, we'll be ready to release the first test release of Frontier 5.0 on both Windows and Mac. In its first release we'll ask you to think of it as a scriptable outliner. We had some great ideas about where to go with this idea a decade ago, and we'll explore those ideas here on the Scripting News site.
A folder of dot-head files
ThinkTank shipped with a folder of sample templates. You can download this folder, in Macintosh .sit.hqx format:
A script that reads dot-head files
This is page contains a script, suites.toys.readHeadFile, that reads a text file in dot-head format into a Frontier outline. The sample code at the end of the script reads the ThinkTank templates into a table at scratchpad.tankTemplates. To run the script, change the path to the folder to point to the folder on your hard disk.
You can read the source for this script on a web page.
Example of dot-head format file
Here's an example of an outline represented in dot-head format:
.HEAD 0 + Incoming Calls Log Template .HEAD 1 + Name: .HEAD 2 - Time In: .HEAD 2 - Company: .HEAD 2 - Address: .HEAD 2 - City/State/Zip: .HEAD 2 - Daytime phone: .HEAD 2 - Request: .HEAD 2 - Where did you hear about product?: .HEAD 2 - How would you use product? .HEAD 2 - Other: .HEAD 2 - Time out: .HEAD 2 - Notes: .HEAD 2 - Follow up:
Lines that begin with .HEAD represent outline headings. Lines that do not begin with .HEAD are part of the text attached to the headline. Some LVT outliners could have text and in Mac versions, pictures, linked to headlines.
Following .HEAD is a space, then a number, indicating the level of the headline.
Then a space, a + or a -, two spaces and the text of the headline.
Lines are terminated with CR and LF, char (13) and char (10).
When reading .HEAD, watch out for ESC, char (27). It's an end-of-file marker. There may be characters following the 27, you must ignore them.
The final versions of all the outliners but Ready could support cloning, the ability of a headline to appear in more than one place in the outline hierarchy. There was a .HEAD syntax for clones, but I don't remember what it was. Frontier's outliner does not support cloning.
I designed the original dot-head format in the early 80s back when ThinkTank only ran on Apple IIs. It was extended and re-implemented by Peter Winer, Doug Baron, Bob Bierman, and numerous other LVT people. Grandview can create dot-head files, I think. I'm not sure if Ashton-Tate supported dot-head in Framework. I think early versions of Microsoft Word supported it. We'll find out, I'm sure!
David Gewirtz did the original version of the templates.
For the story of my Visicorp and Living Videotext experiences, see Outliners and Programming written in 1988.
For a DaveNet perspective of where we're going, see Ashton-Tate's Framework, 5/17/97.
Finally, if you have a collection of useful or interesting dot-head files, please send me a pointer.