The Past

To understand the future, we must first look to the past. Clearly stating the historical perspective will help us to better understand how the common ground has now shifted so dramatically.

Apple

Macintosh
Apple was founded in the seventies by Steve Jobs. They were responsible for the first great leaps forward in personal computing: the open architecture PC and the graphical user interface. The hardware architecture of the Apple II was copied by IBM to produce the IBM PC. At Xerox PARC Steve Jobs was shown several soon to become important technologies: the mouse, the windows-icons-menus-pointer graphical user interface, the local area network, and object oriented programming. The first two of these technologies he used to redesign the original plans for the Lisa and Macintosh; the third was already under weigh; and the last we come to later.

Over the latter part of the eighties Apple has held an approximate ten percent market share of personal computers, up to fifteen percent in the home (US domestic) market, and less elsewhere. Recently this has been dropping, due to the success of Microsoft Windows, and the delayed release of newer operating system technology from Apple.

System 7
The first major revision of the MacOS operating system since its launch in 1984 was System 7 in 1991. This added rudimentary multitasking to the existing OS, in much the same way as Windows 3.0 did for Microsoft. Although Microsoft have released true multitasking and memory protection (for improved reliability and security), Apple have not had the good fortune to have a failed relationship with IBM to give them a new generation operating system, which Microsoft were able to migrate through OS/2 into Windows NT and Windows 95.

Taligent
Their first attempt to develop a replacement operating system, Pink, was subject to a metamorphosis into Taligent as a joint project with IBM, which was quickly cut down from an OS into a development toolkit, and then finally spun off and dropped altogether.

Finally, a year ago Apple appointed new professional managers to correct the losses and declining market share of recent years. Gil Amelio, formerly of National Semiconductor was brought in as CEO, and he brought in Ellen Hancock, late also of National Semiconductor and IBM, as Chief Technical Officer.

Copland
In July 1996, Hancock and Amelio cancelled all work on Copland, which was the successor to Pink as the future operating system for Macintosh. Copland was chronically late, and was not likely to deliver a working operating system in a reasonable timescale.

From that point onwards Apple was searching for a replacement future operating system for Macintosh. According to reports, they were asking only three questions of a candidate OS, which perhaps shows the straits Apple were reduced to: "does it have multitasking, multiprocessing, and protected memory?". IBM were consulted, and it was widely reported in the press that Apple were considering BeOS, and Solaris.

Be
As the most reports were published about BeOS, a little background is in order. Be was founded by Jean-Louis Gassee, an ex-Apple director. The OS was developed from scratch, and was still in beta. As an indication of the early stages BeOS was in, it still wasn't possible to print.

By the end of 1996 Apple's share price was at a ten year low. Due to quality control problems they were late shipping one of the PowerBook models, with substantial backorders, and despite a cash account of $1.8 billion, posted a $120 million fourth quarter loss.

NeXT

NeXT was founded by Steve Jobs in 1985, after being pushed out of Apple. The first product, the NeXT cube, was released in 1988. The hardware design was loosely based on the SUN (Stanford University Network) public domain design for Motorola 680x0 processors, and the operating system used the other remaining idea from Xerox PARC: object oriented programming.

NeXTSTEP
The NeXTSTEP OS used the most expedient techniques of the day to produce a quality OS: based on Unix, which was cheap to license, and BSD Unix because it supported decent networking software and System V didn't. It used Display Postscript as the basis for a imaging system; the X Window system at the time was clearly a poor design, and showed little acceptance. It used Objective C as the base language, because of the similarities with Smalltalk, and C++ was barely out of the labs and not yet standardised at the time. Because of these choices, they had to develop their own GUI layer, and chose to use OOP to produce a development toolkit, the same one as they would make available to users, as the basis for the GUI.

Following several years of mixed fortunes selling hardware based on the Motorola 680x0 series of processors, NeXT were forced to discontinue hardware production in February 1993 by one of their biggest shareholders, Canon. Just prior to this act, and in fact running for several years previously, NeXT had a project to develop a new hardware range, referred to as the NRW (NeXT RISC Workstation). The final flowering of this project was a symmetric dual processor PowerPC design, which was successfully running a NeXTSTEP game (Xox) in the labs.

Porting
A few years earlier NeXT had developed a port of their GUI to run on top of IBM's AIX, initially on Intel 386 processors, but finally on the RS/6000 RISC processor. As an indirect consequence of this, they sought help from Intel to develop a new port of NeXTSTEP to run on Intel 486 processors. This was finally released in June 1993, after a few very quiet months.

Over the coming couple of years, NeXT consolidated their OS on Intel hardware, and produced new ports running on Hewlett-Packard's PA-RISC workstations, and Sun's SPARC 4, 5 and 10 systems. The port from m68k to Intel gave them an OS that could cope with both big and little endian architectures; something that NT, which also claims to be a portable OS, cannot do.

Openstep
Spurred by the challenge of competing in the operating system wars against Microsoft, Steve Jobs at first proposed a new operating system revision, referred to in one keynote speech as "Mecca", with radical redesign and new APIs, and then retreated to proposing the API as a separate venture. This API, called OpenStep, would run on top of Windows NT, but would be portable between NeXTSTEP (or Mecca) and other operating systems.

NeXT licensed a version of this development environment, including OpenStep, to Sun, which would finally be released in 1996 as Neo Desktop/Workshop. By that time, NeXT had lost interest in it (OpenStep), and Sun themselves were far more interested in their new baby, Java.

Initially NeXT had pitched their hardware exclusively at the academic market, but they revised the target market frequently, only ever seeming capable of addressing one market segment at a time. So their shifted from education to publishing, only to switch away from publishing just as the first publishing applications were due for release. Finally they settled on Mission Critical Custom Apps (MCCA) as their market of choice. This meant selling systems for development to customers who would accept any operating system to deploy applications as rapidly as possible. This is only feasible if the income from the developed applications, and the saving from releasing them a few weeks earlier than with other methods, was very vast indeed. For derivatives trading houses, and a few others, this was true.

Competition
Other companies moving in the same arena had been very reliant on a strong distribution channel to sell; Sun is a classic example of this. The barriers to sales of the operating system and lack of applications could be easily beaten by sophisticated VARs and distributors. Unfortunately, NeXT had developed a corporate culture that made it impossible for them to work with partners. The most successful companies working with NeXTSTEP were treated by NeXT as competitors, and sold despite the best efforts of NeXT.

This culture could be said to be descended from the top. Steve Jobs had a reputation for years as being hard to work with. He set very high standards of quality, and intervened at all levels. Frequently he would meet with a customer at a high level, immediately followed by a cancellation of all business.

By the middle of 1995, the pressure of competing for sales against Microsoft had told on NeXT. Without officially announcing it, they stopped new development of the NeXTSTEP operating system and sought new markets. By this time they had products for server applications (Portable Distributed Objects, or PDO), and a object oriented system for accessing relational databases (Enterprise Objects, or EOF), which relied on the NeXTSTEP operating system.

WebObjects
Using the portable objects technology developed for these products, NeXT sought acceptance in the new Internet market, as the suppliers of a development environment for web servers, to be known as WebObjects. A cut down version of WebObjects was free, but to develop database applications you had to pay $25,000 per server, a sum that seemed out of line with other companies pricing strategies for web products.

It also seemed as if growing interest in Java would supersede any interest in a purely backend technology such as Web Objects.

The focus on selling an expensive product meant that NeXT were increasingly reliant on selling their own consultants to customers, and shifted towards a more introverted pattern of a few relatively big sales.

Steve Jobs by this time was disenchanted with NeXT, leading to a series of increasingly disillusioned interviews in Wired and Red Herring over 1995 and 1996. His time was mostly spent with his other main investment, Pixar, then doing well as a result of a collaboration with Disney, the movie Toy Story. His interviews seemed to concentrate on the likeness of web technology to older mainframe systems, with the web browser cast in the role of the 3270 dumb terminal; the only things he could be enthusiastic about were his family life, Pixar, and Miele washing machines.

By late 1996, NeXT were turning over about $50 million per year, and had only reported a profit in one quarter. Shifting to a consultancy emphasis was reducing total revenue without necessarily increasing profitability as had been hoped. Signs were that the new web market was not satisfactory for NeXT, and their hopes of an IPO would never be fulfilled.

NeXTSTEP Users

NeXT users bought NeXTSTEP for a number of reasons; most these reasons would be important for every user, so there was a very consistent background for all users.

These reasons are:

1) Rapid Application Development

RAD
NeXTSTEP allows RAD because of several virtues: the object oriented AppKit (now OpenStep); the visual programming tool Interface Builder; and because the entire OS is built using these tools. Two of these reasons are unique to NeXTSTEP (the Interface Builder and the OS built from the same OO toolkits); the third is more extensive in NeXTSTEP than in any other environment apart from Smalltalk.

Note that with Interface Builder there are other visual programming environments, from Visual Basic onwards; but only interface builder uses the "freeze-dried" objects approach, rather than code generation.

This environment has limitations: only a professional programmer will have the skills to make proper use of it; and it requires that development is done using an object oriented language with dynamic linking (which in practice means Objective C, although Java is a new potential candidate). It also only gives these benefits in full where the user uses the NeXTSTEP operating rather than an OpenStep environment on Solaris or Windows NT.

Depending upon the methodology adopted by the developers, projects can be delivered in a very short time using prototyping techniques, although the code produced would require extensive reworking to build up a proper object library; or projects can deliver in a more normal timescale, but with substantial reusability of the libraries produced. In practice, most development projects use the prototyping approach, and move towards object reusability over several released versions of the project.

The RAD approach that object orientation encourages works by allowing individual developers to fully comprehend the nature of larger problems than they could resolve using traditional development techniques, because object orientation mimics more closely the natural understanding process of the human mind. It has no overall impact on project management, except by reducing the size of a team required to work on any project.

A side effect of being able to deliver individual projects faster, is that larger, more complex projects can be taken on. An organisation using NeXTSTEP can deliver solutions to problems that their competitors are unable to consider. An application can also be revised on far shorter time cycles than in other environments, and therefore track shifting requirements much more closely, which also leads to applications being feasible under NeXTSTEP that would not be in other environments.

2) Ease of Use

Ease of Use
NeXTSTEP systems are easier to use than any alternative; although this doesn't consider all of the factors relevant to this decision, such as retraining costs.

The graphical user interface used by NeXTSTEP is unique to this operating system; the development tools available mean that products have to be developed for NeXTSTEP alone, so the applications available are also unique to NeXTSTEP. This gives rise to all of the advantages and disadvantages from the users perspective.

The user interface works well because it is extremely "orthogonal". This means that it is very consistent, and all commands work across all applications, as far as they can be expected to. This is possible for a number of reasons:

Again, these benefits are unique to NeXTSTEP, and don't apply to the OpenStep Solaris or NT environments. They also mean that applications developed for NeXTSTEP can gain a high degree of functionality from the common application environment, and application should be designed to meet specific functions, rather than taking the "kitchen sink" approach common in the Windows and Mac environments.

One problem is that, although the cost of training is low because of this, as NeXTSTEP is an uncommon operating system, all users will require retraining for NeXTSTEP and all applications. Unless there is a long term commitment to NeXTSTEP, this cost will far outweigh any productivity benefits from improved ease of use.

3) Ease of networking

Interoperability
NeXTSTEP supports, to varying degrees, most standard networking protocols, and it is very easy to configure NeXTSTEP systems to operate on a network.

NeXTSTEP systems interoperate well with other NeXTSTEP systems because of the netinfo database used for shared administrative data. This can be administered from a central location, and common defaults easily set. This is a better system than the NIS+ used by Sun, because it is implemented for more functions in the operating system and is always used by the system, rather than being a configurable option; and is better than the Windows registry system used in NT and Windows 95, as more data is shared, and user and application specific data is not held in the database unless it is important to do so. However, netinfo is limited in the size of networks that it can practically support, up to about 10,000 hosts.

Attaching a new NeXTSTEP machine to a NeXT network is (or can be) an automatic process. Any user can use the system within seconds of connecting it to the network; this is not an option with Windows or Macintosh networks.

NeXTSTEP supports TCP/IP and NFS natively; all NeXTSTEP machines can act as clients and servers for file sharing. IPX and AppleTalk have varying degrees of support from NeXT: AppleTalk was included then passed out to a third party (IPT), and IPX support has not been carried across to the latest versions of Netware or NeXTSTEP 4.x releases.

Interoperation with Windows networks is provided by NeXT including a copy of samba, a public domain utility, with current released of NeXTSTEP. This acts as a server, not a client, unlike for their IPX support, so interoperation is not ideal.

Some protocols are used on Windows networks that are not supported by NeXTSTEP, such as DHCP for propagation of IP addresses, etc. Again, this support should be included for full interoperability.

NeXTSTEP supports SMTP email with MIME, so interoperability is very good within the limitations of the MIME format. POP mail can be supported by the addition of some public domain tools. The one problem is that the version of sendmail supplied is both old, and hard to configure. Configuration should only be required for mail servers, however, and this is necessarily a skilled task.

Finally, better configuration tools should be made available. NeXTSTEP front ends should be available to configure PPP, DNS and sendmail.

4) Cost of administration

Cost of Support
Practical investigation has shown that moderately large NeXTSTEP networks require less administration and support than Windows, Macintosh or Sun networks. However, the administrators required are relatively highly skilled, and are likely to be expensive.

The reason for the reduced cost is manifold:

A NeXTSTEP network is likely to need two people for administration and help desk duties per 100 machines. Comparable figures for Windows networks are one person per 10 to 20 machines.

Summary

Typical deployments, for all of the above reasons, are departmental rather than individual or global. They require a specific application that will be developed under NeXTSTEP, in a department that is relatively independent of the rest of the organisation. Hence the popularity of NeXTSTEP in profit centres of financial organisations, where increasing profitability can be balanced directly against the cost of deployment.

Industry standardisation on Microsoft Office, where users now expect to exchange data using Office file formats, has greatly increased in recent years, and has stifled the growth of NeXTSTEP. This is largely due to the use of compound documents within Microsoft Office; this format is not documented and is very hard for a developer to use unless they are running on a Microsoft operating system. The motivation for Microsoft to develop this format, ironically, was the poor interoperability of Windows applications.

NeXTSTEP ISVs

All of the points discussed for NeXTSTEP users also apply to NeXTSTEP ISVs, or development houses. However, the existence of these companies is essential to the viability of the NeXTSTEP market. Without an alternative source for products and services, prices will be too high to allow easy growth. These functions inherently cannot be provided by the operating system vendor.

Because of the ease of development for NeXTSTEP, many developers flocked to the operating system in the early days when a large market was expected. These included single person development shops as well as large application developers who were attracted by the prototyping prospects of the market.

The large developers (Adobe, Lotus, Informix, etc) found quite soon that the dynamics of a small market with rapid development timescale, and their own internally imposed requirements to maintain compatibility with product lines running on other operating systems, meant that they couldn't compete with one-man developers, or keep up adequate profit levels.

Product developers found that the market didn't grow as rapidly as they had hoped. Unless the developer was very much in touch with the financial picture, and as talented at selling as they were at developing, then they had to quit the NeXTSTEP business. Survivors were very talented at business management.

NeXTSTEP applications are small, and quick to develop. The larger commercial applications are around 100,000 lines of code, although some are less than 20,000 lines. Development investment to the initial release was usually less than one man year. This is partly because an application can be "complete", and fully functional for NeXTSTEP while excluding some functions that are considered to be essential on other OSes, due to interoperation between cooperating applications. This means that cost of entry to the market is very low. However, the returns for even such a low investment are unlikely to cover costs unless a large volume buyer for the product has already been identified.

The typical profile of a NeXTSTEP ISV is a company that provides mainly consulting services to users in their immediate geographic area, with one, or a small suite of, high profile NeXTSTEP applications. The core company, excluding consultants, is likely to be no more than five people. Only very rare ISVs have more than ten core employees.

Pages designed by:

Paul Lynch
paul@plsys.co.uk

Last updated April 25, 1997.

[P & L|Paul's Home]