The following article was written by Chris Cain for Personal Computer World and published in the March 1996 issue of the magazine. For a more general overview of the OpenDoc technology and what that meant, the Wikipedia has an interesting entry about it. I’ve chosen to reprint this article because I find it to be a good, simple introduction to OpenDoc, which was in my opinion one of the most promising features of the Mac OS system. Sadly it was terminated even before it could grow and improve.
Apple recently released the first version of its component software architecture, OpenDoc, which plays a major part in the company’s future plans. OpenDoc could completely reshape the way in which we work with Macs, PCs and other platforms. In fact, it’s my Utility of the Month.
OpenDoc is officially described as a multi-platform, component software architecture that enables developers to evolve applications into component software, or create new component software applications. In more simple terms, it’s about breaking down today’s monolithic software apps into smaller, more manageable components that can then be mixed and matched to suit every user’s needs.
At the moment, if you wanted to create, say, a newsletter containing text, graphics and spreadsheet data, you would probably edit each piece of data in a separate application and either export it as a file and import it into your main application, or cut and paste info using the clipboard. Either way, you end up loading three or four different packages and using only a subset of the tools on offer. It takes a long time and you can experience problems such as unsupported file formats and lack of memory.
With OpenDoc you have “Part Editors” instead of applications and your work is based around documents called “Stationery”. Part Editors are small sets of tools for doing jobs like editing text, manipulating pictures and so on, and Stationery files are templates for doing certain types of work. Each different type of Stationery contains links to the Part Editors used for that type of job.
To prepare the same newsletter with OpenDoc you would use a piece of stationery that has been set up with links to text editing, drawing and numeric data Editors. You’d then create your data using these and if you wanted to import a file created with something else, you’d just drag it from the desktop onto your document. If you’ve set up a stationery file without a certain set of tools, you just drag the appropriate Editor onto your document and they appear.
The beauty of working like this is that you use only as much RAM as you need for the job, and all tools are available whenever you want them without loading lots of individual applications. Part Editors should also be much easier to develop and maintain than larger applications, and will give small developers more of a chance to compete with large companies like Microsoft.
There will still be room for big applications in an OpenDoc world, but they will need to support embedded OpenDoc parts.
Apple’s OpenDoc 1.0 contains a Control Panel for setting up associations between Editors and different types of data, a few sample Stationery files and some very simple Editors to accompany them. I’ve been putting these through their paces over the past few weeks and have successfully managed to build a document using this method. Although it’s difficult at the start, once you get into it everything begins to make sense.
If you want to see for yourself what OpenDoc is all about, you can download it from Apple’s World Wide Web support sites.