Qu'est-ce que NeXTSTEP et pourquoi les gens l'ont-ils aimé?
Lancé en 1988 par Steve Jobs avec NeXT Computer, le système d'exploitation NeXTSTEP incarnait l'avant-garde de la conception logicielle pour ordinateurs de bureau. Il est devenu le socle technique de macOS, iOS et d'autres systèmes d'Apple. Examinons ce qui rendait NeXTSTEP si exceptionnel.
NeXTSTEP : une conception robuste, flexible et élégante
Dans les années 1990, au milieu d'une forte compétition entre Windows, Mac OS, OS/2 et BeOS, le système d'exploitation NeXTSTEP a su se distinguer. Cette singularité provenait de son approche raffinée en matière d'icônes et de typographie, de son intégration native des fonctions réseau, de son système de fenêtrage orienté objet facile à programmer et de ses fondations solides basées sur UNIX.
Le bureau NeXTSTEP 3.3.
L'ensemble de ces caractéristiques (et bien d'autres) a permis à NeXTSTEP de fidéliser un groupe de fans inconditionnels. Il a également séduit Apple, qui a vu en NeXTSTEP l'avenir de l'entreprise. Aujourd'hui, des centaines de millions d'individus utilisent des dérivés des logiciels NeXT sur Mac, iPhone, iPad et Apple Watches. Mais comment cela s'est-il produit ?
Les origines de NeXTSTEP
Le milieu des années 80 a été une période difficile pour Steve Jobs. Après une lutte de pouvoir chez Apple, il quitte l'entreprise qu'il a cofondée en 1985. La même année, il crée NeXT, Inc., avec plusieurs anciens d'Apple.
L'équipe s'est rapidement attelée à la création d'une toute nouvelle plateforme informatique, avec Avie Tevanian responsable des logiciels, et Rich Page, un vétéran d'Apple, en charge du matériel. Afin d'éviter des problèmes de concurrence avec Apple, NeXT a choisi de cibler le marché des stations de travail haut de gamme pour l'enseignement.
L'ordinateur NeXT avec un écran mégapixel.
Après plusieurs années de développement, l'entreprise a lancé l'ordinateur NeXT en octobre 1988. Il a impressionné la presse en surpassant les ordinateurs de bureau de l'époque en termes de capacité.
Ses caractéristiques comprenaient:
- Un processeur Motorola 68030 cadencé à 25 MHz
- 8 Mo de RAM
- Une puce Motorola DSP dédiée à l'audio numérique
- Ethernet intégré
- Un lecteur magnéto-optique capable de lire et d'écrire des disques de 250 Mo
- Prise en charge d'un écran haute résolution de 1120 x 832 avec une profondeur de couleur de 2 bits (4 nuances de gris)
Le tout était intégré dans un cube en magnésium de 12 pouces. Ce type de technologie avait un coût élevé : un modèle de base était vendu 6 500 $ (environ 14 000 $ actuels), dépassant largement l'objectif initial de 3 000 $ fixé par Jobs.
Cependant, le matériel ne représente que la moitié de l'histoire. NeXT a donné vie à sa nouvelle machine grâce à un système d'exploitation de pointe baptisé NeXTSTEP. Il associait un noyau UNIX/BSD (Mach de Tevanian) à un environnement de bureau sophistiqué et orienté objet. Il utilisait la technologie Display PostScript d'Adobe pour un rendu fluide des graphiques et des polices haute résolution.
NeXTSTEP fonctionnait de manière exceptionnelle en tant que système d'exploitation graphique basé sur la souris, avec une interface de style 3D et de grandes icônes détaillées. Cependant, sous cette élégance extérieure se cachait le cœur d'un système UNIX pleinement fonctionnel. Une invite de commande UNIX, conviviale pour les utilisateurs avancés, était également accessible à tout moment via une application Terminal intégrée.
Plusieurs icônes d'application OPENSTEP 4.2 dans le Dock.
L'équipe de Jobs a également conçu NeXTSTEP comme un système d'exploitation réseau dès le départ. La version 0.8 de lancement intégrait un réseau TCP/IP et un client de messagerie avancé capable d'envoyer des courriels avec des pièces jointes audio et d'images numériques. Ces bases conviviales pour le réseau, combinées à un port Ethernet intégré et à d'excellents outils de création d'applications, ont facilité le travail de Tim Berners-Lee lors du développement du premier navigateur web sur la plateforme NeXT en 1990.
En réalité, certains pourraient affirmer que la véritable vedette de NeXTSTEP était son environnement de développement orienté objet. Il permettait aux développeurs de créer rapidement des applications graphiques sophistiquées en Objective-C, basées sur un code modulaire. Cette facilité de développement a attiré de nombreux clients vers NeXTSTEP au début et au milieu des années 90.
Certains développeurs ont utilisé NeXTSTEP comme plateforme avancée pour développer des programmes destinés à d'autres ordinateurs. Un exemple notable est Doom, le jeu de tir à la première personne qui a rencontré un grand succès lors de son lancement initial sur PC MS-DOS.
Au cours du développement, John Carmack et John Romero d'id Software ont réalisé que l'environnement NeXT leur offrait un avantage considérable en matière de développement. C'était particulièrement vrai pour l'éditeur de niveau DoomEd qu'ils avaient créé pour construire les cartes du jeu.
L'éditeur de niveau DoomEd d'id Software pour Doom fonctionnant sur NeXTSTEP.
« L'interface utilisateur et la facilité de développement d'applications graphiques étaient uniques à NeXT à l'époque », a déclaré Carmack. « Nous avions développé nos propres éditeurs sous DOS pour les jeux précédents, mais DoomEd était beaucoup plus complexe et devait évoluer de manière flexible au cours du processus de développement. NeXT était parfait pour cela. »
Romero a ajouté que l'environnement NeXT avait 15 ans d'avance sur tout le reste à l'époque. Il appréciait la haute résolution du système, qui leur permettait de déboguer le jeu tout en l'exécutant simultanément dans une fenêtre, une chose impossible sous DOS.
« Nous aurions créé Doom sans NeXTSTEP », a déclaré Romero. « Mais je ne sais pas à quoi cela aurait ressemblé ni combien de temps cela aurait pris. »
Comparé aux machines mono-utilisateur Mac et DOS, souvent instables, et aux stations de travail UNIX puissantes mais volumineuses et peu conviviales, NeXTSTEP offrait un aperçu de l'avenir.
Un parcours commercial semé d'embûches
Malgré la livraison de matériel et de logiciels de pointe, NeXT a eu du mal à générer un flux de revenus stable tout au long de son existence. Le marché des stations de travail pour le milieu universitaire, que NeXT avait initialement ciblé, s'est révélé trop restreint et sous-financé pour soutenir les marges nécessaires à la vente d'un matériel aussi avancé.
Par conséquent, NeXT a essayé à plusieurs reprises de modifier son plan d'affaires.
Le courriel de Steve Jobs livré avec NeXTSTEP 2.0.
Une machine moins onéreuse, la NeXTstation, a été lancée en 1990, suivie de plusieurs stations de travail plus rapides dotées de capacités couleur avancées. Les chiffres de ventes précis sont difficiles à obtenir, mais il semblerait que NeXT n'ait vendu qu'environ 50 000 ordinateurs avant de cesser la vente de matériel en 1993.
Par la suite, NeXT a décidé de se concentrer sur les logiciels, en portant NeXTSTEP sur d'autres architectures, notamment les processeurs x86 d'Intel, PA-RISC et les machines SPARC de Sun. Pendant un certain temps, il était possible d'acheter une version boîte de NeXT et de l'exécuter sur un PC 486 (à condition qu'il réponde aux exigences du système).
Dans son dernier grand changement de cap en tant qu'entreprise indépendante, NeXT a choisi de mettre l'accent sur son atout secret : une API de développement orientée objet de premier ordre, codéveloppée avec Sun, appelée OpenStep.
En 1996, NeXTSTEP est devenu OPENSTEP pour Mach (de manière déroutante, l'utilisation de majuscules était une tentative de différencier le produit OPENSTEP OS du produit API OpenStep). NeXT a également publié l'API OpenStep pour d'autres plateformes, comme Windows.
Versions notables de NeXTSTEP
NeXT a commercialisé au moins une douzaine de versions majeures de NeXTSTEP et OPENSTEP pour diverses plateformes entre 1988 et 1997. Voici quelques-unes des plus notables :
- NeXTSTEP 0.8 (1988) : La première version livrée avec le matériel NeXT, incluse avec l'ordinateur NeXT.
- NeXTSTEP 2.0 (1990) : Cette version a introduit la prise en charge des graphiques couleur, des disquettes, des CD-ROM, la première apparition de Terminal.app, etc.
- NeXTSTEP 3.1 (1993) : La première version à prendre en charge les processeurs x86, permettant l'installation de NeXTSTEP sur du matériel générique compatible IBM PC.
- NeXTSTEP 3.3 (1995) : La dernière version avant le changement de nom en OPENSTEP. Elle prend en charge les plateformes Motorola 68K, Intel i386, PA-RISC et SPARC.
- OPENSTEP 4.2 (1996) : La version finale en développement avant le rachat de NeXT par Apple.
L'héritage de NeXTSTEP
En 1995, Apple a commencé à intensifier ses efforts pour acquérir la technologie d'une entreprise extérieure afin de l'utiliser comme base d'un système d'exploitation Macintosh de nouvelle génération. Les dirigeants de l'entreprise ont tenté d'acquérir le développeur de BeOS, mais Steve Jobs a eu vent de ce projet et a proposé la candidature de NeXT.
Apple a fait l'acquisition de NeXT (incluant NeXTSTEP, OpenStep et WebObjects) pour 400 millions de dollars en 1996. Avec cela, un nouveau chapitre de l'histoire d'Apple s'est ouvert.
Le prototype Rhapsody d'Apple en 1997 illustre la transition entre OPENSTEP et Mac OS.
Suite à cette acquisition, Apple a bénéficié d'un renfort de compétences au sein de sa direction. Jobs et plusieurs anciens de NeXT, dont Tevanian et John Rubinstein, ont été nommés dirigeants d'Apple. Certains plaisantent en affirmant que c'est plutôt NeXT qui a acquis Apple, et non l'inverse.
Le travail a rapidement commencé pour transformer NeXTSTEP en la prochaine version majeure de Mac OS. Après plusieurs prototypes appelés Rhapsody (et un produit basé sur Rhapsody appelé Mac OS X Server 1.0), Apple a lancé Mac OS X en 2000. Il est devenu la direction principale des futurs produits logiciels de l'entreprise. Aujourd'hui, Mac OS X est connu sous le nom de macOS.
Le macOS actuel est un descendant direct de NeXTSTEP.
Depuis lors, les descendants des technologies fondamentales développées pour NeXTSTEP dans les années 80 perdurent dans macOS, iOS, iPadOS, watchOS et tvOS. Au fil du temps, OpenStep a évolué pour devenir l'API Cocoa, qui est au cœur des applications Mac OS X.
Plusieurs applications toujours incluses dans macOS (notamment Dictionary, Chess, TextEdit et Mail.app) sont toutes des descendantes directes des versions précédentes de NeXTSTEP. Le moulin à vent de la mort de macOS a également vu le jour sur NeXTSTEP, et le Dock de NeXTSTEP était l'ancêtre de celui de macOS.
Fondamentalement, macOS est toujours basé sur NeXTSTEP, bien qu'avec de nombreux changements majeurs.
Anecdotes sur NeXTSTEP
Si vous avez apprécié ce voyage dans le passé, nous allons terminer par ces quelques anecdotes intéressantes sur NeXTSTEP :
- Jusqu'à NeXTSTEP 2.0 en 1990, un « trou noir » était l'équivalent de la corbeille sur Mac ou de la poubelle sous Windows. En 2.0, il a été remplacé par le « recycleur ».
- NeXTSTEP 2.0 incluait un e-mail de Steve Jobs préinstallé. Il s'agissait du premier message à apparaître dans le logiciel de messagerie NeXT Mail.
- NeXTSTEP était livré avec des icônes et des applications monochromes. Le système d'exploitation n'a pris en charge la couleur qu'en 1992 avec NeXTSTEP 3.0.
- L'une des premières tentatives de création d'un « App Store » numérique pour les applications informatiques a vu le jour sur NeXTSTEP en 1991. Electronic AppWrapper vendait des packs commerciaux sous forme de téléchargements de réseaux numériques gérés par cryptage et gestion des droits numériques.