Partagez

L'iPhone a 10 ans : l'histoire d'une révolution

Comme souvent, le joyau d'Apple est né d'un des plus grands échecs de l'histoire de l'informatique : Ensuite, l'entreprise lancée par Steve Jobs qui construisait des stations de travail basées sur des logiciels trop futuristes pour l'époque - Voici comment ça s'est passé

L'iPhone a 10 ans : l'histoire d'une révolution

À propos des faillites

Tout comme ce n'était pas un coup de dés qui a causé la naissance de la Renaissance en Italie et non en Finlande, ce n'est pas un coup de dé qui a fait naître l'iPhone chez Apple. De même qu'il suffisait aux humanistes italiens de regarder l'environnement, empreint de classicisme, qui les entourait d'un regard nouveau, il suffisait aux gens d'Apple de prendre ce qu'ils avaient élaboré et de le couler dans un nouveau moule. Nokia n'aurait pas pu créer l'appareil des appareils, qui était à l'origine une entreprise qui fabriquait des bottes en plastique. Ce ne pouvait pas non plus être Samsung qui s'était spécialisé dans la production de spaghettis puis dans le raffinage du sucre.

Près d'un demi-siècle d'obsession d'Apple pour les interfaces utilisateur, la facilité d'utilisation, l'intégration indissoluble entre matériel et logiciel, portée par la vision holistique de son patron, ne pouvait que mener à quelque chose d'aussi révolutionnaire que l'iPhone. De même, l'héritage classique omniprésent du paysage et de la mentalité italiens a abouti à l'humanisme et à la Renaissance.

C'est l'un des nombreux paradoxes qui rythment la marche de la technologie qu'iOS, le logiciel qui équipe l'iPhone, soit né de l'héritage de l'un des cinq plus gros échecs de l'histoire de l'ordinateur : NeXT. NeXT était la société lancée par Steve Jobs après sa sortie d'Apple en 1985. Elle a construit des stations de travail futuristes alimentées par un logiciel tout aussi futuriste, NeXTstep. Appelé par Steve Jobs « le véritable joyau » de l'innovation NeXT, NeXTstep était trop en avance sur son temps. Ce fut l'un des plus grands échecs, bien sûr, mais aussi l'une des expériences les plus marquantes de l'histoire de l'ordinateur juste derrière celle du Parc Xerox de Palo Alto. NeXT était aussi le gymnase où Jobs a appris à méditer et à corriger ses erreurs. L'autre grande école de leadership était Pixar où Jobs a beaucoup appris d'Edwin Catmull et de John Lassater.

Apple, un NeXT avec un autre nom

L'histoire du NeXT a été racontée à plusieurs reprises et plus récemment en détail par Walter Isaacson, le biographe de Steve Jobs. Il suffit de savoir qu'en 1996, la technologie de NeXT et tous ses employés ont été absorbés par Apple après le retour de Jobs dans l'entreprise qu'il a cofondée. De là a commencé la longue marche vers l'Apple d'aujourd'hui : 1000 1995 dollars d'investissement en actions Apple en 117 vaudraient XNUMX XNUMX dollars aujourd'hui. Ceux qui sont arrivés avec Jobs de NeXT à Apple avaient parcouru ce chemin long et ardu semblable à celui décrit par Xénophon dans l'Anabase.

Mais ceci est connu. Une chose, cependant, est moins connue. La technologie NeXT et notamment son système d'exploitation, NeXTstep, alimente sans relâche la technologie Apple depuis plus de 20 ans et les hommes et les femmes de NeXT ont été placés aux postes les plus responsables de la société à la pomme. A tel point qu'à un moment donné il n'y avait aucun mystère sur l'existence d'une sorte de "mafia NeXT" ou de "caste NeXT", tant l'influence et la rémunération des personnes issues de cette expérience, les NeXToniens, étaient importantes.

Les NeXToniens

Parmi les NeXToniens qui ont déménagé à Apple dans des rôles de premier plan se trouve Avie Tevanian, le cerveau derrière l'architecture logicielle de NeXT et plus tard de Mac OS X, qui est resté chez Apple jusqu'en 2006 en tant que directeur de la technologie logicielle. Il vient du NeXT Scott Forstall, qui était responsable du développement du logiciel IOS jusqu'en octobre 2010. Craig Federighi, le successeur de Tevanian et maintenant responsable de tout le domaine logiciel chez Apple, est également un NEXTonian. Parmi eux, il y a aussi Budd Tribble, l'un des fondateurs de NeXT, à qui l'on doit la fameuse définition du « champ de distorsion de la réalité » au regard de la vision de Jobs. Budd est revenu chez Apple en 2002 et a occupé jusqu'en 2015 le poste de vice-président de la technologie logicielle.

Récemment, Scott Forstall, au Computer History Museum de Mountain View lors d'une réunion organisée pour célébrer le dixième anniversaire de l'iPhone, a raconté comment l'iPhone est né dans l'esprit de Steve Jobs et comment il a été créé par l'équipe avec laquelle il a lui-même les autres gestionnaires qui avaient été appelés à le diriger. Nous traiterons de ce témoignage dans un autre billet. Parlons maintenant de NeXTstep et de son héritage chez Apple.

De NeXTstep à Mac OS X en passant par iOS

Qu'il existe entre NeXTstep et iOS une relation de filiation directe, médiatisée par Mac Os X, est quelque chose qui va au-delà de tout doute raisonnable. Un grand nombre de classes qui composent l'architecture du système de développement iOS (nommées Cocoa puis Swift) ont le préfixe « NS » qui signifie NextStep. Même avant iOS, NeXTstep était devenu Mac OS X qui en 2001 a été lancé comme système d'exploitation de la nouvelle génération de Mac.

L'outil graphique, qui fait partie de XCode (l'environnement de développement iOS), pour construire l'interface utilisateur des applications pour les appareils iOS et pour combiner les différents éléments qui le composent provient directement de NeXT. Il n'a même pas changé de nom, il s'appelle Interface Builder et produit un fichier.nib (abréviation de NeXT Interface Builder).

Même le "X" inclus dans le nom du nouveau système d'exploitation Mac n'est pas un petit indice : il signifie NeXT ou, peut-être plus probablement, signifie UniX, qui en plus de constituer le cœur de NeXTstep est également le cœur de Mac OS X. On ne connaît pas l'origine de ce "X" de toute façon, mais il y a une relation très étroite entre tout ça.

Que Jobs ait voulu préserver et développer l'héritage de ses 10 années de travail acharné et de travail chez NeXT est incontestable. Au cours de cette expérience, libre de toute contrainte extérieure et avec le capital apporté par Ross Perot et Canon, il avait concrétisé sa vision de faire de l'ordinateur le plus intelligent des appareils électroménagers.

Unix et le micronoyau de Mach

Comme NeXTstep, Mac OS X et iOS sont basés sur Unix, le système d'exploitation portable développé dans les Bell Labs et sorti en 1969. La principale caractéristique d'Unix est sa capacité à exécuter des applications en temps partagé. Le temps partagé permet à la mémoire principale (CPU) de l'ordinateur de répartir son temps entre plusieurs tâches et plusieurs utilisateurs. Cela signifie que si une application se bloque de manière inattendue pour une raison quelconque, cet événement ne provoque pas le blocage de tout le système et, par conséquent, d'autres applications en temps partagé.

Unix permet facilement le multitâche, la protection de la mémoire et l'exécution de programmes et de services en arrière-plan, c'est-à-dire sans contrôle direct de l'utilisateur. Toutes les propriétés que les systèmes d'exploitation des premiers ordinateurs personnels n'avaient pas. Par exemple, un système sous Unix peut lire un morceau de musique pendant l'impression, l'utilisateur traite une formule dans une feuille de calcul et un deuxième utilisateur distant télécharge un fichier sur le réseau à partir des ressources de cet ordinateur.

Pour développer l'architecture du système NeXTstep, Jobs a fait appel à Avie Tevanian qui avait travaillé sur le projet Mach à l'Université Carnegie-Mellon. Mach, qui deviendra le noyau NeXT, a été construit sur une approche radicale connue sous le nom d'"architecture micro-core" selon laquelle le système d'exploitation devait externaliser autant de fonctions que possible afin d'améliorer sa stabilité. Un principe contraire à celui en vogue à l'époque.

Objective-C

Comme NeXTstep, Mac OS X et iOS ont été développés en Objective-C, un langage de programmation orienté objet dérivé du langage C. Objective-C permet aux développeurs d'applications d'utiliser des blocs de code prédéfinis (objets) pour développer certaines fonctions de routine, sans avoir besoin de les programmer à partir de zéro. Les objets sont une sorte d'éléments préfabriqués qui peuvent être assemblés pour obtenir un bâtiment spécifique, comme on le fait avec les lego.

Dans une interview de 1995, Jobs a déclaré que la programmation orientée objet révolutionnerait la façon dont nous créons des logiciels au cours des 20 à 30 prochaines années. Et c'était ainsi.

Certaines applications encore utilisées aujourd'hui sur Mac ou iPhone sont l'évolution des logiciels initialement développés pour la plateforme NeXT. Parmi ces Numbers (initialement Parasheet), Keynote (initialement Concurrence), Pages, OmniGraffle (initialement Diagram !).

Objective-C avait été créé par Brad Cox, un brillant développeur du Palo Alto Research Center de Xerox, comme une évolution de SmallTalk dont Jobs avait immédiatement pressenti le grand potentiel lors de sa visite légendaire au centre en 1977. Jobs obtint de Cox la licence pour le utilisation d'Objective-C dans le NeXT et en 1995 Apple a acquis Stepstone, la société fondée par Cox, propriétaire du langage.

Cadre AppKit

Parallèlement au langage Objective C, NeXT a également développé un ensemble d'objets prêts à l'emploi à utiliser pour développer des logiciels. Ces objets ont été collectés dans un framework appelé AppKit qui est devenu chez Apple Cocoa pour OS X et en 2008 Cocoa Touch pour iOS. En plus de soulager les développeurs de la lourde tâche de développer des parties routinières du logiciel, AppKit permet aux applications les plus disparates de mettre l'utilisateur en position d'utiliser les mêmes méthodes d'utilisation de certaines fonctions, soulageant l'utilisateur de tout problème d'apprentissage.

Interface Builder

Interface Builder est un outil graphique qui permet aux développeurs de créer une interface utilisateur en glissant-déposant les éléments (boutons, zones de texte, menus contextuels, fenêtres, etc.) d'une palette qui composent une interface graphique. En plus de présenter un aspect graphique défini, ces éléments intègrent toutes les fonctions nécessaires. La palette peut être étendue avec de nouveaux objets qui, une fois construits, peuvent y être glissés et à partir de ce moment rendus disponibles comme les objets natifs. Les légendes des objets s'auto-localisent en fonction de la langue sélectionnée dans le logiciel système.

Interface Builder a été construit par le développeur français Jean-Marie Hullot que Steve Jobs a appelé pour travailler sur NeXT en 1985 après avoir vu une démo qui l'a convaincu qu'il avait

a mis la main sur une « killer app ». Interface Builder n'était pas intégré à NeXTstep, mais proposé en tant qu'application autonome avec le Sofware Development Kit. Apple a ensuite intégré Interface Builder à Mac OS X et iOS. Avec Interface Builder, sur un ordinateur NeXT, Tim Berners Lee, du Cern à Genève, a développé le premier prototype de WordWideWeb.

Afficher PostScript

Alors que tous les systèmes d'exploitation des années XNUMX utilisaient des graphiques raster (c'est-à-dire construits avec des grilles de pixels) pour afficher du texte et des icônes sur des écrans d'ordinateur, NeXT utilisait des graphiques vectoriels (c'est-à-dire des points, des lignes, des courbes et des polygones) pour afficher des icônes, du texte et des illustrations. La qualité d'une image vectorielle est largement supérieure à celle d'une image bitmap ou raster car elle est capable de tirer parti de la résolution maximale de l'appareil sur lequel elle est visualisée. Alors que dans les graphiques raster, c'est la résolution de l'image qui détermine sa qualité d'affichage.

La technologie utilisée par NeXT, pour obtenir des graphiques vectoriels sur vidéo, a été fournie par Adobe (la maison des logiciels Photoshop, Illustrator et Acrobat) via un outil appelé Display Postscript. Les ingénieurs de NeXT ont complètement réécrit le moteur d'outils Adobe pour l'adapter au système d'exploitation orienté objet.

Mac OS X et iOS utilisent désormais un outil différent, appelé Quartz, pour afficher des graphiques à l'écran qui, cependant, utilise le même concept de graphiques vectoriels. Quartz produit des images vectorielles de type Postscript en utilisant le modèle de rendu PDF. L'abandon de Postscript est essentiellement dû aux coûts découlant de l'acquisition de licences d'utilisation auprès d'Adobe.

Les forfaits

OS X et iOS utilisent tous deux un mode de gestion des applications dérivé de NeXTstep. Ce sont des bundles, c'est-à-dire un répertoire qui permet de regrouper le code source exécutable et toutes les ressources, y compris les plug-ins, nécessaires au fonctionnement d'une application. Tous ces fichiers résident dans ce package sans être compilés dans l'exécutable comme c'est le cas avec Windows. Le système d'exploitation, à un niveau bas, voit le bundle comme un ensemble de fichiers et l'utilisateur comme une simple icône. C'est une solution qui simplifie grandement le fonctionnement grâce à la structure hiérarchique simple des répertoires.

Le gestionnaire de fichiers

Le Finder est le gestionnaire de fichiers d'Apple qui s'occupe de naviguer à travers les disques, les dossiers et les fichiers. Avec Mac OS X, le Finder a été entièrement repensé sur le modèle du gestionnaire de fichiers NeXTstep qui, dans son essence, est similaire à celui de Windows. En plus de la simple liste de fichiers ou d'icônes associées d'un répertoire, typique des origines Mac OS, Mac OS X introduit également une vue hiérarchique similaire à celle de NeXTstep. Cette structure se développe en fenêtres contiguës montrant le contenu du répertoire ou de la ressource sélectionnée de manière à avoir visualisé le chemin complet de la ressource au sein du système de fichiers.

Il existe de nombreux autres aspects que Mac OS X et iOS ont tirés de NeXTstep et de son expérience, véritablement l'une des expériences les plus marquantes et les plus instructives de l'histoire de la technologie.

Et puis, triple hourra pour les échecs !

Passez en revue