PROGRAMMING PARADIGMS

The Promise of System 7

Michael Swaine

At MacWorld Expo in Boston this August, System 7 was not to be seen on the exhibit floors. It wasn't shown in the Apple booth, and third-party developers were under an embargo preventing them from showing their System-7-compatible versions or new applications.

This was no great loss, because the major vendors admitted that in their first System 7 releases they will only be concerned with compatibility -- making sure their products run under Systems 6 and 7. They will initially implement only those aspects of System 7 that come free: outline fonts, for example. Only later will we see applications that take advantage of significant System 7 features, such as interapplication communication.

Attendees did get a look at System 7, though. At one session, Chris Espinosa, he of the single-digit Apple employee number, and currently the marketing manager for system software at Apple USA, presented what was for most, a first look at System 7. Espinosa and his fellow panelists touched on several points particularly relevant to developers and system administrators; including how Apple is encouraging a fast move to System 7 of its whole user base, and what features of System 7 will support new categories of software. I'll summarize those here, filling in some details that the panelists glossed over.

Espinosa was frank about the Windows threat, acknowledging that very soon there will be as many Windows users as Macintosh users (and implying that soon thereafter there will be a lot more of the former than of the latter). Apple can't afford to fragment its market, Espinosa said; it must deliver a single platform for all Mac software, and a single package of fundamental functionality for all users. System 7 is supposed to become essentially the only operating system version for the Mac. (Although it won't go in the box with all new Macs sold until late next year.) That being the goal, Apple has tried to achieve several objectives with System 7. Apple needs to stay technologically ahead of the competition across its whole line, and needs to provide a platform for a new generation of applications, firing up a lethargic market. And since System 7 is the intended vehicle for reaching both these objectives, Apple needs to handle the introduction of System 7 very well.

Fear of System Software Upgrades

The handling of the introduction is critical, because Apple needs to pick up the momentum it lost when Windows 3 beat System 7 out the door. And if the introduction doesn't encourage people to upgrade right away (rather than waiting for 7.0.1 or 7.0.2, as conventional wisdom dictates), the point at which third-party applications arrive that really take advantage of System 7's new features will be pushed further off.

"The way we have handled system software upgrades in the past has not been all that stellar," Espinosa admitted. But he claims that Apple learned its lesson with System 6.0. "Our fingers were seriously burned," he told one member of the audience. 6.0 was incompatible with a significant number of third-party products and did not offer enough added value to justify the hassle of upgrading. With System 7, Apple has seeded its direct sales sites and application developers early. Developers will have had the product for nine months rather than a few weeks. The sales staff will have the product in beta.

Besides having learned its lesson from the 6.0 release, Apple is in a different position regarding this release than has been the case before. Usually, Apple system software upgrades have been tied to new hardware and couldn't be discussed; this time, Apple can talk more freely, and is doing so.

The 7.0 release is complex enough to need more in the way of documentation, and Apple is aware of this. System 7 will be documented in a completely rewritten system software manual, in a delta guide listing the changes, and in various quick references on specific features. It will go out to system administrators with on-disk documentation, upgrade tips and hints, and compatibility notes directly from the field. Perhaps most importantly, Apple is making every effort to solve compatibility problems and list the unsolved ones so that most software will run with System 7.0 when it's released and so that you'll hear about software that doesn't from Apple before you have to learn it for yourself.

The remote-install capability should ease the installation work of those responsible for more than one Mac. It allows the system administrator to put the installer on a server and let the users install the new system on their machines over the network.

But a smooth introduction alone won't make everyone upgrade. Although the software itself will be distributed through the usual channels and perhaps some new means at a nominal cost, upgrading will be expensive for some users. System 7 requires a Mac Plus, SE, SE/30, Portable, II, IIx, IIcx, IIci, or IIfx, or any future Mac; a minimum of 2-Mbyte memory; and a hard disk drive. A 68030 CPU or a PMMU is necessary for virtual memory, but machines without a 68030 or PMMU will run all other features of System 7. Espinosa says that the goal is to allow the user with 2 Mbyte to print from HyperCard or an application of similar size.

Anyone who doesn't have such a system will have to buy hardware to upgrade to System 7, and that's a serious consideration. Even more critically, many of those who meet the minimum requirements will need more RAM to do serious work, and Apple's policy on RAM pricing has a history of being user-hostile. This will have to change, and Apple will have to give users some breaks in upgrading to System 7.

This is tough for Apple; it represents a shift in mindset, and those of us who think Apple needs to get a lot more competitive in pricing should continue to encourage this transition. The relatively generous II-to-fx upgrade price is encouraging, and the new low-cost Macs to be announced this month should be further evidence that Apple is changing.

The other thing needed to make people upgrade immediately is a compelling set of immediate benefits. 7.0 has that.

Building a User Base

Espinosa ran through a demo, emphasizing the new features from a user viewpoint. It's worth examining a few of these immediately-available user features with this question in mind: Does this feature make the user more willing to spend the money and take the perceived risk to upgrade immediately?

Espinosa started by saying that users at Apple often start using another person's Mac without realizing they're working on System 7. At first this sounds like bad news: The product does not distinguish itself. But it's really part of the best user feature of System 7: consistency.

The Mac has always been a model of user interface consistency, and System 7 makes the GUI more consistent at the same time it is becoming more powerful.

The clearest evidence of this is the tightening of the definition of icon behavior. Now, more than ever before, an icon is an icon. When you double-click on it, it does something. As before, applications launch and containers open when double-clicked, but now desk accessories can be launched by double-clicking, too, and the trash acts like any other container, rather than emptying itself whimsically and relocating itself on the desktop when you reboot.

The Apple menu is now associated with a folder of icons, and when you put an icon in the folder, it immediately becomes available in the Apple menu. You can put all sorts of things in the menu this way, including applications and AppleShare volumes.

The System file, which previously gave an error message when double-clicked, now opens to show its contents, including fonts. Double-click on a font and you see an example of the font.

Another improvement in consistency is that MultiFinder is always on under System 7. It will always be possible to access the Finder or other open applications via the icon at the right end of the menubar, which Apple calls a "cooperative multitasking icon." Since it presents a menu of processes, I offer Apple the infinitely more memorable "Process Server." No charge.

The balloon help system is another immediately-accessible advantage of System 7. Click on the help icon in the menubar, and any Finder object you point at displays a cartoon-style word balloon explaining what it is and what it does. You can even pull down menus and inquire about individual menu items. Pointing to a grayed (disabled) menu item will bring up a balloon telling that the item is grayed because it is not presently available, explaining why it is not available, and what you need to do to make it available.

Any Macintosh user who plays with System 7 for a short time is going to walk away with the impression that it is more consistent, more coherent, and more elegant.

Also immediately useful to the user is the new file system, built around the Alias manager. The Finder now finds files. And users can use aliases to catalog disks, which is worth the price of a utility alone and easier than any such utility could possibly be.

Outline fonts will benefit users immediately in one way: they'll get single-point font increments on screen. A smart dealer could make a point by demonstrating this to users, since it distinguishes the Mac interface from Windows. Otherwise, the immediate effect of outline fonts is likely to be negative unless Apple can minimize confusion and incompatibility in the use of different font types. Espinosa described seeing documents with three kinds of fonts (Adobe, bitmapped, TrueType) mixed together. Apple is at least aware of the potential for confusion and incompatibility, and has had a lot of time to work out solutions.

File sharing is another immediate user benefit because it is user-friendly. FileShare works just like the Finder: You just put things in folders. With FileShare, users can pass files around, but they can also pass whole hard disks around: A user can log onto his or her own machine from somebody else's when he or she is in another part of the building, for example.

Espinosa also demonstrated aliasing. "I can leave my system running," he said, "go across the Charles River to our Cambridge office, find a System 7 machine and put my diskette into it, and see an icon of my hard disk back on my desk in Cupertino. I can double-click that hard disk and it'll go out over the network, find the right zone, find my machine, log me in, ask for a password, and open my hard disk." While the actual functionality is remote login with transparent file transfer, it presents itself to the user as: "see an icon, double-click it, and it opens up." The Macintosh way.

So when System 7 is released around the end of this year (if Apple pulls that off), the immediate user appeal will be better type, more memory or applications without more RAM (virtual memory), and more ease of use.

Building System 7 Apps

Ultimately, what will make System 7 pay off is the new applications that will be developed to take advantage of its capabilities. All the nice user features can be viewed as bait to hook as large a user base as possible as quickly as possible for these new applications. As I see it, Apple has provided at least two important categories of support for such applications.

The biggest item is interapplication communications. System 7 has, as I've mentioned here before, several levels of IAC, including live cut-and-paste (Apple calls this "Publish and Subscribe"), in which changes in the source are reflected in the destination; AppleEvents, a set of events that can be passed between applications so that applications can export their functionality to other applications; and low-level inter-process communications, which will allow application developers to build tightly integrated suites of applications. Apple sees these capabilities as laying the groundwork for a new generation of applications: smaller, more focused, and with more opportunity for small add-on products that use the functionality of larger applications.

The other area of support for a new generation of software has to do with multimedia. The new support for sound is impressive, but what's more fundamental is the planned support for time-sensitive information in the form of a set of standards. The umbrella term for this effort is QuickTime.

Apple is soliciting developer input in the definition of both QuickTime and AppleEvents. Since these technologies will help to define the shape of the next generation of applications, it might be wise to take them up on this.