OpenDoc is a multi-platform software componentry framework standard
created by Apple for compound documents, intended as an alternative to
Object Linking and Embedding
Object Linking and Embedding (OLE). Active development
was discontinued in March of 1997.
The core idea of
OpenDoc is to create small, reusable components,
responsible for a specific task, such as text editing, bitmap editing,
or browsing an FTP server.
OpenDoc provides a framework in which these
components can run together, and a document format for storing the
data created by each component. These documents can then be opened on
other machines, where the
OpenDoc frameworks substitute suitable
components for each part, even if they are from different vendors.
In this way users can "build up" their documents from parts. Since
there is no main application and the only visible interface is the
document itself, the system is known as document centered.
At its inception, it was envisioned that
OpenDoc would allow smaller,
third-party developers to enter the then-competitive office software
market, able to build one good editor instead of having to provide a
1.1 Early efforts
1.2 Competing visions
2 Products implementing OpenDoc
2.1 Educational products
5 See also
7 External links
This section does not cite any sources. Please help improve this
section by adding citations to reliable sources. Unsourced material
may be challenged and removed. (February 2018) (Learn how and when to
remove this template message)
OpenDoc was initially created by Apple in 1992, after Microsoft
approached Apple asking for input on a proposed OLE II project. Apple
had been experimenting with software components internally for some
time, based on the initial work done on its Publish and Subscribe
linking model and the
AppleScript scripting language, which in turn
was based on the
HyperCard programming environment. Apple reviewed the
Microsoft prototype and document and returned a list of problems they
saw with the design.
Microsoft and Apple, who were very competitive at
the time, were unable to agree on common goals and did not work
At about the same time, a group of third-party developers had met at
Apple Worldwide Developers Conference
Apple Worldwide Developers Conference (WWDC '91) and tried to
hammer out a standardized document format, based conceptually on the
Electronic Arts Interchange
File Format (IFF). Apple became interested
in this work, and soon dedicated some engineers to the task of
building, or at least documenting, such a system. Initial work was
published on the WWDC CDs, as well as a number of follow-up versions
on later developer CDs. A component document system would only work
with a known document format that all the components could use, and so
soon the standardized document format was pulled into the component
software effort. The format quickly changed from a simple one using
tags to a very complex object oriented persistence layer called Bento.
Initially the effort was codenamed "Exemplar", then "Jedi", "Amber",
and eventually "OpenDoc".
Apple was also involved in the
Taligent project during some of this
period, which offered somewhat similar functionality although based on
very different underlying mechanisms. While
OpenDoc was still being
developed, Apple confused things greatly by suggesting that it should
be used by people porting existing software only, and new projects
should instead be based on
Taligent since that would be the next OS.
Taligent was considered the future of the Mac platform, and work on
other tools like
MacApp were considerably deprioritized. When Taligent
died in 1995, Apple was left with no major ongoing efforts along these
OpenDoc became the future of Mac development.
Starting in 1992, Apple had also been involved in an effort to replace
MacApp development framework with a cross-platform solution known as
Bedrock, from Symantec. Symantec's
Think C was rapidly becoming the
tool of choice for development on the Mac. Apple had been working with
them to port their tools to the
PowerPC when they learned of
Symantec's internal porting tools. Apple proposed merging existing
MacApp concepts and code with Symantec's to produce an advanced
cross-platform system. Bedrock began to compete with
OpenDoc as "the"
solution for future development.
OpenDoc gained currency within Apple, the company started to push
Symantec into including
OpenDoc functionality in Bedrock.
uninterested in this, and eventually gave up on the effort, passing
the code to Apple. Bedrock was in a very early state of development at
this point, in spite of 18 months of work, as the development team at
Symantec suffered continual turnover. Apple proposed that the code
would be used for
OpenDoc programming, but nothing was ever heard of
this again, and Bedrock disappeared.
As a result of
Taligent and Bedrock both being the "next big thing",
little effort had been expended on updating MacApp. As these two
projects died, this left Apple with only
OpenDoc as a modern OO-based
The development team realized in mid-1992 that an industry coalition
was needed to promote the system, and created the Component
Integration Laboratories ("CI Labs") with
IBM and WordPerfect. IBM
System Object Model
System Object Model (SOM) shared library system to the
project, which became a major part of Apple's future efforts, in and
out of OpenDoc. In 1996 the project was adopted by
the Object Management Group, in part due to SOM's use of Common Object
Request Broker Architecture (CORBA), maintained by the OMG.
OpenDoc was one of Apple's earliest experiments with open standards
and collaborative development methods with other companies. Apple and
its partners never publicly released the source code, but did make the
complete source available to developers for feedback and for testing
and debugging purposes.
OpenDoc was initially released to run on classic Mac OS System 7.5.
From IBM’s involvement in Taligent, there was an implementation of
OS/2 Warp 4.
Products implementing OpenDoc
The WAV word processor was a semi-successful
OpenDoc word processor
from Digital Harbor, the Numbers & Charts package was a
spreadsheet and 3D real-time charting solution from Adrenaline
Cyberdog web browser was created by Apple as an OpenDoc
application. Lexi from Soft-Linc, Inc. was a linguistic package
containing a spell checker, thesaurus and a simple translation tool
which WAV and other components used. The
Nisus Writer software by
Nisus incorporated OpenDoc, but its implementation was hopelessly
Bare Bones Software tested the waters by making its BBEdit Lite
freeware text editor available as an
OpenDoc editor component.
RagTime, a completely integrated office package with spreadsheet,
publishing and image editing was ported to
OpenDoc shortly before
OpenDoc was cancelled. Apple's 1996 release of ClarisWorks 5.0 (the
predecessor of AppleWorks) was planned to support
but this was dropped.
OpenDoc container application, called "Dock'Em", was written
by MetaMind Software under a grant from the National Science
Foundation and commissioned by The Center for Research in Math and
Science Education, headquartered at San Diego State University. The
goal was to allow multimedia content to be included in documents
A number of physics simulations were written by MetaMind Software and
by Russian software firm Physicon (OpenTeach) as
Physics curricula for high school and middle school used them as their
focus. With the demise of OpenDoc, the simulations were rewritten as
Java applets and are still available from the Center under the title
of "The Constructing
Physics Understanding (CPU) Project" by Dr. Fred
Components of the E-Slate educational microworlds' platform were
originally implemented as
OpenDoc parts in
C++ on both MacOS and
Windows, reimplemented later on (after the demise of OpenDoc) as Java
applets and eventually as JavaBeans.
This article possibly contains original research. Please improve it by
verifying the claims made and adding inline citations. Statements
consisting only of original research should be removed. (October 2015)
(Learn how and when to remove this template message)
OpenDoc's flexibility came at a cost.
OpenDoc components were
invariably large and slow. For instance, opening a simple text editor
part would often require 2 megabytes of RAM or more, whereas the same
editor written as a standalone application could be as small as 32 KB.
This initial overhead became less important as the number of documents
open increased, since the basic cost was for shared libraries which
implemented the system, but it was large compared to entry level
machines of the day. Many developers felt that the extra overhead was
too large, and since the operating system did not include OpenDoc
capability, the memory footprint of their
OpenDoc based applications
appeared unacceptably large. In absolute terms, the one-time library
overhead was approximately 1 megabyte of RAM, which at the time was
nearly half of a low-end desktop computer's entire RAM complement.
Another issue was that
OpenDoc had little in common with most "real
world" document formats, and so
OpenDoc documents could really only be
used by other
OpenDoc machines. Although one would expect some effort
to allow the system to export to other formats, this was often
impractical because each component held its own data. For instance, it
took significant effort for the system to be able to turn a text file
with some pictures into a
Microsoft Word document, both because the
text editor had no idea what was in the embedded objects, and because
Microsoft format was undocumented and required reverse
Another problem was the fact that each part saved its data within
Bento (the former name of an
OpenDoc compound document file format) in
its own internal binary format, and it was very common to find one
component could not open a document created by another, even though
the internal data represented similar objects (spreadsheet data for
OpenDoc attempted to solve this problem by allowing
developers to store multiple formats to represent the same document
object. For instance, it was both possible and encouraged to store a
common format like
JPEG along with editable binary format, but in
practice few developers followed this recommendation. This problem was
not unique to OpenDoc, and in fact was also experienced by the
Object Linking and Embedding
Object Linking and Embedding (OLE). Indeed, many
XML documents which attempt to perform embedding of other
XML formats also encounter similar issues.
It also appears that
OpenDoc was a victim of an oversold concept, that
of compound documents. Only a few specific examples are common, for
instance most word processors and page layout programs include the
ability to include graphics, and spreadsheets are expected to handle
But certainly the biggest problem with the project was that it was
part of a very acrimonious competition between
members and Microsoft. The members of the
OpenDoc alliance were all
trying to obtain traction in a market rapidly being dominated by
Microsoft Office. As the various partners all piled in their own pet
technologies in hopes of making it an industry standard,
increasingly unwieldy. At the same time,
Microsoft used the synergy
between the OS and applications divisions of the company to make it
effectively mandatory that developers adopt the competing OLE
technology. In order to obtain a Windows 95 compliance logo from
Microsoft, one had to meet certain interoperability tests which were
quite difficult to meet without adoption of OLE technology, even
though the technology was largely only useful in integrating with
OpenDoc was forced to create an interoperability
layer in order to allow developers to even consider adoption, and this
added a great technical burden to the project.
OpenDoc had several hundred developers signed up but the timing was
poor. Apple was rapidly losing money at the time and many in the
industry press expected the company to fail.
OpenDoc was soon discontinued, with
Steve Jobs (who had been at NeXT
during this development) noting that they "put a bullet through
[OpenDoc's] head", and most of the
Apple Advanced Technology Group
Apple Advanced Technology Group was
laid off in a big reduction in force in March 1997. Other
sources noted that
Microsoft hired away three ClarisWorks developers
who were responsible for
OpenDoc integration into ClarisWorks.
AppleShare IP Manager from versions 5.0 to 6.2 relied on OpenDoc, but
AppleShare IP 6.3, the first Mac OS 9 compatible version (released in
1999), eliminated the reliance on OpenDoc. Apple officially
relinquished the last trademark on the name
OpenDoc on June 11, 2005.
Orphaned technology for similar fates
KParts for an open source alternative
^ Amy D. Wohl (June 1993). "Apple and
WordPerfect Announce OpenDoc".
Amy D. Wohl' Opinions. Archived from the original on November 9, 2006.
Retrieved April 24, 2007.
^ a b Dawn Kawamoto; Anthony Lazarus (March 14, 1997). "Apple lays off
thousands". CNET News.com. Retrieved April 24, 2007.
^ a b Erick Schonfeld (October 6, 2011). "Jobs:Focus Is About Saying,
No". TechCrunch.com. Retrieved October 6, 2011.
^ Piersol, Kurt (March 1994). "A Close-Up of OpenDoc". Byte.com.
Retrieved April 24, 2007.
^ Greg Maletic (November 12, 2006). "OpenDoc". Greg Maletic’s Blog.
Retrieved April 24, 2007.
^ "Macintosh vs Windows 95" (PDF). Application developers will be able
to focus on writing small programs that do specific things, rather
than creating entire suites. This will make it much easier for small,
innovative software companies to get back in the industry....OpenDoc
applications will be sold the way applications are sold today, and
through the same channels. But as with any new technology, additional
channels will evolve to capitalize on the technology’s strengths. It
is likely that over time on-line component warehouses will be used to
OpenDoc applications. Interesting new on-line
applications and services will be enabled by OpenDoc.
^ Arni McKinley (December 19, 2006). "
OpenDoc - Comment by Arni
McKinley". Greg Maletic’s Blog. Retrieved April 8, 2008.
^ The CPU Project (February 2001). "Constructing Physics
Understanding". San Diego State University. Retrieved April 9,
^ Bob Hearn (2003). "A Brief History of ClarisWorks : Oregon".
Bob Hearn's website. Retrieved April 24, 2007.
^ Apple (December 18, 2003). "
AppleShare IP 6.3 Does Not Require
OpenDoc". Apple Support. Retrieved April 24, 2007.
OpenDoc at the
Wayback Machine (archived October 9, 2007)
Last release of
OpenDoc with mostly all sources (for education purpose
Steve Jobs at Apple's annual developer conference in 1997,
defending Apple's decision to kill OpenDoc.
Multi-purpose office document file formats
Editable document formats
Compound Document Format
Office Open XML
Open Document Architecture
Rich Text Format
Uniform Office Format
Fixed document formats
XML Paper Specification
Portable Document Format