Apple Open Collaboration Environment

Apple Open Collaboration Environment (AOCE) is a collection of messaging-related technologies introduced for the Classic Mac OS in the early 1990s. It includes the PowerTalk mail engine, which is 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 and PowerTalk were heavily marketed between 1993 and 1996, but the hardware requirements meant that most users couldn't even install or 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 its efforts to market AOCE, and the project quickly disappeared.

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

Objective
The project started by looking at existing mail systems and trying to find common concepts and problems. The team also found 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 third party workarounds that were of dubious reliability. And they were all based on a dedicated email server that was typically complex to set up, and often excessive for small installations with only a few people in an office.

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 also a number of bulletin board systems (BBSs). Each email system used its own standards for collecting and storing information, which required users to run multiple clients to access the different services. Although a single-mailbox system could be constructed by administrators with the use of email gateways, these tended to be expensive and technically challenging to maintain.

Solutions
At one end of the system, AOCE focuses on the underlying delivery and addressing systems, generalizing the email concept so the system can be used to deliver anything from email to word processor documents to print jobs. Addressing was another issue the market was struggling with, so AOCE offers a single universal addressing mechanism and address book, one that could support not only people's email 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 Macintosh solution, the Chooser.

AOCE normally store users' email on each personal computer, as opposed to a server. This not only allows the user to read mail offline, but also removes the need for a single machine with huge storage space. Small networks can be set up simply by installing the standard client software; the machines discover each other on AppleTalk and communicate directly. AOCE understands that users are not always connected to the network, so outbound mail is cached on the sender's machine until both the sender and recipient are online. Even on a LAN this is valuable, as many users turn off their computers at night and the mail would must wait until the next morning for delivery.

Since the mail is stored locally, users with laptop computers are able to read and compose mail while mobile. Everything automatically updates upon reconnection to the office LAN. AppleTalk Remote Access, Apple's standard implementation of AppleTalk over modems, provides remote sync.

For security over the potentially open phone lines, all communications can be secured using RSA encryption and digital signing, even on the local network. Additionally, the Keychain stores various login credentials in an encrypted file. This allows the users to use a different username and password on the various systems, placing them in the keychain database for secure storage. This requires only a single password for the keychain; AOCE can retrieve the credentials for a particular service on demand.

Users can share documents directly simply by dropping the address on the document, or vice versa, bypassing a message at all – the document would arrive automatically in the other user's mailbox. Delivery of email (which in this scenario is nothing more than a text document in a specialized format), or of anything else, was handled entirely by plugins, allowing the user to collect mail from all of their sources into a single inbox.

An optional server can be installed for performance and maintenance needs for those sites that required it. In this case any attempted delivery would be intercepted immediately by the server, thereby avoiding delays if the recipient was not online. The server then delivers the message on behalf of the sender when the recipient connects online.

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.

Release
By early 1993 the client side of AOCE was nearing completion, which was then referred to as PowerTalk. Apple started a pre-release marketing campaign, telling larger customers and even third party email vendors that AOCE would soon arrive and change the market completely. Their claim was that nothing else would be able to compete with its usability, 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 mid-1993. At the show the developers found that the choice of naming was 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 includes AppleScript utilities.

Deployment
When the product finally shipped after years of hype, users were dismayed to find that to install it requires a machine with 2.5 MB of RAM minimum, and needed 4 MB to run well. This is the maximum available RAM in many Mac systems of the era. Removing unneeded components do little to address this, and AOCE and the other Apple technology, 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 email system intended to be run on diverse networks of heterogeneous 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. For instance, the addressing system is so deeply embedded into the core of the system that simply typing in a new address is an ordeal. First the user clicks on a button, selects the address type, types it in, and then finally clicks  to have it appear in the message. Disk usage is also a problem because each message is stored as a separate file, requiring 1 kB or more of space in an era where 40 MB and 80 MB disks are still common. Thus a few hundred messages are enough to fill the free space on the drive. Backing up email 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.

The system could not know who a user was, because the single-user Mac OS 7 does not require users to log in. Thus documents had to be delivered to a user's machine. This does not work well when the user has two or more machines, making the concept of a universal mailbox difficult to achieve in practice.

Even the remote access functionality is doomed by feature interaction. To ensure that all messages are delivered in a reasonable time on a network where machines might appear and disappear at random (when they are turned on and off), AOCE has a 15-minute timeout in which it repeatedly tries to deliver pending messages. If the user is using a dialup connection on a modem, AOCE keeps the line open for a full 15 minutes before giving up on disconnected user, driving up long distance bills to deliver a potentially tiny message.

Many of these problems were intended to be solved with the PowerShare server, which acts as an always-on, always responsive super-peer. The basic AOCE protocol notices these machines when attempting delivery, and sends to them first, thereby eliminating the delays and centralizing storage and maintenance. 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 makes it unsuitable for server applications&mdash;a role for which it was never designed in the first place.

Cancellation
AOCE had one year at Apple's Worldwide Developers Conference in 1995 when it was finally selling, but by this point, the market was moving toward SMTP-based Internet mail as a universal format. By 1996 Apple had given up on AOCE, and started talking about the CyberDog project based on the OpenDoc platform. AOCE is not supported in Mac OS 7.6.

Overview
AOCE's Open Directory and related software introduced the concept of directory entries (such as business cards) as first-class desktop objects. This is used to create a drag-and-drop metaphor for mail, fax, and other directory-based activities. Each endpoint, a mail server for instance, is driven by a plug-in extension that is driven by a common AOCE-supplied queue and queue viewer. PowerTalk provides a set of standard forms for interacting with the items in the queues, and a common interface for mail, and a universal mailbox. Encryption is 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 email 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 includes a robust layered protocol stack that, in theory, can be used with practically any store-and-forward type of environment. This is 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 third party developers was slow due to a complicated API. The book documenting the system is larger than all of the books describing the rest of the pre-System 7 Macintosh combined. Adding a simple feature like "mail this document" to an application requires wading through hundreds of pages of documentation, and writing a core AOCE component is many times more complex.

Several parts of the AOCE engine are useful on their own, such as the Keychain. However, in order to get the keychain, the user must 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 and signing support is arguably also useful (although not widely deployed), and it reappeared in Apple's bundled Mail application starting with Mac OS X 10.2 Jaguar in August 2002.

Reception
In August 1994, Mel Beckman of MacWorld gave AOCE one star out of five, citing profoundly poor usability, documentation, hardware resource requirements, and telephone technical support. A network administrator of five years, Beckman failed to even properly send email after three dedicated days, saying "setting up and maintaining a PowerShare server is not a chore for the fainthearted" with daily tasks being "odious".