Next's proselytizing for object-oriented development may set the stage for Taligent and Windows NT
Bruce F. Webster
Version 1.0 of NextStep was released on September 18, 1989. At its first public showing 11 months earlier, Steve Jobs showed a slide to illustrate his theory that advances in operating-system technology tend to come every five years--thus, CP/M (1979), Macintosh (1984), and NextStep (1989). According to Jobs, as the new technology arises, the old one starts a slow glide downward, diminishing in influence and innovation, held back by its installed base and the need to maintain compatibility.
It's now 1994. NextStep has been arguably the most influential operating system of the last five years: widely envied, often imitated, seldo
m matched. It offered a true object-oriented environment with system foundation classes, a uniform imaging model, and a graphical interface builder in a time of MS-DOS 3.x, Windows 1.0, and Mac System 5.4. It has been cited as having the best user and development environments around. It has won awards and received glowing reviews. It currently runs on three platforms, with more to come, and the OpenStep effort may establish its concepts and technology as a standard.
What NextStep lacks is a significant number of users. After five years of sales, the total number of active NextStep seats--systems at which you can sit down today and use NextStep--is less than the number of new Mac systems sold each month or the number of new Windows systems sold each week. Lack of users means lack of income for Next; as important, it means scant revenue for NextStep VARs and third-party developers, which is prompting them to cut back on or abandon Next. For Next to succeed, it must convince potential customers to adopt N
extStep--and that's the challenge it faces.
The State of NextStep
At the core of NextStep is a version of the Mach microkernel, which handles memory management, process management, and interprocess communications. It is buried within a Unix-derived operating system that is compatible with the BSD 4.3 release. On top of this sits NextStep itself, comprising Display PostScript, which provides a common imaging model for screen rendering, faxing, and printing; the Window Server, which manages the display, as well as user events and interactions; the Application Kit, an object class library for building NextStep applications, including user-interface objects; and Workspace Manager, the NextStep user interface.
The current NextStep, release 3.2, is available for Intel-based systems, Hewlett-Packard HP-PA workstations, and the original Next hardware. At this writing, release 3.3 was due out in November 1994 and should include a native SPARC-based version that can run on Sun workstations. Release
4.0 is due in 1995; it will adhere to the OpenStep API specification and have other enhancements. Beyond 4.0 is Mecca; its name is an intentional double pun, which plays off both Microsoft's Cairo and Next's market focus on mission-critical custom applications, or MCCAs.
Besides the user version of NextStep itself ($795), Next also sells the NextStep development tools ($2995); its PDO (Portable Distributed Objects) toolkit ($4995 to $9995) for developing NextStep-compatible server applications on plain-vanilla Unix systems; and a wide assortment of training and consulting services for object-oriented development. Next has also set up what it calls the Object Channel to distribute and sell software components developed by Next and third-party firms.
Where Have All the Users Gone?
If NextStep is so wonderful, why isn't it used more widely? First, for a long time, NextStep was available only on Next hardware. Next hardware was, frankly, great stuff, but corporate America wasn't ready for a cu
stom Unix workstation made by a small company. Next finally dumped the hardware and pushed NextStep out onto Intel-based systems, but that version has been available only since mid-1993.
Second, NextStep has high secondary costs. Besides its own stiff price tag, it has significant CPU, video, memory, and hard disk requirements: I recommend a 486DX with local-bus and/or accelerated video, 16 MB of RAM, and 300 MB of hard disk space for starters. For development, plan on double the RAM and hard disk capacity.
Third, because NextStep is targeted at mission-critical custom applications, corporations and government agencies that adopt it typically deploy a small number of seats for evaluation and development purposes. Once they complete the custom application, they typically deploy additional seats for end users, but most firms using NextStep have not reached that phase yet.
Fourth, NextStep tends to take over a desktop. You can run DOS and Windows applications via SoftPC (from Insignia Soluti
ons), but users haven't been entirely happy with its performance and other constraints.
Finally, Next is not Microsoft, and NextStep isn't Windows. Nobody ever got fired for selecting Microsoft, but championing NextStep can entail a lot of risk.
The OpenStep Initiative
To broaden the focus and appeal of NextStep, Next has joined with SunSoft (a Sun Microsystems division) to create OpenStep, an object-based application environment standard derived from NextStep. OpenStep implementations sit on top of various operating systems, providing a standard API and set of facilities for custom and third-party applications. Any program written to the OpenStep API is supposed to be source-code compatible with any OpenStep implementation.
The OpenStep standard includes three major components: the Foundation Kit, which provides fundamental object classes; the Application Kit, which provides application and user-interface object classes; and Display PostScript, which provides a uniform, device-inde
pendent imaging system. The specification has been published, and any vendor is free to implement it for a given operating system. In practice, however, it is much easier to license the technology from Next.
Two OpenStep versions have been announced. First, SunSoft is doing a Solaris version and plans to bundle it with Solaris 2.3; the combination should ship in early 1995. All Sun workstations shipped after that release will have OpenStep on them; likewise, all Solaris upgrades to version 2.3 will get OpenStep.
Second, NextStep 4.0 itself will be OpenStep-compliant. Developers can then use the same source code for OpenStep and NextStep 4.0 (except for minor differences in direct calls to the operating system), because most NextStep applications have few direct Mach dependencies. For those that do, Next and SunSoft have published porting guidelines showing what matches exist between Mach and Solaris calls.
However, the API and architectural changes in OpenStep--including a new set of foun
dation classes and methods for creating and freeing objects--will require that current NextStep 3.x developers do significant rewriting of their applications to recompile them under 4.0. Next may offer scripts and other automated tools to help with the rewriting, but it will still be no easy task.
Taligent and Cairo/OLE
Having spent the last several years promoting and demonstrating the benefits of an object-oriented environment, Steve Jobs must be watching with some chagrin as Microsoft and the Taligent consortium--Apple, HP, and IBM--follow in the path blazed by Next.
Taligent is attempting to learn from Next's lessons. The TalAE (Taligent Application Environment) is designed to sit on top of any operating system meeting certain standards (e.g., 32-bit and preemptive multitasking). Versions of TalAE for OS/2, AIX, HP-UX, and PowerOpen have been announced, and Taligent has shown TalAE running on top of Windows NT. TalAE is thoroughly object-oriented and attempts to provide as many service
s as possible to applications, easing the development task.
Taligent is targeting the mission-critical market in corporations, where it could be a real threat to NextStep/OpenStep. The key issue deals more with business than technical superiority. Standing behind NextStep is Next, with support from SunSoft for OpenStep. Standing behind Taligent are Apple, HP, and IBM. For corporations making large commitments, the last three names carry much more weight than the first two.
Microsoft, for its part, is seeking to retrofit the Windows environment with object technology, or at least what it calls object technology. Few outside of Microsoft with significant training in object-oriented development would call OLE 2.0 object-oriented, since it lacks both key aspects of object-oriented technology (e.g., inheritance) and key benefits of object-oriented development (e.g., reusable code and faster development).
As for Cairo, beyond making some comments about an object-based file system, Microsoft rem
ains vague about what truly object-oriented features the next major version of Windows NT will provide. The delivery date also remains in question. It has moved from mid-1995 to early 1996.
The very fact that Microsoft says it will do an object-oriented environment has frozen the decision making of many prospective NextStep/OpenStep (and, for that matter, Taligent) customers. Such is the influence of Microsoft.
What's Next for NextStep?
Regardless of its technical merits, and regardless of the fact that it will be in its fourth major release before version 1.0 of TalAE or Cairo ever ships, NextStep faces a continuing uphill battle for acceptance. The OpenStep effort will ease, but not eliminate, these challenges. Next's best chances probably lie in emulating Taligent: moving OpenStep into as many operating systems as possible and lining up major partners for distribution and backing.
On top of all its other troubles, NextStep is five years old. If Jobs' theory of operating-system cy
cles is correct, NextStep should be starting on the downward slope, with some new technology rising to replace it. That advance may be Taligent, it may be Cairo, or it may simply be Chicago, dominating through installed base and application support. Or it may be NextStep itself, reborn through OpenStep. Even if NextStep does decline, its legacy and influence will be felt for years to come, but that may be small comfort to those who have poured their lives into it.
Illustration: NextStep Time Line
Bruce F. Webster is chief technical officer at Pages Software, Inc., a San Diego developer of NextStep-based compound document technology. He can be reached on the Internet at
bwebster@pages.com
or on BIX c/o ``editors.''