VANISHING POINT

Open Horizons

Bruce F. Webster

Despite modest successes, NeXT has failed to convince major software publishers to support its platform. Beyond the size of the market, there's another problem. It is unnecessarily difficult to port NeXTSTEP applications to other platforms.

The Problem: Software publishers need to go cross-platform. With flat earnings and savage price competition, firms are looking for ways to speed development and broaden market penetration. Also, end users are moving rapidly towards mixed hardware and software installations and client-server architecture.

Hardware and operating-system vendors are starting to realize the challenges faced by the developers who help sell their products. Apple is forming a joint venture with Symantec to create the Bedrock development environment, intended to allow parallel development for Macintosh, Windows, and other environments. Rumors have surfaced about Microsoft doing much the same thing.

Sitting somewhere on the sidelines is NeXT, offering one of the best development environments around but on proprietary hardware running proprietary software and using development tools not readily available elsewhere. The hardware issue should start to fade by year's end, with the introduction of NeXTSTEP '486. The software issue, while real, is also NeXT's big advantage, especially with the sudden opening of the 32-bit OS market. NeXT stands a good chance of exceeding anyone's expectations as far as acceptance and market penetration in 1993. This is good news for developers who have stuck with NeXT, but for all but the smallest and most dedicated firms, it's not good enough.

The irony is that one of NeXTSTEP's biggest advantages use of Objective-C and supporting tools also serves as a major roadblock. The rest of the world has gone chasing after C++ and has only slowly discovered its limitations for object-oriented design, particularly with regards to dynamic binding. On the other hand, developers using Objective-C on the NeXT run into problems when they want to move to other environments. These barriers, real and perceived, have caused many developers to avoid NeXTSTEP development in the first place.

The Proposal: NeXT does not need to seek a general solution for developers just lower the barriers. Most NeXTSTEP developers would eagerly accept the following collection of tools for each environment supported: the same Objective-C compiler as provided with NeXTSTEP 3.0; an appropriate run-time system; a compatible version of gdb (the source-level debugger); and a compatible implementation of the Object root class and some key (non-UI) subclasses, primarily for support of distributed and linked objects. (Note what is not included: any attempt to reproduce the NeXTSTEP user interface classes from the AppKit.) The order of environments would probably start with Windows NT.

The effort involved should not be great. The fact that most of the tools are directly based on the Free Software Foundation's public domain GNU software simplifies things greatly.

The Objections: This idea is not a new one. It's not hard to guess why NeXT hasn't acted on it. NeXT is afraid that such a move will benefit its competitors and cause it to lose sales. NeXT also thinks that all its developers want and need is a larger NeXTSTEP installed base. But this is blind, zero-sum thinking and ignores the dramatic shift within the marketplace in the last year or two. It illustrates why NeXT has had problems holding on to developers or gaining new ones: NeXT thinks that what is desirable for NeXT is good for its developers, instead of the other way around.

The Reasons: On the flip side, there are compelling reasons based on NeXT's own strategy for NeXT to actively pursue such an effort.

Support distributed architecture. Throughout 1992, NeXT has been promoting various concepts of distributed-software architecture, including object links and client-server design. At the same time, NeXT has been actively increasing its network and file-system connectivity, recognizing

that few computing environments are homoge-neous anymore. Given this, the next logical step is to support a distributed, object-oriented software architecture across platforms and operating systems.

Attract and keep developers. NeXT sales to date have not made a compelling case for NeXTSTEP-only development, and lack of tool compatibility has kept away developers who might otherwise take a chance on NeXT. Given the tools described above, it will be far easier for software companies to justify starting or continuing NeXTSTEP development than it is now. In fact, there would be a much greater chance of back-room or trial-development projects starting up in companies that might otherwise not attempt NeXTSTEP development. Such companies would still have to deal with issues of memory management, imaging, user interface, and system services for other environments, which means that the NeXTSTEP versions of their product would tend to come out sooner and have better functionality.

Attract and keep customers. Potential and current NeXT customers want to be able to run similar versions of key shrinkwrapped applications on all platforms. They may want to write new custom applications for other environments or adapt existing ones to exchange data and objects with their mission-critical applications running under NeXTSTEP.

Showcase NeXTSTEP's advantages. This is an extension of the Trojan-horse strategy NeXT is counting on. Even with these tools available, NeXT-STEP would still retain its key advantages for shrinkwrapped and mission-critical-application development. Thus, as developers and customers adopt or experiment with NeXTSTEP because of the cross-platform potential, it will quickly become the preferred development and deployment environment, subverting from within.

The Plea: Come on, NeXT. Take off your blinders and leapfrog current thinking. Your developers will bless you. Your customers will love you. And you just might succeed beyond even your expectations.

Bruce F. Webster is chief technical officer at Pages Software and also president of the Association of NeXTSTEP Developers International (ANDI). He can be reached at bwebster@pages.com.