Please consider a donation to the Higher Intellect project. See or the Donate to Higher Intellect page for more info.

Difference between revisions of "OpenDoc"

From Higher Intellect Vintage Wiki
Jump to navigation Jump to search
Line 128: Line 128:
=Benefits to the Developer=
=Benefits to the Developer=
The OpenDoc architecture also offers developers a number of important  
The OpenDoc architecture also offers developers a number of important  
benefitsFaster, more efficient development. Software developers can  
===Faster, more efficient development===
Software developers can  
reuse already developed parts, eliminating the need to start from scratch  
reuse already developed parts, eliminating the need to start from scratch  
with each development effort. This ability to reuse existing parts also  
with each development effort. This ability to reuse existing parts also  

Revision as of 21:52, 19 July 2020

OpenDoc logo.png

OpenDoc is a multi-platform software componentry framework standard created by Apple Computer for compound documents, intended as an alternative to Microsoft's Object Linking and Embedding (OLE).

Apple, WordPerfect, Novell, Borland and IBM share a common goal of making the user¹s computing experience as easy and productive as possible, and that goal has become increasingly elusive. People are using personal computers for more and more complex tasks, often involving multiple programs and even a variety of media. In addition, they are increasingly working together on computer-based projects. This means that the earlier, individual desktop computer model is shifting to one of shared, collaborative computing resources‹a shift that demands new capabilities. Finally, there is a growing demand for customization capabilities to meet the increasingly specialized needs of today¹s computer users. The OpenDoc architecture represents Apple's approach toward reducing the complexity of computing today, while supporting the development of tomorrow¹s advanced, flexible applications. It is an open architecture, designed to integrate software and enable sharing across multiple computer platforms‹providing users with a new level of computing power, flexibility, and ease of use.

This approach evolves desktop computing by providing an object-based framework for developing applications that are fully integrated and interoperable across platforms and distributed networks.


Ten years ago (from 1993 point of view), most of what people did with computers centered around text and numbers. The graphical nature of the Apple Macintosh computer brought a new emphasis on working with graphics on the computer, because the graphics-based user interface allowed easy manipulation, editing, and integration of words and images. Today, however, many computer users engage in the creation of what can be called compound documents‹documents with parts containing various media, such as text, tables, movies, sound and graphics in a variety of file formats. Currently, each medium requires users to work in different ways, and often in separate applications or editors, demanding a labor-intensive series of actions to move data from each creator application to the final document. This lengthy and cumbersome process tends to be error-prone and frustrating. Today's computing world encourages an ever-increasing complexity in successive releases of most applications, because developers are under constant competitive pressure to add more features to their products. The result is paradoxical: as applications become more powerful in terms of features, they also become more difficult to use‹and hence less useful to people. In addition, they require more time and effort to develop, enhance, and maintain.

OpenDoc is a compound document architecture that addresses these issues by reducing the complexity and increasing the flexibility of software for both end users and developers. It offers an evolutionary approach to restructuring software into independent modules, or "parts," which can be flexibly combined in a variety of ways. The result is an entirely different way of both using and writing personal computer software‹one that offers a number of significant benefits.

Benefits to the User

For end users, OpenDoc will simplify and streamline the computing experience, while ensuring a much higher level of flexibility and customizability. Specifically, OpenDoc offers the following user benefits: Easy creation of compound documents. OpenDoc is designed to handle current and future types of media. Users can place any kind of media into an OpenDoc document using the familiar cut-and-paste or drag-and-drop manipulation.

Editing "in place"

With OpenDoc, users can edit any type of content within a single document, without having to cut and paste between different application windows.

Powerful document management

Rather than manually assembling the various pieces of a document, users can let an OpenDoc document hold all of them. This reduces the task of managing files, and facilitates document exchange and updating. As documents are edited, changes are tracked through drafts, ensuring greater data integrity and allowing users to work on shared documents without content loss from version to version.

Cross-platform support

Because OpenDoc is designed to offer full interoperability between platforms, OpenDoc users will be able to share and interact with complex documents, regardless of differences in software or hardware, or which platform the document resides on.

Consistency of operation

Because users can specify preferred part editors, they need learn only one way to edit each type of data (for example, using the same text editor for word processing, entering spreadsheet data, or labeling diagrams).

Uniformity of interface

OpenDoc defines a consistent user interface for embedding and manipulating all kinds of media in documents.


The OpenDoc human interface addresses a wide range of users, from novices to experts. No class of user has to understand the additional functionality typically used at the next level (novices can create compound documents easily, while experts can experience nearly unlimited potential).

"Plug-and-play" solutions

With OpenDoc, vendors will be able to assemble collections of parts into solution sets that target specific tasks or work styles, such as a legal publishing bundle, allowing users to choose the solutions most appropriate to their needs.

Access to object services

OpenDoc will be based on the industry-standard CORBA (Common Object Request Broker Architecture) object technology. This will allow users to take advantage of a wide range of distributed services working consistently across many different CORBA-compliant desktop and server systems. To more clearly understand the benefits OpenDoc provides to the user, let's examine a usage scenario that most computer users can relate to the use of text editors: Most applications today (whether word processors, spreadsheets, databases, or more specialized tools) include text editing capabilities. Some rely heavily on text editing, such as WordPerfect or Claris MacWrite. Some use text only incidentally, such as Claris MacProject, WordPerfect Office or Microsoft Excel. Unfortunately for the user, all differ in their details. For example, some allow text styles, some don't. Some offer tab stops, some don't, and so on. In addition to such details, they also differ in functionality and mode of operation. The result? If you use six different programs, you need to learn six different ways to do the same task: edit text. With OpenDoc, a text paragraph becomes a software module, usable wherever text is needed. You could take your favorite text editor and use it whenever you needed to work with text. Applications built in this way would have an important characteristic: they would simultaneously be simpler and more powerful. They would be simpler because you would have to learn only one way to do something. And they would be more powerful because you always have the option of choosing a fully functional module, replacing less capable ones.

Benefits to the Developer

The OpenDoc architecture also offers developers a number of important benefits.

Faster, more efficient development

Software developers can reuse already developed parts, eliminating the need to start from scratch with each development effort. This ability to reuse existing parts also means that developers need spend less time on parts that are peripheral to their main area of expertise.

Reduction of application complexity

Because OpenDoc parts are independent of one another, a collection of parts that is less complex than the large, monolithic applications of today can offer equivalent functionality. Diminished costs of software development. The fact that parts are smaller than applications makes them both quicker and cheaper to write, which reduces the penalties for failure.

Industry-standard object mechanism

Because parts can use a CORBA-compliant object mechanism, they can be written in a wide range of programming languages and development will be supported by many tool vendors. This mechanism gives developers high performance coupled with great flexibility in the use of "plug-and-play" objects.

Related Articles