The NeXT Chapter
All of Steve Jobs' operational responsibilities at Apple were "taken away" on May 31, 1985. Around this time, Jobs had come up with an idea for a startup for which he pulled in five other Apple employees. The idea was to create the perfect research computer for universities, colleges, and research labs. Jobs had earlier met up with Nobel laureate biochemist Paul Berg, whose reaction to Jobs' idea of using a computer for various simulations was apparently positive. Although Apple was interested in investing in Jobs' startup, they were outraged, and actually sued Jobs later in 1985 when they learnt about the five Apple employees joining him. Apple dropped the suit early next year after some mutual agreements. The startup was NeXT Computer, Inc.
NeXT's beginnings were promising. Jobs put in $7 million of his own money. A number of larger investments would be made in NeXT, such as $20 million from Ross Perot, and $100 million from Canon a few years later. NeXT strived to create a computer that would be perfect in form and function. The motherboard had a clever, visually appealing design. The magnesium case of the cube was painted black with a matte finish. The monitor stand required a great deal of engineering as well. An onboard digital signal processing chip allowed the cube to play stereo quality music. These machines were manufactured in NeXT's own state-of-the-art factory.
NEXTSTEP and OPENSTEP
Jobs unveiled the NeXT cube on October 12, 1988, at the Davies Symphony Hall in San Francisco. The operating system was called NEXTSTEP, and used a port of CMU Mach 2.0 (with a 4.3BSD environment) as its kernel. Its window server was based on Display Postscript, a marriage of page-description language and window system technologies (Sun Microsystems had announced NeWS, their own Display Postscript Window System, earlier in 1986).
The Mach port used in NEXTSTEP also included NeXT specific features, as well as features from later versions of CMU Mach.
NEXTSTEP used Objective-C as its native programming language, and included Interface Builder, a tool for designing application user interfaces graphically. A number of "software kits" (collections of reusable classes, or object templates) were provided to aid in application development, such as: Application Kit, Music Kit, and Sound Kit.
Objective-C is an object-oriented, compiled programming language invented by Brad Cox and Tom Love in the early 1980's. It is an object-oriented superset of C, with dynamic binding and a messaging syntax inspired by Smalltalk. It is meant to be a simpler language than C++, and does not have many features of C++, such as multiple inheritance and operator overloading.
Cox and Love founded StepStone Corporation, from which NeXT licensed the language and created their own compiler. In 1995, NeXT acquired all rights to StepStone's Objective-C related intellectual property.
Apple's Objective-C compiler used in Mac OS X is a modified version of the GNU compiler.
At the time of the cube's announcement, NEXTSTEP was at version 0.8, and it would be another year before a 1.0 mature release would be made.
NEXTSTEP 2.0 was released exactly a year after 1.0, with improvements such as support for CD-ROM's, color monitors, NFS, on-the-fly spell checking, dynamically loadable device drivers, and so on.
In the fall of 1990, the first web browser (offering WYSIWYG browsing and authoring) was created at CERN by Tim Berners-Lee on a NeXT computer. Tim's collaborator, Robert Cailliau, later went on to say that "... Tim's prototype implementation on NEXTSTEP is made in the space of a few months, thanks to the qualities of the NEXTSTEP software development system ..."
In the 1992 NeXTWORLD Expo, NEXTSTEP 486, a $995 version for the x86 was announced.
The last version of NEXTSTEP, 3.3, would be released in February, 1995, by which time NEXTSTEP had very powerful application development facilities, thanks to tools like Project Builder, Interface Builder, and others. There was an extensive collection of libraries, such as for user interfaces, databases, distributed objects, multimedia, networking, etc. It also had an object-oriented tool kit (Driver Kit) for writing device drivers. NEXTSTEP ran on the 68k, x86, PA-RISC, and SPARC platforms, and you could create a single version of your application containing binaries for each supported architecture. Such multiple architecture binaries are known as "fat" binaries.
Despite the virtues of NEXTSTEP and the elegance of its hardware, NeXT had proven to be economically unviable over the years. NeXT announced in early 1993 that it was getting out of the hardware business, and would continue development of NEXTSTEP for x86.
NeXT partnered with Sun Microsystems to jointly release specifications for OpenStep, an open platform comprised of several API's and frameworks that anybody could use to create their own implementation of an object-oriented operating system, running on any underlying core operating system. The OpenStep API was implemented on SunOS, HP-UX, and Windows NT. NeXT's own implementation, essentially an OpenStep compliant version of NEXTSTEP, was released as OPENSTEP 4.0 in July, 1996, with 4.1 and 4.2 to follow shortly afterwards.
The OpenStep API and the OPENSTEP operating system did not seem to turn things around for NeXT, even though they caused some excitement in the business, enterprise, and government markets. NeXT started to focus more on their WebObjects product, a multi-platform environment for rapidly building and deploying web based applications.
As described earlier, NeXT was purchased by Apple in early 1997. Mac OS X would be based on NeXT's technology, while WebObjects would keep up with advancements in its domain (such as its support for Web Services and Enterprise Java). Apple's web sites, for example its online store and the .Mac offering, are built using WebObjects.