MORE

The main subject of these posts is about Obsolete software and file formats. I prefer to focus on older software titles and collect them when I can. I have also found older Macintosh software to be particularly interesting as many of the qualities of early Macintosh use is lost today. In researching a very early Macintosh title, I came across an article from 1999 written by the Washington Post, the article, now 26 years old, was already commenting about “antique” software which was less than 20 years old at the time. Is there a term for even more antique? The title of the article? “Old Enthusiasts Are Scouring the Web to Find ‘Antique’ Software”. I feel this hasn’t changed, I still scour the web to find old software, and if the enthusiasts were “old” 26 years ago, then I am ancient.

Back in 1983, a little company called Living Videotext run by Dave Winer, who had developed a couple products for the Apple II, saw an opportunity to bring their product to the Macintosh. Their product, ThinkTank, was the fourth title to ship for the new Macintosh released in 1984.

Thinktank was an “idea processor“, not a word processor, but “a tool for organizing your thoughts on a computer screen. You could create an outline, then indent, move an item up a list, or out a level. Flesh out the details, and quickly record a top-level idea you had overlooked.” It was the beginning of outliner tools created by the company.

% hexdump -C Sample | head
00000000 2e 48 45 41 44 20 30 20 2b 20 20 4d 61 6a 6f 72 |.HEAD 0 + Major|
00000010 20 4c 65 61 67 75 65 20 42 61 73 65 62 61 6c 6c | League Baseball|
00000020 20 54 65 61 6d 73 0d 2e 48 45 41 44 20 31 20 2b | Teams..HEAD 1 +|
00000030 20 20 4c 65 61 67 75 65 73 20 61 6e 64 20 44 69 | Leagues and Di|
00000040 76 69 73 69 6f 6e 73 0d 2e 48 45 41 44 20 32 20 |visions..HEAD 2 |
00000050 2b 20 20 41 6d 65 72 69 63 61 6e 20 4c 65 61 67 |+ American Leag|
00000060 75 65 0d 2e 48 45 41 44 20 33 20 2b 20 20 57 65 |ue..HEAD 3 + We|
00000070 73 74 65 72 6e 20 44 69 76 69 73 69 6f 6e 0d 2e |stern Division..|
00000080 48 45 41 44 20 34 20 2d 20 20 43 61 6c 69 66 6f |HEAD 4 - Califo|
00000090 72 6e 69 61 20 41 6e 67 65 6c 73 0d 2e 48 45 41 |rnia Angels..HEA|

The files created by ThinkTank are plain text with the ASCII “HEAD”. There was also a DOS version of ThinkTank, but the files used were .DB and .SAV, although the templates in the .TXT format did use this same format.

% hexdump -C SAMPLE.TXT | head
00000000 2e 48 45 41 44 20 30 20 2b 20 20 50 65 72 66 6f |.HEAD 0 + Perfo|
00000010 72 6d 61 6e 63 65 20 52 65 76 69 65 77 0d 0a 2e |rmance Review...|
00000020 48 45 41 44 20 31 20 2d 20 20 4e 61 6d 65 3a 20 |HEAD 1 - Name: |
00000030 0d 0a 2e 48 45 41 44 20 31 20 2d 20 20 4a 6f 62 |...HEAD 1 - Job|
00000040 20 54 69 74 6c 65 3a 20 0d 0a 2e 48 45 41 44 20 | Title: ...HEAD |
00000050 31 20 2d 20 20 52 65 76 69 65 77 20 44 61 74 65 |1 - Review Date|
00000060 3a 20 0d 0a 2e 48 45 41 44 20 31 20 2d 20 20 52 |: ...HEAD 1 - R|
00000070 65 76 69 65 77 20 70 65 72 69 6f 64 20 66 6f 72 |eview period for|
00000080 3a 20 0d 0a 2e 48 45 41 44 20 31 20 2b 20 20 4f |: ...HEAD 1 + O|
00000090 62 6a 65 63 74 69 76 65 73 20 4d 65 74 2f 4e 6f |bjectives Met/No|

Turns out this was a special format they called “dot-head“, aptly named for the head of the file. It was used as an interchange format to move outlines between ThinkTank, another program called Ready!, and the later product MORE.

MORE was developed to be multiple tools in one. Meant to “Unite idea processing technology with the desktop publishing revolution“. MORE replaced ThinkTank in 1986 and promised more flexibility by creating charts and presentations quickly from your outline. MORE used the same dot-head format initially, also the ASCII could be in lowercase.

% hexdump -C MORE1 | head
00000000 2e 68 65 61 64 20 30 20 2b 20 20 48 6f 6d 65 0d |.head 0 + Home.|
00000010 2e 68 65 61 64 20 31 20 2d 20 20 0d 2e 68 65 61 |.head 1 - ..hea|
00000020 64 20 31 20 2d 20 20 54 65 73 74 69 6e 67 0d 2e |d 1 - Testing..|
00000030 68 65 61 64 20 31 20 2d 20 20 0d |head 1 - .|

In 1987 Living Videotext was purchased by Symantec. Shortly after Symantec released MORE II and a rebranded DOS application called GrandView based on ThinkTank.

Let’s take a look at GrandView, it was built from the DOS version of ThinkTank and compatible with the same formats. It had great reviews at the time and provided the first outliner for Symantec. It was written by the developer, John Friend, who created PC Outline which was often bundled with WordStar.

GrandView could import and export into any of the other products.

GrandView version 1 went with a new file format.

% hexdump -C PROJECT.GV | head
00000000 0b 00 01 00 1a 4a 4c 46 5f 49 44 06 00 02 00 01 |.....JLF_ID.....|
00000010 01 0a 00 03 00 16 00 26 00 2c 00 05 00 05 00 78 |.......&.,.....x|
00000020 06 00 07 00 ff ff 06 00 1a 00 01 00 26 00 08 00 |............&...|
00000030 26 00 ee 4d 02 00 00 00 c0 a8 00 00 00 00 00 00 |&..M............|
00000040 01 00 00 00 00 00 01 00 00 00 00 00 00 00 00 01 |................|
00000050 00 00 22 00 0a 00 20 1c 00 00 20 1c 00 00 d0 b6 |.."... ... .....|
00000060 00 00 10 ef 00 00 20 1c 00 00 20 1c 00 00 60 35 |...... ... ...`5|
00000070 01 00 01 00 05 00 10 00 62 15 00 13 00 cc 93 88 |........b.......|
00000080 10 54 54 59 2e 50 44 56 00 00 00 00 00 00 2c 00 |.TTY.PDV......,.|
00000090 1c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|

GrandView 2.0 also used the same format.

% hexdump -C TEST.GV | head
00000000 0b 00 01 00 1a 4a 4c 46 5f 49 44 06 00 02 00 01 |.....JLF_ID.....|
00000010 02 0a 00 03 00 02 00 2b 00 3a 00 05 00 05 00 78 |.......+.:.....x|
00000020 06 00 07 00 ff ff 26 00 08 00 2b 00 d5 3e 02 00 |......&...+..>..|
00000030 00 00 d0 b6 00 00 00 00 00 00 01 00 00 00 00 00 |................|
00000040 01 00 00 00 00 00 00 00 00 01 00 00 22 00 0a 00 |............"...|
00000050 20 1c 00 00 20 1c 00 00 d0 b6 00 00 10 ef 00 00 | ... ...........|
00000060 20 1c 00 00 20 1c 00 00 60 35 01 00 01 00 05 00 | ... ...`5......|
00000070 10 00 60 15 00 13 00 9b 5d 83 14 48 50 4c 33 2e |..`.....]..HPL3.|
00000080 50 44 56 00 00 00 00 00 2c 00 1c 00 00 00 00 00 |PDV.....,.......|
00000090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|

GrandView was also compatible with the Macintosh counterpart, MORE.

Symantec then released a new version of the MORE software for the Macintosh in 1988, adding new presentation features. MORE II went away from the dot-head format and used a new proprietary format.

% hexdump -C MORE2-s01 | head
00000000 00 03 4d 52 49 49 00 80 00 00 00 80 00 00 00 78 |..MRII.........x|
00000010 00 00 00 00 00 00 00 00 00 00 00 f8 00 00 00 a8 |................|
00000020 00 00 01 a0 00 00 00 28 00 00 01 c8 00 00 00 18 |.......(........|
00000030 00 00 01 e0 00 00 00 00 00 00 01 e0 00 00 00 0c |................|
00000040 00 00 01 ec 00 00 00 0c 00 00 01 e0 00 00 00 00 |................|
00000050 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000080 00 03 00 00 00 48 00 48 00 00 00 00 02 d8 02 28 |.....H.H.......(|
00000090 ff e1 ff e2 02 f9 02 46 03 47 05 28 03 fc 00 02 |.......F.G.(....|
000000a0 00 00 00 48 00 48 00 00 00 00 02 d8 02 28 00 01 |...H.H.......(..|

Then in 1990 Symantec released MORE 3.0 with even more features and improvements to the user experience. Also adding a companion tool, MORE Graph.

% hexdump -C MORE3-s01 | head
00000000 00 06 4d 4f 52 33 00 80 00 00 00 80 00 00 00 78 |..MOR3.........x|
00000010 00 00 00 f8 00 00 01 b4 00 00 02 ac 00 00 00 a8 |................|
00000020 00 00 11 16 00 00 00 32 00 00 11 48 00 00 00 20 |.......2...H... |
00000030 00 00 11 68 00 00 00 00 00 00 11 68 00 00 00 10 |...h.......h....|
00000040 00 00 11 83 00 00 00 0c 00 00 11 68 00 00 00 00 |...........h....|
00000050 00 00 00 00 00 00 03 54 00 00 0d c2 00 00 11 78 |.......T.......x|
00000060 00 00 00 0b 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000080 00 03 00 00 00 48 00 48 00 00 00 00 02 d8 02 28 |.....H.H.......(|
00000090 ff e1 ff e2 02 f9 02 46 03 47 05 28 03 fc 00 02 |.......F.G.(....|

The MORE 3 format got a new header but appears similar in structure to the previous version. And the new companion tool MORE Graph had yet another format.

% hexdump -C MORE3-graph | head 
00000000 00 01 00 00 01 09 00 00 00 0c 00 01 09 19 80 00 |................|
00000010 01 09 54 65 73 74 00 00 00 07 00 01 00 03 00 00 |..Test..........|
00000020 00 0b 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000610 00 00 00 00 00 00 00 01 06 47 65 6e 65 76 61 00 |.........Geneva.|
00000620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000670 01 00 00 1f ca 33 a0 00 2b 00 04 02 d8 03 d8 09 |.....3..+.......|
00000680 57 6f 72 6b 73 68 65 65 74 00 00 00 00 00 00 00 |Worksheet.......|

Luckily these early Macintosh based formats didn’t use a resource fork, making them fully compatible with their PC counterpart.

One of the coolest parts of this long list of outline software, is that years later, after Symantec discontinued the product, the original creator, Dave Winer, petitioned Symantec to allow him to release the antique software free and clear to the public. How cool is that? I would really like to see this happen more as other software titles die and get swept under the rug leaving the community to try and find copies, preserve them and make sense of the formats. Not only were the early versions made available, a tool was built to migrate the MORE format to more open XML, allowing the ideas trapped in these ancient formats to be re-imagined.

MORE 3.1 was the final version of the software to be released by Symantec. The files produced by MORE 3.1 have an identical header to the standard 3.0 version. Probably only need one signature for the two versions.

% hexdump -C MORE31-s01 | head 
00000000 00 06 4d 4f 52 33 00 80 00 00 00 80 00 00 00 78 |..MOR3.........x|
00000010 00 00 00 f8 00 00 01 b4 00 00 02 ac 00 00 00 a8 |................|
00000020 00 00 11 16 00 00 00 32 00 00 11 48 00 00 00 20 |.......2...H... |
00000030 00 00 11 68 00 00 00 00 00 00 11 68 00 00 00 10 |...h.......h....|
00000040 00 00 11 83 00 00 00 0c 00 00 11 68 00 00 00 00 |...........h....|
00000050 00 00 00 00 00 00 03 54 00 00 0d c2 00 00 11 78 |.......T.......x|
00000060 00 00 00 0b 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000070 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000080 00 03 00 00 00 48 00 48 00 00 00 00 02 d8 02 28 |.....H.H.......(|
00000090 ff e1 ff e2 02 f9 02 46 03 47 05 28 03 fc 00 02 |.......F.G.(....|

If you would like to try out the MORE software, download this disk image, and drag onto the Macintosh emulator below. The image will automatically mount and you should be able to take MORE 3.1 for a spin!

Outlining software still has a good place in idea generation and presentation. OmniOutliner can probably trace its roots to these “Antique” titles! Stay tuned for some PRONOM signatures to go along with these many format examples. For now you can gather some of the samples from my Github page.

Composite File Management System

In honor of World Digital Preservation Day, I wanted to write a little about format headers, the magic that makes some files more easily identifiable than others.

When it comes to binary file formats, some developers decide to make the format clearly identifiable in a header and others choose to make it ambiguous. Others have a little fun with leaving little clues and references to popular culture.

A couple of my favorites based on their header.

A couple of my current least favorites:

Like I said some developers make it very obvious what software created the file format and others seem to make things difficult. I understand there is a need to optimize files to keep them from getting bloated and taking up too much space, but many of the size limits from the early days of computing are not an issue anymore. Can’t we be more clear when designing a file format?

Today I want to document one format which was very easy to identify as it spelled out its format very verbosely, but because of the lack of additional documentation makes it very hard to preserve.

Meet the Composite File Management System file format:

hexdump -C sample.br4
00000000  43 43 6d 46 20 2d 20 55  6e 69 76 65 72 73 61 6c  |CCmF - Universal|
00000010  20 2d 20 41 78 69 6f 6d  20 2d 20 41 47 50 20 2d  | - Axiom - AGP -|
00000020  20 43 6f 6d 70 6f 73 69  74 65 20 46 69 6c 65 20  | Composite File |
00000030  4d 61 6e 61 67 65 6d 65  6e 74 20 53 79 73 74 65  |Management Syste|
00000040  6d 20 28 55 6e 69 76 65  72 73 61 6c 29 20 2d 20  |m (Universal) - |
00000050  43 72 65 61 74 65 64 20  62 79 20 41 6e 64 72 65  |Created by Andre|
00000060  61 20 50 65 73 73 69 6e  6f 2c 20 44 65 63 65 6d  |a Pessino, Decem|
00000070  62 65 72 20 31 39 39 35  20 28 76 65 72 73 2e 20  |ber 1995 (vers. |
00000080  35 29 20 2d 20 43 6f 70  79 72 69 67 68 74 28 63  |5) - Copyright(c|
00000090  29 20 31 39 39 35 2d 39  36 20 62 79 20 4d 65 74  |) 1995-96 by Met|
000000a0  61 54 6f 6f 6c 73 2c 20  49 6e 63 2e 20 2d 20 50  |aTools, Inc. - P|
000000b0  72 6f 75 64 6c 79 20 6d  61 64 65 20 69 6e 20 74  |roudly made in t|
000000c0  68 65 20 55 53 41 2c 20  6c 61 6e 64 20 6f 66 20  |he USA, land of |
000000d0  74 68 65 20 66 72 65 65  2c 20 68 6f 6d 65 20 6f  |the free, home o|
000000e0  66 20 74 68 65 20 62 72  61 76 65 2e 00 00 00 00  |f the brave.....|
000000f0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

Where to start? First off, this is the Bryce 4 file format. Bryce was a 3D modeling, animation software developed by MetaTools, later MetaCreations. Metacreations was also the developer of popular software Ray Dream Studio/Infini DFractal Design Painter, and Kai’s Power Tools.

Secondly, this format refers to a Universal File Management System or CCmF, which I have found to be the file format for many other extensions, some of which are .goo, .brc, .br3, .br4, .br5, .sfp, .shp, .obp. It doesn’t always have the verbose header, some of them have the following:

hexdump -C Tutorial.obp | head
00000000  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000050  20 20 20 20 20 20 20 20  20 20 20 20 20 20 43 43  |              CC|
00000060  6d 46 69 6c 65 3a 3a 6b  49 64 65 6e 74 69 66 79  |mFile::kIdentify|
00000070  34 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |4               |
00000080  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |

Different, but still contains the CCmF identification string. Others have the verbose header, but further down inside the file.

With this format being used with so many well known software titles, I assumed information on the format would we readily available. Alas, not so much. The format even had the name of the creator! “Created by Andrea Pessino, December 1995”. So I reached out. He was on Twitter and I asked about the file format and if there was any documentation available. Twitter (X) has since deleted his responses after he deleted his account, but he told me he wasn’t sure where the documentation might be. One other developer also commented and confirmed they didn’t know where any of the documentation went after they left.

MetaCreations sold Bryce to Corel in 2000, then in 2004 sold it to Daz3D, the current owners. It’s not actively developed anymore being that it was never made into a 64bit application. A blog post explains the format a little more, but concludes it is a secret known only to Daz.

It seems there is a community who would like to see Bryce more open, maybe even open-sourced. This thread discusses the format and the underlying Axiom format used.

The creator Andrea Pessino was able to track down some documentation on the CCmF file structure for me. He explained Axiom was an entire codebase for all MetaTools/Creations applications and plugins. So the CCmF system was more than a file format. The documentation included some information on versioning of a CCmF.

There seems to be a few versions of the CCmF file structure.

  • CCmFile::kIdentify which corresponds with December 1995 (vers. 5)
  • CCmFile::kIdentify2 which corresponds with March 1997 (vers. 7)
  • CCmFile::kIdentify3 which corresponds with October 1998 (vers. 9)
  • CCmFile::kDfFormat which is a Generic Composite File

The documentation given to me was up to date for 1998, but after Corel purchased Bryce there was some updates made as many material files have the identifier “CCmFile::kIdentify4“.

Bryce 6 & 7 were released by Daz3D and have a different file header. They have the extension .BR6 & .BR7 with the header:

hexdump -C Bryce7-s01.br7 | head  
00000000  42 72 79 63 65 5f 36 2e  30 5f 46 69 6c 65 00 00  |Bryce_6.0_File..|
00000010  11 00 00 00 d4 07 00 00  00 20 00 00 e5 07 00 00  |......... ......|
00000020  00 0a 00 00 00 10 00 00  00 08 78 9c 63 64 60 60  |..........x.cd``|
00000030  60 04 e2 8c cc f4 0c 85  e4 9c fc d2 14 85 92 d4  |`...............|
00000040  8a 92 d2 a2 54 86 11 05  18 a1 18 04 82 76 c8 b5  |....T........v..|
00000050  be 0e 7c 60 8f 4e 93 67  f2 07 32 f5 d1 0e 30 31  |..|`.N.g..2...01|
00000060  40 fc ca 0c c5 60 bf 33  a2 ab da e2 8c c0 70 e0  |@....`.3......p.|
00000070  00 22 58 a0 9c ff 2a 40  fc bf 16 88 ff c3 c3 2e  |."X...*@........|
00000080  13 64 20 83 82 13 50 29  50 ad 17 50 ef 3c 20 ce  |.d ...P)P..P.< .|
00000090  72 66 64 86 19 31 cd 09  42 57 b9 80 71 43 9d 0b  |rfd..1..BW..qC..|

I still need to gather more samples from the various extensions related to this format and the software related to them. More work to do understanding the different uses of the short CCmFile string and the more detailed header and the differences between objects, materials, and models. When I asked Andrea why he used such a verbose file header, his answer was basically, why not!