Apple Open Collaboration Environment
|This article does not cite any references or sources. (May 2008)|
Apple Open Collaboration Environment, or AOCE (sometimes OCE), was a collection of messaging-related technologies introduced for the Mac OS in the early 1990s. It included the PowerTalk mail engine, which was the primary client-side interface to the system; the PowerShare mail server for workgroup installations; and a number of additional technologies such as Open Directory, encryption and digital signature support.
AOCE/PowerTalk was heavily marketed between 1993 and 1995, but the hardware requirements meant that most users couldn't even install it, let alone use it. Developers were likewise stymied by the complex system, and since the installed base was so small their potential sales were even smaller. In 1996 Apple Computer quietly dropped their efforts to market AOCE, and the project quickly disappeared.
Development of AOCE started in 1989, largely the "pet project" of Apple Fellow Gursharan Sidhu, formerly engineering lead at Apple for LaserWriter, AppleShare and related networking products.
Problems to solve
The project started by taking a "20,000 foot overview" of existing mail systems, and trying to find common concepts and problems. Their key conclusion was that e-mail systems were designed for the wrong purpose -- to deliver e-mail to people, when they should instead store and forward things to places. Compare this with the real-world postal service, which delivers not only mail, but magazines, packages, large parcels, and even (in one example) building materials to a worksite.
The team also found other problems with existing email systems. They tended to support plain text mail only, and rarely supported non-English characters. Support for mobile users was poor, often relying on 3rd party "hacks" that were of dubious reliability. And they were all, without exception, based on a dedicated e-mail server that was typically complex to set up, and often "overkill" for small installations with only a few people in an office.
Finally, none of the existing products could give the user what they really wanted: a single universal mailbox and a single universal address book. In this 'pre-Internet' era, savvy users often had mailboxes on their corporate network, online services such as CompuServe or AppleLink, and perhaps a number of Bulletin board systems (BBSs) as well. Each e-mail system used its own standards for collecting and storing information, forcing users to run multiple clients to access the different services. Although a single-mailbox system could be constructed by administrators with the use of e-mail gateways, these tended to be expensive and technically challenging to maintain.
AOCE aimed to fix all of these issues at the same time. At "one end" of the system, AOCE focused on the underlying delivery and addressing systems, generalizing the e-mail concept so the system could be used to deliver anything from e-mail to word processor documents to print jobs. Addressing was another issue the market was struggling with, so AOCE would offer a single universal addressing mechanism and address book, one that could support not only people's e-mail addresses, but the "addresses" of things like printers and fax machines as well. These could be looked up in an interface much easier to use than the existing solution, the Chooser.
AOCE would normally store a user's e-mail on their computer, as opposed to a server. This not only allowed the user to read their mail offline, but also removed the need for a single machine with huge storage space. Small networks could be set up simply by installing the standard "client" software; the machines would discover each other on AppleTalk and communicate directly. AOCE understood that users were not always connected to the network, so outbound mail was cached on the sender's machine until both the sender and recipient were online. Even on a LAN this would be valuable, as many people turn off their computers at night and the mail would have to wait until the next morning for delivery.
Since the mail was stored locally, users with laptop computers would be able to read and compose mail while on the road. Everything would automatically update the next time they returned to the office and connected back to the LAN. AppleTalk Remote Access, Apple's "standard" solution for supporting the AppleTalk protocol over modems, was also supported for those users who wished to sync up remotely.
For security over the potentially "open" phone lines, all communications could be secured using RSA encryption and digital signing, even on the local network. Additionally, Apple provided the Keychain, which stored various login credentials in an encrypted file. This allowed the users to use a different username and password on the various systems they used, placing them in the keychain for secure storage. This way they only had to remember a single password for the keychain; AOCE would retrieve the credentials for a particular service on demand.
Users would be able to send documents directly to other users simply by dropping the address on the document, or vice-versa, bypassing a "message" at all – the document would arrive, by itself, in the other user's mailbox. Delivery of e-mail, or anything else for that matter, was handled entirely by plug-ins, allowing the user to collect mail from all of their sources and collect it into a single inbox.
An optional server could be installed for performance and maintenance needs for those sites that required it. In this case any attempted delivery would be "intercepted" by the server who would accept the message immediately, thereby avoiding delays if the recipient was not online. The server would then deliver the message on behalf of the sender when the recipient "appeared".
The AOCE project suffered from what is known as second-system effect, where engineers spend considerable time designing a system that does everything. Invariably these projects fail as the demands are not only incredibly difficult to meet, but often fail to meet real user needs. Often the ideas themselves are good, but buried inside unusable implementations.
By early 1993 the "client side" of AOCE was nearing completion, which they now referred to as PowerTalk. Apple started a pre-release marketing campaign, telling their larger customers and even 3rd party e-mail vendors that AOCE would soon arrive and change the market completely. Their claim was that nothing else would be able to compete with its ease-of-use, power, and lack of maintenance overhead – all hallmarks of "the Apple way".
The system was first widely shown at the Macworld Expo in Boston in the summer of 1993. At the show the developers found that their choice of naming was proving unwise, due to confusion between "PowerTalk" and Apple's new voice recognition system, PlainTalk.
AOCE was publicly released in September 1993, part of the System 7 Pro bundle that also included AppleScript utilities.
When the product finally shipped after years of hype, users were dismayed to find that to install it required a machine with 2.5MB of RAM minimum, and really needed 4MB to run well. This was the maximum available RAM in many Mac systems of the era. Removing unneeded components did little to address this, and AOCE and the other Apple technology du jour, QuickDraw GX, typically could not be run together because of a lack of memory. While newer machines were able to run AOCE more comfortably, as an e-mail system intended to be run on diverse networks of non-homogeneous machines the requirements greatly impaired market acceptance. Simply downloading and installing separate stand-alone client applications for each mail system the user actually had would use considerably less disk space, and had no constant memory footprint.
While PowerTalk was generally an interesting system, a combination of design features made it frustrating to use[original research?]. For instance, the addressing system was so deeply embedded into the core of the system that simply typing in a new address was an ordeal. First the user had to click on a button, select the address type, type it in, and then finally click OK to have it appear in the message. Disk usage was also a problem; each message was stored as a separate file, requiring 1k or more of space in an era where 40MB and 80MB disks were still common. Thus a few hundred letters would be enough to fill the free space on the drive. Backing up e-mail was likewise almost impossible as a side-effect of the design; the mail was spread out over the network, some of it remote and inaccessible.
Another annoyance was that the system could not know who a user was, because Mac OS did not require users to log in. Thus documents had to be delivered to a user's machine. This did not work well when the user had two or more machines, making the concept of a universal mailbox difficult to achieve in practice.
Even the remote access functionality was doomed by feature interaction. To ensure that all messages were delivered in a reasonable time on a network where machines might appear and disappear at random (when they are turned on and off), AOCE had a 15-minute timeout in which it repeatedly tried to deliver pending messages. If the user in question was using a dialup connection on a modem, AOCE would keep the line open for a full 15 minutes before giving up on disconnected user, driving up huge long distance bills to deliver a potentially tiny message.
Many of these problems were intended to be solved with the PowerShare server, which acted as an always-on, always responsive "super-peer". The basic AOCE protocol would notice these machines when attempting delivery, and send to them first, thereby eliminating the delays and centralizing storage and maintenance. Sadly the server was not ready in time for the release, and did not ship for another year. When it did it was likewise slow and resource hungry, largely a side effect of various features of the Mac OS that made it unsuitable for server applications (not that it was designed for this role).
AOCE had one year in the sun at Apple's Worldwide Developers Conference in 1995 when it was finally selling, but by this point almost everyone realized that the market was moving towards SMTP-based internet mail as an almost universal format. By 1996 Apple had given up on AOCE, and started talking about the CyberDog project based on the OpenDoc platform. AOCE quietly disappeared and was no longer supported in Mac OS 7.6.
AOCE's Open Directory and related software introduced the concept of directory entries (such as business cards) as first-class desktop objects. This was used to create a drag-and-drop metaphor for mail, fax, and other directory-based activities. Each endpoint, a mail server for instance, was driven by a plug-in extension that was driven by a common AOCE-supplied queue and queue viewer. PowerTalk provided a set of standard forms for interacting with the items in the queues, and a common interface for mail, and a universal mailbox. Encryption was supported by a single "keychain" that remembered all your passwords and digital signatures, encrypting them together so only a single password needed to be remembered.
The system was designed in an era when there were many e-mail formats and services, including online services such as CompuServe and AppleLink, networking standards like X.400 and SMTP (internet mail) and LAN-based servers such as Microsoft Mail and QuickMail. In order to support this diverse environment, AOCE included a robust layered protocol stack that, in theory, could be used with practically any store-and-forward type of environment. This was used within AOCE not only to service mail, but faxes, printing and even directly sending files from one machine to another without enclosing them in a mail message or needing a file server.
Adoption of AOCE among 3rd party developers was slow due to a ferociously complicated API. The book documenting the system was larger than all of the books describing the rest of the pre-System 7 Macintosh put together. Adding a simple feature like "mail this document" to an application required wading through hundreds of pages of documentation, and writing a core AOCE component was many times more complex.
Several parts of the AOCE engine were useful on their own, notably the Keychain. However in order to get the keychain, you had to install all of AOCE, a cost the users were not willing to pay. Many years later the keychain was finally shipped as a stand-alone component in Mac OS 9. The encryption/signing support is arguably also useful (although not widely used in the "real world"), and it has reappeared in Apple's bundled Mail application starting with Mac OS X 10.2 Jaguar in August 2002.
- Apple Open Collaboration Environment (AOCE) documentation on Apple Developer Connection
- AOCE - The next great Macintosh Advantage?
- 1990-1995: Apple vs. Microsoft in the Enterprise, PowerTalk overview