QUICK FACTS
Created Jan 0001
Status Verified Sarcastic
Type Existential Dread
next step, object-oriented, multitasking, operating system, mach kernel, unix, next, steve jobs, workstation

NeXTSTEP

“For other uses, see Next...”

Contents
  • 1. Overview
  • 2. Etymology
  • 3. Cultural Impact
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# NeXTSTEP

For other uses, see [Next Step](/Next_Step_(disambiguation)).

**NeXTSTEP** is a discontinued [object-oriented](/Object-oriented_programming), [multitasking](/Computer_multitasking) [operating system](/Operating_system) based on the [Mach kernel](/Mach_kernel) and the [UNIX](/UNIX)-derived [BSD](/BSD). It was developed by [NeXT](/NeXT), founded by [Steve Jobs](/Steve_Jobs), in the late 1980s and early 1990s and was initially used for its range of proprietary [workstation](/Workstation) computers such as the [NeXT Computer](/NeXT_Computer). It was later ported to several other [computer architectures](/Computer_architecture).

Although relatively unsuccessful at the time, it attracted interest from computer scientists and researchers. It hosted the original development of the Electronic AppWrapper, the first commercial electronic software distribution catalog to collectively manage encryption and provide digital rights for [application software](/Application_software) and [digital media](/Digital_media), a forerunner of the modern "[app store](/App_store)" concept. It is the platform on which [Tim Berners-Lee](/Tim_Berners-Lee) created the first [web browser](/Web_browser), and on which [id Software](/Id_Software) developed the video games [Doom](/Doom_(1993_video_game)) and [Quake](/Quake_(video_game)).

In 1996, [Apple Computer](/Apple_Computer) acquired NeXT. Apple needed a successor to the [classic Mac OS](/Classic_Mac_OS), and merged NeXTSTEP and [OpenStep](/OpenStep) with the Macintosh user environment to create Mac OS X (later renamed [macOS](/MacOS)). All of Apple's subsequent platforms since [iPhone OS 1](/IPhone_OS_1) were then based on macOS.

## Overview

NeXTSTEP (also stylized as NeXTstep, NeXTStep, and NEXTSTEP) is a combination of several parts:

- A [Unix](/Unix) operating system based on the [Mach kernel](/Mach_kernel), plus [BSD](/Berkeley_Software_Distribution)
- [Display PostScript](/Display_PostScript) and a proprietary windowing engine
- The [Objective-C](/Objective-C) language and runtime
- An [object-oriented](/Object-oriented_programming) (OO) application layer, including several "kits"
- Development tools for the OO layers.

NeXTSTEP is a preeminent implementation of the last three items. The toolkits are the canonical development system for all of the software on the system.

It introduced the idea of the [Dock](/Dock_(macOS)) (carried through [OpenStep](/OpenStep) and into [macOS](/MacOS)) and the [Shelf](/Shelf_(computing)). NeXTSTEP originated or innovated a large number of other [GUI](/GUI) concepts which became common in other operating systems: 3D chiseled widgets, large full-color [icons](/Icon_(computing)), system-wide drag and drop of a wide range of objects beyond file icons, system-wide piped [services](/Services_menu), real-time scrolling and window dragging, properties dialog boxes called "inspectors", and window modification notices (such as the saved status of a file). The system is among the first general-purpose user interfaces to handle publishing color standards, transparency, sophisticated sound and music processing (through a [Motorola 56000](/Motorola_56000) [DSP](/Digital_signal_processor)), advanced [graphics primitives](/Graphics_primitives), internationalization, and modern [typography](/Typography), in a consistent manner across all applications.

Additional kits were added to the product line. These include Portable Distributed Objects (PDO), which allow easy [remote invocation](/Remote_invocation), and [Enterprise Objects Framework](/Enterprise_Objects_Framework), an [object-relational](/Object-relational) [database](/Database) system. The kits made the system particularly interesting to custom application programmers, and NeXTSTEP had a long history in the financial programming domain.

## History

NeXTSTEP was built upon Mach and BSD, initially [4.3BSD-Tahoe](/4.3BSD-Tahoe). A preview release of NeXTSTEP (version 0.8) was shown with the launch of the [NeXT Computer](/NeXT_Computer) on October 12, 1988. The first full release, NeXTSTEP 1.0, shipped on September 18, 1989. It was updated to [4.3BSD-Reno](/4.3BSD-Reno) in NeXTSTEP 3.0. The last version, 3.3, was released in early 1995, for the [Motorola](/Motorola) [68000 family](/68000_family) based NeXT computers, [Intel](/Intel) [x86](/X86), [Sun](/Sun_Microsystems) [SPARC](/SPARC), and [HP PA-RISC](/HP_PA-RISC)-based systems.

NeXT separated the underlying operating system from the application frameworks, producing [OpenStep](/OpenStep). OpenStep and its applications can run on multiple underlying operating systems, including OPENSTEP, [Windows NT](/Windows_NT), and [Solaris](/Solaris_(operating_system)). In 1997, it was updated to [4.4BSD](/4.4BSD) while assimilated into Apple's development of [Rhapsody](/Rhapsody_(operating_system)) for x86 and PowerPC. NeXTSTEP's direct descendant is Apple's [macOS](/MacOS), which then yielded [iPhone OS 1](/IPhone_OS_1), [iOS](/IOS), [iPadOS](/IPadOS), [watchOS](/WatchOS), and [tvOS](/TvOS).

## Legacy

The first [web browser](/Web_browser), [WorldWideWeb](/WorldWideWeb), and the first [app store] were all invented on the NeXTSTEP platform.

> 1990 CERN: A Joint proposal for a hypertext system is presented to the management. Mike Sendall buys a NeXT cube for evaluation, and gives it to [Tim Berners-Lee](/Tim_Berners-Lee). 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. This prototype offers WYSIWYG browsing/authoring! Current Web browsers used in "surfing the Internet" are mere passive windows, depriving the user of the possibility to contribute. During some sessions in the CERN cafeteria, Tim and I try to find a catching name for the system. I was determined that the name should not yet again be taken from Greek mythology. Tim proposes "World-Wide Web". I like this very much, except that it is difficult to pronounce in French...
>
> — [Robert Cailliau](/Robert_Cailliau), 2 November 1995

Some features and [keyboard shortcuts](/Keyboard_shortcut) now common to web browsers originated in NeXTSTEP conventions. The basic layout options of [HTML](/HTML) 1.0 and 2.0 are attributable to those features of NeXT's Text class.

[Lighthouse Design Ltd](/Lighthouse_Design) developed Diagram!, a drawing tool, originally called BLT (for Box-and-Line Tool) in which objects (boxes) are connected together using "smart links" (lines) to construct diagrams such as [flow charts](/Flow_chart). This basic design can be enhanced by the simple addition of new links and new documents, located anywhere in the local area network, that foreshadowed Tim Berners-Lee's initial prototype that was written on NeXTSTEP in October–December 1990.

In the 1990s, the pioneering PC games [Doom](/Doom_(1993_video_game)), [Doom II](/Doom_II), [Quake](/Quake_(video_game)), and their respective level editors were [developed](/Development_of_Doom) by [id Software](/Id_Software) on NeXT machines. Other games based on the Doom engine such as [Heretic](/Heretic_(video_game)) and its sequel [Hexen](/Hexen:_Beyond_Heretic) by [Raven Software](/Raven_Software), and [Strife](/Strife_(1996_video_game)) by [Rogue Entertainment](/Rogue_Entertainment) were developed on NeXT hardware using id's tools.

[Altsys](/Altsys) made the NeXTSTEP application Virtuoso. Version 2 was later ported to the [classic Mac OS](/Classic_Mac_OS) and Windows, becoming [Macromedia FreeHand](/Macromedia_FreeHand) version 4. The modern "Notebook" interface for [Mathematica](/Mathematica), and the advanced spreadsheet [Lotus Improv](/Lotus_Improv), were developed using NeXTSTEP. The software that controlled [MCI](/MCI_Communications)'s Friends and Family calling plan program was developed using NeXTSTEP.

About the time of the release of NeXTSTEP 3.2, NeXT partnered with [Sun Microsystems](/Sun_Microsystems) to develop [OpenStep](/OpenStep). It is the product of an effort to separate the underlying operating system from the higher-level object libraries to create a cross-platform object-oriented API standard derived from NeXTSTEP. [OpenStep](/OpenStep) was released for Sun's [Solaris](/Oracle_Solaris), [Windows NT](/Windows_NT), and NeXT's [Mach kernel](/Mach_kernel)-based operating system. NeXT's implementation is called "[OPENSTEP for Mach](/OpenStep)" and its first release (4.0) superseded NeXTSTEP 3.3 on NeXT, Sun, and Intel [IA-32](/IA-32) systems.

Following an announcement on December 20, 1996, [Apple Computer](/Apple_Computer) acquired NeXT on February 4, 1997, for $429 million. Based upon the "OPENSTEP for Mach" operating system, and developing the OpenStep API to become [Cocoa](/Cocoa_(API)), Apple created the basis of [Mac OS X](/Mac_OS_X), and eventually of [iOS](/IOS), [iPadOS](/IPadOS), [watchOS](/WatchOS), and [tvOS](/TvOS).

[GNUstep](/GNUstep) is a [free software](/Free_software) implementation of the OpenStep standard.

## Release history

| Version | Date | Distribution medium | Architecture | Basis | Notes |
|---------|------|---------------------|--------------|-------|-------|
| 0.8 | October 12, 1988 | [MO disc](/Magneto-optical_disc) | [m68k](/Motorola_68000_series) | 4.3BSD-Tahoe | NeXTStep [Digital Webster](/Merriam-Webster), [Complete Works](/Shakespeare_bibliography) of William Shakespeare, [netboot](/Netboot), [NFS](/Network_File_System) |
| 0.8a | 1988 | MO disc | m68k | | |
| 0.9 | 1988 | MO disc | m68k | | NeXT 0.9/1.0 Release Description |
| 1.0 | 1989 | MO disc | m68k | | |
| 1.0a | 1989 | MO disc | m68k | | Photo of NeXTSTEP 1.0a MO disc |
| 2.0 | September 18, 1990 | MO disc, CD-ROM | m68k | | Support for the [NeXTstation](/NeXTstation), [NeXTcube](/NeXTcube) ([68040](/Motorola_68040)). Support for [floppy disk](/Floppy_disk), [CD-ROM](/CD-ROM), [Fax modems](/Fax_modem), and [color graphics](/Framebuffer). Workspace Manager now has the Shelf, copies performed in background, black hole is replaced by recycler icon. Terminal.app. Dynamic loading of drivers. |
| 2.1 | March 25, 1991 | MO disc, CD-ROM | m68k | | Support for the [NeXTdimension](/NeXTdimension) board. [TeX](/TeX), internationalization improvements. New machines with 2.1 include [Lotus Improv](/Lotus_Improv). |
| 2.1a | | MO disc, CD-ROM | m68k | | |
| 2.2 | | CD-ROM | m68k | | Support for the [NeXTstation](/NeXTstation) Turbo |
| 3.0 | September 8, 1992 | CD-ROM | m68k | 4.3BSD-Reno | [Project Builder](/Project_Builder), [3D](/3D_computer_graphics) support with [Interactive RenderMan](/RenderMan_(software)), [Pantone colors](/Pantone), [PostScript Level 2](/PostScript), [Object Linking and Embedding](/Object_Linking_and_Embedding), [Distributed Objects](/Distributed_object), [Database](/Database) Kit, [Phone](/Phone) Kit, [Indexing Kit](/Full_text_search), [precompiled headers](/Precompiled_headers), [HFS](/Hierarchical_File_System_(Apple)), [AppleTalk](/AppleTalk), and [Novell NetWare](/Novell_NetWare). |
| 3.1 | May 25, 1993 | CD-ROM | m68k, i386 | | First release for the [i386](/I386) architecture, introducing [fat binaries](/Fat_binary). |
| 3.2 | October 1993 | CD-ROM | m68k, i386 | | Support for Insignia Solutions [SoftPC](/SoftPC) emulation software, allowing users to run - and use data with - legacy [MS-DOS](/MS-DOS) and Windows applications |
| 3.3 | February 1995 | CD-ROM | m68k, i386, SPARC, PA-RISC | | Support for the [PA-RISC](/PA-RISC) and [SPARC](/SPARC) architectures added, introducing Quad-fat Binaries. Last and most popular version released under the name NEXTSTEP. Referred to as NEXTSTEP/m68k, NEXTSTEP/Intel, NEXTSTEP/SPARC. NEXTSTEP/PA-RISC |
| 4.0 beta | 1996 | CD-ROM | m68k, i386, SPARC, PA-RISC | | Very different user interface. Notable as being a precursor of many ideas later introduced in the [macOS Dock](/Dock_(macOS)). |
| 4.0 | July 1996 | CD-ROM | m68k, i386, SPARC | | Support for the [PA-RISC](/PA-RISC) architecture dropped. Support for [m68k](/M68k), [i486](/I486), and [SPARC](/SPARC) architectures. Initial Release of [OpenStep](/OpenStep) for [Windows](/Windows). |
| 4.1 | January 1997 | CD-ROM | m68k, i386, SPARC | | Support for m68k, i486, and SPARC architectures, and OpenStep for Windows, under OPENSTEP Enterprise (NT only). |
| 4.2 Pre-release 2 | September 1997 | CD-ROM | m68k, i386, SPARC | | Pre-release 2 circulated to limited number of developers before [OpenStep](/OpenStep) and Apple acquisition. |
| [Rhapsody](/Rhapsody_(operating_system)) | August 31, 1997 – October 27, 2000 | CD-ROM | i386, PowerPC | 4.4BSD | Released after the [Apple acquisition](/NeXT), these are arguably closer to NeXTSTEP and OPENSTEP than to [Mac OS X](/Mac_OS_X). For example, they can still be used as remote display via NXHost. |

Versions up to 4.1 are general releases. OPENSTEP 4.2 pre-release 2 is a bug-fix release published by Apple and supported for five years after its September 1997 release.

## See also

- [Bundle (macOS)](/Bundle_(macOS)), from NeXTSTEP to macOS
- [Miller columns](/Miller_columns), the method of directory browsing that NeXTSTEP's File Viewer uses
- [NeXT character set](/NeXT_character_set)