OpenDoc
Encyclopedia
OpenDoc was a multi-platform software componentry framework standard for compound document
Compound document
In computing, a compound document is a document type typically produced using word processing software, and is a regular text document intermingled with non-text elements such as spreadsheets, pictures, digital videos, digital audio, and other multimedia features...

s, intended as an alternative to Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

's Object Linking and Embedding
Object Linking and Embedding
Object Linking and Embedding is a technology developed by Microsoft that allows embedding and linking to documents and other objects. For developers, it brought OLE Control eXtension , a way to develop and use custom user interface elements...

 (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
File Transfer Protocol
File Transfer Protocol is a standard network protocol used to transfer files from one host to another host over a TCP-based network, such as the Internet. FTP is built on a client-server architecture and utilizes separate control and data connections between the client and server...

 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.

Early history

OpenDoc was initially created by Apple Computer
Apple Computer
Apple Inc. is an American multinational corporation that designs and markets consumer electronics, computer software, and personal computers. The company's best-known hardware products include the Macintosh line of computers, the iPod, the iPhone and the iPad...

 in 1992 after Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 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
AppleScript
AppleScript is a scripting language created by Apple Inc. and built into Macintosh operating systems since System 7. The term "AppleScript" may refer to the scripting system itself, or to particular scripts that are written in the AppleScript language....

 scripting language
Scripting language
A scripting language, script language, or extension language is a programming language that allows control of one or more applications. "Scripts" are distinct from the core code of the application, as they are usually written in a different language and are often created or at least modified by the...

, which in turn was based on the HyperCard
HyperCard
HyperCard is an application program created by Bill Atkinson for Apple Computer, Inc. that was among the first successful hypermedia systems before the World Wide Web. It combines database capabilities with a graphical, flexible, user-modifiable interface. HyperCard also features HyperTalk, written...

 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 highly 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 WWDC '91
Worldwide Developers Conference
The Apple Worldwide Developers Conference, commonly abbreviated WWDC, is a conference held annually in California by Apple Inc. The conference is primarily used by Apple to showcase its new software and technologies for developers, as well as offering hands-on labs and feedback sessions...

 and tried to hammer out a standardized document format, based conceptually on the Amiga
Amiga
The Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities...

's Interchange File Format
Interchange File Format
Interchange File Format , is a generic container file format originally introduced by the Electronic Arts company in 1985 in order to ease transfer of data between software produced by different companies....

 (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. From then it quickly changed from a simple format using tags to a very complex object oriented
Object-oriented programming
Object-oriented programming is a programming paradigm using "objects" – data structures consisting of data fields and methods together with their interactions – to design applications and computer programs. Programming techniques may include features such as data abstraction,...

 persistence layer called Bento.

Initially the effort was codenamed "Exemplar", then "Jedi" and "Amber", then released under the name "OpenDoc". 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
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...

 and WordPerfect
WordPerfect
WordPerfect is a word processing application, now owned by Corel.Bruce Bastian, a Brigham Young University graduate student, and BYU computer science professor Dr. Alan Ashton joined forces to design a word processing system for the city of Orem's Data General Corp. minicomputer system in 1979...

. IBM introduced the System Object Model
System Object Model
In computing, the System Object Model is an object-oriented shared library system developed by IBM. DSOM, a distributed version based on CORBA, allowed objects on different computers to communicate.-Applications:...

 (SOM) shared library
Library (computer science)
In computer science, a library is a collection of resources used to develop software. These may include pre-written code and subroutines, classes, values or type specifications....

 system to the project, which became a major part of Apple's future efforts. In 1996 the project was adopted by the Object Management Group
Object Management Group
Object Management Group is a consortium, originally aimed at setting standards for distributed object-oriented systems, and is now focused on modeling and model-based standards.- Overview :...

, in part due to SOM's use of Common Object Request Broker Architecture
Common Object Request Broker Architecture
The Common Object Request Broker Architecture is a standard defined by the Object Management Group that enables software components written in multiple computer languages and running on multiple computers to work together .- Overview:CORBA enables separate pieces of software written in different...

 (CORBA), maintained by the OMG.

Kurt Piersol from Apple was the best-known architect of OpenDoc, but Jed Harris (later president of CI Labs) was just as critical to the early designs. Mark Ericson from WordPerfect
WordPerfect
WordPerfect is a word processing application, now owned by Corel.Bruce Bastian, a Brigham Young University graduate student, and BYU computer science professor Dr. Alan Ashton joined forces to design a word processing system for the city of Orem's Data General Corp. minicomputer system in 1979...

 provided the vision for a port to Windows that included seamless interoperability between OpenDoc and OLE.

OpenDoc was one of Apple's earliest experiments with open standards and collaborative development methods with other companies. Apple and its partners never released the source code, but did make the complete source available to developers for feedback and for testing and debugging purposes.

Apple was also involved in the Taligent
Taligent
Taligent was the name of an object-oriented operating system and the company dedicated to producing it...

 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.

Release

OpenDoc was initially released to run on Mac OS
Mac OS
Mac OS is a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems. The Macintosh user experience is credited with popularizing the graphical user interface...

 System 7.5
System 7 (Macintosh)
System 7 is a single-user graphical user interface-based operating system for Macintosh computers. It was introduced on May 13, 1991 by Apple Computer. It succeeded System 6, and was the main Macintosh operating system until it was succeeded by Mac OS 8 in 1997...

. From IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...

’s involvement in Taligent
Taligent
Taligent was the name of an object-oriented operating system and the company dedicated to producing it...

, there was an implementation of OpenDoc in OS/2
OS/2
OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...

 Warp 4.

Products implementing OpenDoc

The WAV word processor
Word processor
A word processor is a computer application used for the production of any sort of printable material....

 was a semi-successful OpenDoc word processor
Word processor
A word processor is a computer application used for the production of any sort of printable material....

 from Digital Harbor, the Numbers & Charts package was a spreadsheet and 3D real-time charting solution from Adrenaline Software, the Cyberdog
Cyberdog
Cyberdog was an internet suite developed by Apple Computer for the Mac OS line of operating systems. It was introduced as a beta in February 1996 and abandoned in March 1997. The last version, Cyberdog 2.0, was released on April 28, 1997...

 web browser was created by Apple as an OpenDoc application. The Nisus Writer
Nisus Writer
Nisus Writer, originally Nisus, is a word processing program for the Apple Macintosh. The program is available in two varieties: Nisus Writer Express, and Nisus Writer Pro....

 software by Nisus
Nisus
ni·susn. pl. nisusAn effort or endeavor to realize an aim.[Latin nisus, from past participle of niti, to strive.]In classical mythology, Nisus may refer to:...

 incorporated OpenDoc, but its implementation was hopelessly buggy. Bare Bones Software
Bare Bones Software
Bare Bones Software is a Bedford, Massachusetts, USA software company developing software tools for the Apple Macintosh platform. The company is best known for its BBEdit text editor, marketed under the registered trademark "It doesn't suck," and has been mentioned as a "Top-Tier Mac developer" by...

 tested the waters by making its BBEdit Lite
BBEdit Lite
BBEdit Lite is a freeware text editor by Bare Bones Software, created as a low-cost, stripped-down or "lightweight" version of their flagship product BBEdit. BBEdit Lite had many of the same features as BBEdit such as regular expressions, a plug-in architecture and the same text editing engine...

 freeware text editor available as an OpenDoc editor component. RagTime
RagTime (computer program)
RagTime is a computer program primarily used for desktop publishing. The software combines spreadsheet features with word processing and embedded multimedia....

, 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
AppleWorks
AppleWorks refers to two different office suite products, both of which are now discontinued. Originally, AppleWorks was an integrated software package for the Apple II platform, released in 1984 by Apple Computer...

) was planned to support OpenDoc components, but this was dropped.

Educational products

Another OpenDoc container application, called "Dock'Em", was written by MetaMind Software under a grant from the National Science Foundation
National Science Foundation
The National Science Foundation is a United States government agency that supports fundamental research and education in all the non-medical fields of science and engineering. Its medical counterpart is the National Institutes of Health...

 and commissioned by The Center for Research in Math and Science Education, headquartered at San Diego State University
San Diego State University
San Diego State University , founded in 1897 as San Diego Normal School, is the largest and oldest higher education facility in the greater San Diego area , and is part of the California State University system...

. The goal was to allow multimedia content to be included in documents describing curriculum.

A number of physics
Physics
Physics is a natural science that involves the study of matter and its motion through spacetime, along with related concepts such as energy and force. More broadly, it is the general analysis of nature, conducted in order to understand how the universe behaves.Physics is one of the oldest academic...

 simulation
Simulation
Simulation is the imitation of some real thing available, state of affairs, or process. The act of simulating something generally entails representing certain key characteristics or behaviours of a selected physical or abstract system....

s were written by MetaMind Software and by Russian software firm Physicon (OpenTeach) as OpenDoc parts. Physics curricula for high school and middle school used them as their focus. With the demise of OpenDoc, the simulations were rewritten as Java applet
Applet
In computing, an applet is any small application that performs one specific task that runs within the scope of a larger program, often as a plug-in. An applet typically also refers to Java applets, i.e., programs written in the Java programming language that are included in a web page...

s and are still available from the Center under the title of "The Constructing Physics Understanding (CPU) Project" by Dr. Fred Goldberg.

Components of the E-Slate educational microworlds' platform were originally implemented as OpenDoc parts in C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 on both MacOS and Windows, reimplemented later on (after the demise of OpenDoc) as Java applets and eventually as JavaBeans
JavaBeans
JavaBeans are reusable software components for Java. Practically, they are classes written in the Java programming language conforming to a particular convention. They are used to encapsulate many objects into a single object , so that they can be passed around as a single bean object instead of as...

.

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 megabyte
Megabyte
The megabyte is a multiple of the unit byte for digital information storage or transmission with two different values depending on context: bytes generally for computer memory; and one million bytes generally for computer storage. The IEEE Standards Board has decided that "Mega will mean 1 000...

s 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, 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
Microsoft Word
Microsoft Word is a word processor designed by Microsoft. It was first released in 1983 under the name Multi-Tool Word for Xenix systems. Subsequent versions were later written for several other platforms including IBM PCs running DOS , the Apple Macintosh , the AT&T Unix PC , Atari ST , SCO UNIX,...

 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
Bento (disambiguation)
Bento is a single-portion takeout or home-packed meal common in Japanese cuisine.Bento may also refer to:*Bento , a database application for Mac OS X made by FileMaker Inc.*Bento , a Portuguese given name or surname...

 (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
JPEG
In computing, JPEG . The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and image quality. JPEG typically achieves 10:1 compression with little perceptible loss in image quality....

 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
Object Linking and Embedding
Object Linking and Embedding is a technology developed by Microsoft that allows embedding and linking to documents and other objects. For developers, it brought OLE Control eXtension , a way to develop and use custom user interface elements...

 (OLE). Indeed, many years later, XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

 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. A few specific examples are common, for instance most word processor
Word processor
A word processor is a computer application used for the production of any sort of printable material....

s and page layout
Desktop publishing
Desktop publishing is the creation of documents using page layout software on a personal computer.The term has been used for publishing at all levels, from small-circulation documents such as local newsletters to books, magazines and newspapers...

 programs include the ability to include graphics, and spreadsheet
Spreadsheet
A spreadsheet is a computer application that simulates a paper accounting worksheet. It displays multiple cells usually in a two-dimensional matrix or grid consisting of rows and columns. Each cell contains alphanumeric text, numeric values or formulas...

s are expected to handle charts. Yet beyond that it seems there aren't all that many other examples.

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
Microsoft Office
Microsoft Office is a non-free commercial office suite of inter-related desktop applications, servers and services for the Microsoft Windows and Mac OS X operating systems, introduced by Microsoft in August 1, 1989. Initially a marketing term for a bundled set of applications, the first version of...

. 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 with Microsoft Office
Microsoft Office
Microsoft Office is a non-free commercial office suite of inter-related desktop applications, servers and services for the Microsoft Windows and Mac OS X operating systems, introduced by Microsoft in August 1, 1989. Initially a marketing term for a bundled set of applications, the first version of...

. 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.

Before long, OpenDoc was scrapped, with Steve Jobs
Steve Jobs
Steven Paul Jobs was an American businessman and inventor widely recognized as a charismatic pioneer of the personal computer revolution. He was co-founder, chairman, and chief executive officer of Apple Inc...

 noting that they "put a bullet through [OpenDoc's] head", and most of the team
Advanced Technology Group
The Advanced Technology Group was a corporate research laboratory at Apple Computer from 1986 to 1997. ATG was started by Larry Tesler in October 1986 to study long term research into future technologies that were beyond the time frame or organizational scope of any individual product group. Over...

 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
AppleShare
AppleShare was a product from Apple Computer which implemented various network services. Its main purpose was acting as a file server, using the AFP protocol...

 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.

See also

  • Orphaned technology
    Orphaned Technology
    Orphaned technology is a descriptive term for computer products, programs, and platforms that have been abandoned by their original developers. Orphaned technology refers to software, such as abandonware and antique software, but also to hardware and practices...

     for similar fates
  • Compound document
    Compound document
    In computing, a compound document is a document type typically produced using word processing software, and is a regular text document intermingled with non-text elements such as spreadsheets, pictures, digital videos, digital audio, and other multimedia features...

     for the idea in general
  • Object Linking and Embedding
    Object Linking and Embedding
    Object Linking and Embedding is a technology developed by Microsoft that allows embedding and linking to documents and other objects. For developers, it brought OLE Control eXtension , a way to develop and use custom user interface elements...

     for the Microsoft alternative
  • KParts for a free alternative
  • CORBA
    Çorba
    Chorba , ciorbă , shurpa , shorpo , or sorpa is one of various kinds of soup or stew found in national cuisines across Middle East...

    for the component standard below OpenDoc

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK