OpenDoc
OpenDoc was a multi-platform software componentry framework standard
for compound documents, intended as an alternative to Microsoft's Object Linking and Embedding (OLE).
The basic idea of
OpenDoc was to create small, reusable components, responsible for a specific
task, such as text editing, bitmap editing or browsing an FTP server. OpenDoc
provided a framework in which these components could run together, and a
document format for storing the data created by each component. These documents
could then be opened on other machines, where the OpenDoc frameworks would
substitute suitable components for each part, even if they were from different
vendors. In this way users
could "build up" their documents from parts. Since there was no main
application and the only visible interface was the document itself, the system
was known as document centered.
It was envisioned
that OpenDoc would allow smaller, third-party developers to enter the office software
market, able to build one good editor instead of having to provide a complete
suite.
History
Early
efforts
OpenDoc was initially
created by Apple
Computer 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 together.
At about the same
time, a group of third-party developers had met at the Apple Worldwide Developers Conference (WWDC '91) and tried to hammer out a
standardized document format, based conceptually on the Amiga's 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".
Competing visions
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. This plan died along with Taligent, leaving OpenDoc as the future of the Mac application base.
Starting in 1992,
Apple was also involved in an effort to replace their 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, and 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
As OpenDoc gained
currency within Apple, the company started to push Symantec into including
OpenDoc functionality in Bedrock. Symantec was 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.
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 programming system.
Partnerships
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") withIBM and WordPerfect.
IBM introduced the 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.[citation
needed] 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.
Release
OpenDoc
was initially released to run on Mac OS System 7.5. From IBM’s involvement in Taligent,
there was an implementation of OpenDoc in 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 Software, the 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 buggy. 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 OpenDoc components, but this was dropped.
Educational productt
Another 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 describing curriculum.
A number of physics simulations were written by MetaMind Software and
by Russian software firm Physicon (OpenTeach) as OpenDoc
parts.[4] 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
Goldberg.[5]
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.
Problems
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 ofRAM 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, at
the time 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 the proprietary Microsoft format was undocumented and required reverse
engineering.
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 instance). 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 Microsoft
equivalent, Object Linking and Embedding (OLE). Indeed, many years later, 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 processorsand page layout programs
include the ability to include graphics, and spreadsheets are expected to handle charts.
But certainly the
biggest problem with the project was that it was part of a very acrimonious
competition between OpenDoc consortium 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, OpenDoc grew
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 withMicrosoft Office. 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.
Cancellation
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 Computer during this development) noting that
they "put a bullet through [OpenDoc's] head", and most of the Apple Advanced Technology Group was laid off in a big reduction in
force in March 1997.[6][7] Other sources noted
that Microsoft hired away three ClarisWorks developers who were responsible for
OpenDoc integration into ClarisWorks.[8]
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.[9] Apple officially
relinquished the last trademark on the name OpenDoc on June 11, 2005.
See also
·
Orphaned technology for similar fates
·
KParts for an open source alternative
References
1.
^ 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.
download now
0 comments:
Post a Comment