Amanda Hixson was one of the more savvy writers we relied upon to review software back in the early 1980s when I was an editor at Info World. We knew we could count on her to hold software to high standards, to evaluate it from the user's viewpoint, and to get quickly to the essence of what was right or wrong with the product. When, years later, she went to work for Apple, I wondered if it was the right move; writers should write, I thought.
Over the years, Hixson demostrated to the satisfaction of any observer that her decision was a savvy one, working her way up to a position reporting to Randy Battat, the VP of Product Marketing. Early this year she acquired a new title, when she presented Battat with the idea that the Macintosh System Software should be marketed. It wasn't a difficult sale; although Apple doesn't have to sell System Software on its own, the company understands that it's the System Software that sells the little gray toasters. Battat agreed that it was a good idea, but pleaded that he had no time. "I do," she said, and he made her Product Marketing Manager for System Software. The first big step Apple has taken in marketing its System Software was the press day at the May Developers' Conference, when Apple spelled out which of the rumored new features were in fact going into the next major system release. The announcements, along with other announcements coming out of the Developers' Conference, are worthy of note to anyone remotely considering developing a Mac product but not already in on all the former secrets.
Some of the features Apple will be folding into System Version 7.0 are obvious and have obvious developer consequences. The virtual memory and 32-bit addressing, if cleanly implemented, should be beneficial for everybody. The nice feature of VM for users is the ability to buy memory for average need, rather than for maximum need. Of course, System Version 7.0 will require a minimum of 2 Mbytes of memory. The outline fonts and layout manager, giving Apple real device-independent typographic-quality text, will be very interesting for applications that can make effective use of it. And the database access mechanism looks interesting.
But I found the InterApplication Communications architecture (IAC) the most intriguing.
The IAC gives the developer a choice of ways to get information from one application to another. Beyond the existing Clipboard for copying and pasting text and pictures, there will be a Live Copy/Paste facility that programmers can incorporate into new applications. It uses a publish/subscribe model: The user of one application selects some data in a spreadsheet he's working on (for example) and "publishes" it. Another user can "subscribe" to the published data, which brings it into the word-processing document he's working on (for example), and the data will change in the subscriber's document whenever the publisher changes the original. Apple is providing developers with a toolbox and user-interface guidelines for implementing Live Copy/Paste.
Then there are the Event Manager extensions. Because the Mac system is event-driven, extending the Event Manager is a logical way to allow inter-application communication: Just let one application message another. The trick is that the other application has to be able to recognize the message, and that requires some guidance from Apple. What Apple is providing is a protocol of standard messages for inter-application communication: Generic spreadsheet messages, for example, that only need some conforming spreadsheet program (not necessarily Excel) to be on the receiving end.
The low-level Program-to-Program Communication mechanism (PPC) is the tool the higher-level components use to get their jobs done; it's also the tool a developer would use to develop more subtle inter-application links than the higher-level tools allow. It also permits desk accessories, control panels, and other chunks of code to communicate.
Not too long ago, a lot of people put their money and time into integrated software packages: Omnibus programs that melded spreadsheet, text, graphic, and other kinds of processing. Unfortunately, not enough of these people were customers. One theory about the failure of integrated software is that it was the bundling, not the integration, that didn't work. If this theory is accurate, then users would love it if they could pick the applications they wanted to use and know that they would work together as tightly as the components of one of the integrated packages. Or more tightly.
That's what Apple has in mind; there was a lot of talk at the conference about not reinventing the wheel, about having an application signal another application when it needs something done outside its area of specialization. I'd like to see that.
Copyright © 1989, Dr. Dobb's Journal