Mac OS X : les raisons derrière Snow Leopard

Florian Innocente |
Quelles sont les raisons, les contraintes ou les opportunités qui ont conduit Apple à faire avec son prochain système d'exploitation - Snow Leopard - ce qu'aucun autre éditeur n'avait osé ? À savoir, laisser de côté l'accumulation de nouveaux boutons au profit d'un nettoyage et d'une optimisation des fondations. Une démarche totalement inverse à celle qui prévaut en général. On rappellera les "300 nouveautés" et plus de Leopard !

Sans surprise, Apple s'est excusée de ne pouvoir nous offrir d'explications… Restent les développeurs tiers et des familiers de l'entreprise, mais qui préfèrent s'exprimer de façon anonyme. Si la raison de l'abandon du PowerPC découle d'une certaine logique, celle du choix d'un OS qui privilégie le fond à la forme est sujette à différentes théories. Gageons que chacune a contribué à la définition du futur Mac OS X.

PowerPC : un doublon devenu boulet

Snow Leopard exigera un Mac Intel pour s'installer. Apple ne l'a pas dit officiellement, mais c'est un fait acquis chez ses concepteurs et des indices l'ont plus que confirmé. Une décision qui s'explique aisément pour certains de nos interlocuteurs, des anciens d'Apple, qui en appellent à des raisons autant commerciales que techniques.

Commercialement d'abord, le PowerPC a (bien) vécu. Cette puce a disparu de la gamme depuis déjà un certain temps tandis que les processeurs Intel se multiplient à toute vitesse (Apple écoule presque 2 millions de Mac Intel par trimestre). Des processeurs avec de plus en plus de coeurs en leur sein (8 dans les Mac Pro) et les opportunités que cela ouvre aux développeurs d'applications. Enfin Mac OS X a atteint une véritable maturité depuis Tiger et plus encore Leopard.

Ces deux OS fonctionnent parfaitement sur PowerPC, ainsi qu’iLife ou iWork 08, la Creative Suite 3, le nouvel Office 2008, Final Cut Studio et même le tout prochain XPress 8 qui accepte autant Tiger que les G4. En clair, on peut lâcher le PowerPC sans que ses utilisateurs ne s'estiment trop lésés. Un sondage réalisé il y a peu sur MacGeneration allait justement dans ce sens, 65% des 6500 votants comprenaient voir encouragaient cette évolution.

630snowleoparddeveloppeurs2008-20080704-161047


Viennent ensuite les difficultés posées par le support de ces deux familles de processeurs "C'est trop de code à maintenir sur deux plateformes explique un ancien cadre d'Apple, et d'énumérer : pour la sécurité tout doit être réécrit en double, même topo pour les librairies d'optimisation multimédia et à la fin les tests à effectuer aussi deux fois. Pendant ce temps on ne développe pas de fonctionnalités, on n'optimise pas les performances et on ne peut pas passer une partie de l'équipe sur OS X Mobile… Or sur OS X Mobile, les besoins sont importants et un ingénieur de développement à la Apple c'est long à former."

Ces lourdeurs d'un double développement sont aussi pointées du doigt par un ingénieur d'Apple. Même s'il estime à 20% seulement la part de Mac OS X (du kernel jusqu'aux applications incluses) qui contient un code spécifique à un processeur.

Néanmoins plus on a de puces plus on passe du temps à s'en occuper, ce développeur chez Apple leur impute une grande partie du retard et des difficultés rencontrées dans la mise au point de Leopard. "Les utilisateurs ne l'ont pas vécu comme ça mais pour nous, préparer la version Intel de Tiger ça a été comme de produire un vrai nouvel OS. On avait déjà commencé à travailler sur Leopard à cette époque et ça a rendu le travail plus laborieux."

Bien sûr, comme suggéré précédemment, l'iPhone entre aussi en ligne de compte. Son processeur est encore différent de ceux des Mac et Steve Jobs n'a pas fait mystère que le rachat de PA Semi allait se traduire par des puces inédites pour le téléphone. En conservant le PowerPC Apple se retrouvait avec trois environnements matériels.

Un gaspillage d'énergie selon un autre proche d'Apple "Il y a encore beaucoup d'opportunités pour accélérer OS X, et plutôt que de continuer à gérer un processeur ancien il est beaucoup plus intéressant d'avoir les ressources d'ingénierie nécessaires pour améliorer les performances pour Intel et pour l'iPhone […] Je pense que différentes optimisations souhaitées par l'équipe iPhone vont être, pendant les prochaines années, ce qui va donner les directions d'OS X en général. Core Animation par exemple a été développé pour l'iPhone avant d'arriver sur Mac avec Leopard."




Mac OS X victime de l'iPhone ?

Justement, parmi les théories avancées pour justifier de l'absence de nouvelles fonctions utilisateur dans Snow Leopard on entend souvent celle d'un manque de moyens. L'iPhone aurait siphonné les équipes de développement de Mac OS X.

D'ailleurs, Steve Jobs n'avait-il pas publiquement fait porter le chapeau des six mois de retard du 10.5 à la finalisation du nouveau téléphone ? Par conséquent, pour reprendre le sentiment d'un développeur indépendant "Apple n'a pas les ressources nécessaires pour lancer un OS rempli de nouveautés."

Notre ingénieur chez Apple tempère cette assertion, "C'est exagéré, on n'a pas vu par exemple des équipes réduites du tiers ou de la moitié pour aller travailler sur OS X Mobile. Mais dans chacune il y a effectivement pu y avoir une ou deux personnes détachées pour préparer l'adaptation d'une technologie puisque les deux systèmes ont une base commune."

stevejobswwdctabouretiphone


Alors que l'iPhone était encore inconnu du public ainsi que du plus grand nombre chez Apple, certains ingénieurs faisaient la navette entre les étages, depuis leur bureau habituel vers un second, secret, pour plancher discrètement sur l'iPhone (il y aurait jusqu'à trois niveaux de sécurité chez Apple pour la circulation dans les bâtiments, selon le degré de confidentialité de votre travail).

Mais une fois l'iPhone mis sur les rails, une véritable équipe a été constituée, pilotée par Scott Forstall. Et si des transferts de ressources humaines ont bien eu lieu, il a fallu aussi embaucher. D'autant que certaines technologies comme le multi-touch n'existaient pas côté Mac OS X. Par conséquent, les pertes pour Mac OS X n'auraient pas été aussi massives qu'on l'entend dire.

Mac OS X sommé d'évoluer plus vite

Seconde raison avancée pour Snow Leopard, une stratégie de mises à jour plus fréquentes. Avant tout il est intéressant de voir comment naît un système chez Apple.

Après chaque sortie d'un Mac OS X les équipes d'ingénieurs entrent pendant deux à trois mois dans une période un peu flottante, mélange de repos, de travail sur les mises à jour et de réflexion. Ils sont invités à cogiter librement sur de nouvelles fonctions pour l'OS suivant. Chacun y va de sa marotte et le résultat fait parfois l'objet de concours de démos. C'est dans ce cadre que serait apparue la fonction Exposé, idée brillante d'un développeur malin.

Chaque équipe, par la voie de son responsable, fait ensuite l'article de ses projets auprès du "Program Office". Il s'agit d'une instance méconnue du grand public, mais incontournable chez Apple. Ce groupe de quelques personnes a la haute main sur le choix de ce qui finira dans l'OS, sur l'élaboration de son profil technique et sur sa date de sortie. ll est au croisement des équipes d'ingénierie, du marketing et des hautes instances dirigeantes de la société.

C'est ce Program Office, avec Steve Jobs et Bertrand Serlet, le patron du logiciel chez Apple, qui trace les grandes lignes directrices du futur OS. Celles que l'on retrouvera en tête de gondole sur le site d'Apple, comme ce fut le cas de la sauvegarde de données Time Machine pour Leopard.

bertrandserletsnowleopard-2


À la suite de Leopard, le Program Office a annoncé aux équipes que le prochain Mac OS X s'appellerait "Snow Leopard" et qu'il serait un système à "zéro nouveauté". Steve Jobs ne s'en est pas caché, dès octobre dernier, Leopard tout juste sorti, il souhaitait publiquement qu'Apple retrouve une cadence plus soutenue pour ses successeurs. Et de suggérer un rythme d'un grand OS tous les 12 à 18 mois "Nous avons sorti des mises à jour majeures en moyenne tous les ans, ce qui nous a permis de peaufiner et de peaufiner encore le système pour l'améliorer à chaque fois". Snow Leopard est prévu dans "à peu près un an", soit quelques 18 mois après Leopard…


Une opportunité nommée Windows

Un discours officiel qui ne convainc qu'à moitié un autre éditeur de logiciels pour Mac "Les équipes de développement savent pertinemment que sortir une révision majeure pour le public tous les 18 mois est une mission quasi impossible. Le cycle est bien trop court… à moins d'y mettre très peu de fonctions ou bien de sortir un OS en beta. Je pense qu'avec Snow Leopard ils vont gagner du temps pour le prochain véritable OS à destination du public. Ainsi, Snow Leopard sera à peu près dans les clous et sera un compromis où l'on expliquera à l'utilisateur final que l'essentiel est pour les développeurs. Ça ne mange pas de pain et Apple gagne ainsi 18 mois supplémentaires pour réaliser une vraie évolution ciblée cette fois utilisateur final."

Cette décision "d'appuyer sur le bouton pause", pour reprendre l'expression de Bertrand Serlet, aurait en outre bénéficé d'un petit coup de pouce inattendu. Pendant ce laps de temps où Snow Leopard va être mis au point, Microsoft va ficher une paix royale à Apple. Vista se déploie mais sans ferveur, XP joue les prolongations et leur successeur - "Seven" - ne verra pas le jour avant le début 2010. Soit six mois au moins après la sortie de Snow Leopard. Face à un Windows plus agressif est-ce qu'Apple aurait suivi la même route ? Ce qui est certain c'est qu'à ce niveau de la compétition une pareille occasion ne se présente pas tous les dix-huit mois…


Sur le même sujet :
Steve Jobs au sujet de Snow Leopard
Snow Leopard : 5 nouvelles fonctions
Snow Leopard : des développeurs en extase
Snow Leopard : fin de partie pour les PowerPC ?
Snow Leopard : les premiers détails
Steve Jobs : nous avons inventé une nouvelle forme d'interface
Snow Leopard : fin de partie pour les PowerPC ?
Steve Jobs est heureux avec Intel
Apple et Intel : des puces à quatre mains
avatar Hindifarai | 
@ YAZombie Effectivement je pensais surtout au milieu professionnel de l'informatique en rédigeant mes posts, le préciser auraient sûrement évité quelques malentendus. Pour java6 il n'est disponible que sur les mac intel 64bits, les core duo et les PPC n'ont pas de port officiel. Les intel core duo ont soylatte, je n'ai jamais testé mais il semble y avoir quelques problèmes à l'utilisation avec des outils de développement tels eclipse pour ce qui est de l'intégration. Apple a décidé de se charger du développement de java(alors que sun le fait pour plusieurs plateforme avec succès et aurait pu le faire pour mac), le résultat est sans appel java6 est disponible en version finale depuis décembre 2006 sur linux, solaris et windows...belle performance de Cupertino qui m'énerve depuis maintenant 1 an et demi(on nous le promettait à l'époque). Java7 sera GPL, aux dernières nouvelles sa sortie est prévue pour début 2009, autrement dit cette version sortira, des contributeurs le porteront sur les plateformes orphelines et Apple passera de java5 à java7 sur son ancien parc de machines, ayant laissé les professionnels de l'informatique switcher vers d'autres plateformes durant cette transition. Cupertino ne semble pas s'en inquiéter ou pense que tous les développeurs travaillent sur des machines renouvelées tous les ans.
avatar YAZombie | 
Je comprends mieux. En revanche, j'avoue que j'ai quelques doutes sur le fait qu'Apple ait décidé de prendre en charge Java. Es-tu sûr et certain (genre quelque chose d'officiel) que ce n'est pas plutôt Sun qui a refusé de faire ce portage et laissé Apple se débrouiller? Ce qui m'inspire ça c'est leurs multiples retournements sur openoffice, mais ce n'est qu'une intuition.
avatar Hindifarai | 
Pour être plus précis, à l'époque de la sortie du premier osx (10.0) Apple a suggéré à Sun que le portage sur la plateforme leur soit totalement laissé, les premiers tests ont mis en avant qu'en effet leur boulot était plus efficace que celui de Sun. D'un commun accord la charge du portage des différentes versions leur a été donnée par soucis de qualité et simplicité, permettant à Sun de probablement mettre plus de monde de leur coté sur les version solaris linux et windows. Le temps allant à chaque sortie d'un nouveau Java, le temps de disponibilité est devenu de plus en plus long pour mac osx, arrivant à l'extrême qui est la situation actuelle(JSE6 devait être livré avec leopard, des priorités autres ont dû passer devant mais depuis un an et demi ils auraient pu mieux gérer ce fait). Il est à noter que la situation semble continuer dans cette voie avec l'iphone et Java ME https://www.igen.fr/fr/actu/6231/ Java 7 n'a aux dernières nouvelles que la partie de gestion du son à devoir être recodée car le propriétaire du code propriétaire ne voulait pas le rendre GPL. Cette version sera disponible bien avant que les développeurs Apple se souviennent que des développeurs Java ont des vieilles machines.
avatar jpvz74 | 
Oui, Java est encore un champ de bataille sur lequel Sun est le mieux placé pour s'imposer comme LA norme. Il y en a d'autres ... dont celui autour de Javascript ... avec comme enjeu un bouleversement complet de modèles économiques ... dont celui actuellement au sommet de Google. Aujourd'hui, moyennant le paiement d'un forfait à un FAI, la quantité d'information que l'on peut se faire livrer est illimitée, donc sans ticket modérateur ... ce qui débouche sur un gaspillage monstrueux ... qui ne prendra fin que lorsque la conquête de nouvelles parts de marché par les FAI (et opérateurs telecom) prendra fin. Puisque en marginal le transport de l'information est gratuit et payé par d'autres, ... les spammeurs s'en donnent à cœur joie ... et Google aussi avec sa Pub. Là où un simple texte où une gif animée suffirait ... on envoie un plein train de flash. Quel serveur se soucie réellement d'éviter de renvoyer 20 fois la même page ... alors que seuls, quelques octets ont été modifiés ? (Le cendrier est plein, alors on change la voiture) Les raisons du web2 (ne pas recharger une page en utilisant les outils Ajax) étaient essentiellement d'améliorer l'apparence interactive d'une page pour le client. Le web3 (dont toute la technologie existe déjà aussi sur le papier) s'imposera dans un souci de rationalité économique : optimiser le coût du transport de l'information (en temps et en argent) : à un horizon temps donné, ne transporter qu'une et une seule fois les informations invariables (ossatures de pages, scripts, ...) => 80% du volume transporté à économiser (la ressource clé est la lutte contre le gaspillage). Le bon sens économique devrait se traduire (et se traduira) par le fait que "surfer" coûte plus cher que d'être abonné à un site (un réseau cohérent de serveurs spécialisés). Qu'une page web sera mise en forme chez le client ... à partir d'informations variables glanées par requêtes parallèles auprès de plusieurs serveurs, y compris celui local du client.
avatar Hindifarai | 
@ jpvz74 [quote]Oui, Java est encore un champ de bataille sur lequel Sun est le mieux placé pour s'imposer comme LA norme.[/quote] J'avoue ne pas du tout vous suivre, s'il y a bien un secteur dans lequel Apple est complètement à la traine(c'est poli) en software c'est sur les technos Java/J2EE, tu peux prendre n'importe quel OS ils sera meilleur, quand on voit le marché du J2EE je trouve ça aberrant depuis quelques années. Pour ce qui est du web 2.0 et 3.0 ces appellations m'ont toujours fait sourire. Ne le prennez pas mal mais c'est juste un truc de journalistes. La technologie XUL est bien plus poussées qu'ajax et est bien plus vieille ça n'est pas pour autant que tous les journaux en ont parlé, c'était juste moins sexy et les forfaits internet étaient moins cher. A l'arrivée en masse d'utilisateurs les journalistes ont juste fait un cliché photographique des technologies internet et ont décrété qu'il y aurait un avant nommé web 1.0 et un futur que l'on nomme web 2.0 qui serait hype et génial parce que maintenant tout le monde y a accès(il parait).
avatar jpvz74 | 
(suite et fin) Si vous allez au bout du raisonnement, c'est un bouleversement complet qui, plus ou moins avec les mêmes technologies, devra s'opérer dans la conception des sites, des modèles économiques et de ce que devra piloter un navigateur chez le client. Là encore, une normalisation des frameworks devra s'opérer ... sous l'impulsion des Firefox, Opera, Safari et Cie. Les plateformes mobiles (smartphones) en constitueront le premier champ de bataille. Quelle(s) bibliothèque(s) de scripts réussira t-elle à s'imposer ? (prototype.js, un de ses dérivés, un nouveau venu ?) La bagarre autour de l'iPhone n'est pas neutre, la volonté d'Apple de ne pas laisser développer n'importe-quoi a sa raison d'être, son lancement de Safari sur Windows (comme iTunes autre fois) en guise de cheval de Troie est plein de bon sens ; celui de son kit destiné aux développeurs (SDK) non plus. Déjà sur le plan défensif, Google est contraint stratégiquement d'être présent dans la compétition ... pour peser sur des choix ... qui remettraient trop en jeu son modèle économique. etc ... Pourquoi Microsoft éprouve t-il tant le besoin stratégique de mettre la main sur Yahoo ? Ne doit-il pas aller chercher à l'extérieur ... ce qu'il n'est pas capable de produire ? Au risque, une fois de plus, de tuer la dynamique de sa nouvelle acquisition ? J'arrête là ... et vous laisse poursuivre toutes les conséquences pour l'avenir de cette vision ... en vous invitant à aller au bout.
avatar joeldu18cher | 
plus ça progresse , plus on paye , et au final qu'avons nous réellement gagné de primordial depuis power pc et panther ?????
avatar Anonyme (non vérifié) | 
Comme très souvent avec Christophe ou Florian c'est un véritable plaisir de vous lire ! Et tu signes là un excellent article ! Pour revenir au sujet, je trouve le choix d'Apple très judicieux ! Tout d'abords 300 nouveautés à chaque sortie du félin sans réelle optimisation ne semble pas ce qu'il y aie de mieux. Apple à sûrement compris que le bling bling permettait d'être une véritable machine à switch ces 3 dernières années, mais sans réelle optimisation de code et d'allégement du système, OSX commençait à devenir une usine à gaz. Avoir de nouveaux clients c'est bien, mais conserver la clientèle acquise c'est mieux ! Personnellement je suis switcher depuis Tiger avec les premiers "Macbook intel" de 2006. Et quand on a commencé à m'expliquer comment fonctionnait OSX j'ai été stupéfait par les solutions mise en place par Jobs et son équipe de dévs. Tous les cores (image, audio, vidéo, animations ...) l'émulateur Rosetta, et certains choix ont permis à Apple de se lancer dans une transition et y arrivant au bout il était temps qu'il dépoussière le tout ! Je ne suis en aucun cas un pro du code ou quoi que soit (les seuls codes que je connais sont ceux des supermarchés pour avoir une réduction ;-) je donne juste mon avis donc pas tapé !
avatar 2Bad | 
Bravo à l'auteur. MacG a depuis quelques mois une qualité de rédaction qu'on ne trouve nulle part ailleurs. Merci beaucoup! 2Bad
avatar Philactere | 
Je rejoins ptimac dans son commentaire. Apple a la chance (mais c'est son choix aussi) de fournir ET le matériel ET l'OS qui va dessus, ce qui lui permet d'optimiser aux petits oignons son OS. Je trouve donc ce choix de Snow Leopard très judicieux, maintenant que Apple est sur le devant de la scène il fait le choix de la qualité pour asseoir cette position, très bien. Les esprits chagrins diront que cette optimisation aurait pu se faire déjà partiellement avec Leopard, mais bon, comme dit dans l'article avec le support de 2 architectures c'était peut-être trop de boulot, et si j'ai bien tout compris Snow Leopard ne devrait pas être un Leopard optimisé mais un OS X abouti (avant la sortie du prochain félin).
avatar titom63 | 
Très bel article qu'on ne se lasse pas de lire en effet. Du coup j'attends Snow Léopard avec impatiente, j'ai hate de voir quel gain de performance peut donner une optimisation et depoussierage de l'OS. Titom
avatar s_d | 
article très intéressant en effet. D'accord avec ptimac et 2Bad. Mais si la qualité rédactionnelle de MacG s'est améliorée, je regrette quand même les délires d'avant (d'AppleCafé à KernelPanic) !
avatar -=(ben)=- | 
Pendant ce temps on ne développe pas de fonctionnalité, on n'optimise pas les performances et on ne peut pas passer une partie de l'équipe sur OS X Mobile… L'iPhone toujours l'iPhone, certes c'est une machine à switcher mais faut pas que sa bouffe MAC OS X Moi j'attend Snow leopard pour les performances!! Apres reste à voir si Apple préfère ne pas trop dévoiler denouvelle fonctionnalité maintenant parce que windows seven arrivera et sera encore une fois sûrement inspiré... Retard un vrai OS, va leur permet de prendre de la maturité de ne pas se faire copier pas windows seven et aussi de voir ou se place se nouveau Windows. Une stratégie pour mieux tapé après, j'espère.....à voir...
avatar Bassman | 
Et puis ça fera énormément de bien : un bel OS (ce qu'il est déjà) optimisé à mort. J'espère juste que pour Snow Léopard l'optimisation sera aussi sur la vidéo, car niveau driver et optimisation de ce côté (notamment pour les jeux) on est clairement lésé... Très bon article Florian !
avatar Anonyme (non vérifié) | 
Le PPC vaincra !!! 8-p
avatar Jerry Khan | 
Pour le moment, aucun gain de performance d'apres les premiers tests.
avatar bxlt | 
Pas trop d'accord avec cet article. A mon avis, comme il a été annoncé à la keynote, Snow Leopard introduit deux nouveautés : Grand Central, pour permettre au système de répartir les tâches entre plusieurs processeurs et OpenCL, pour que le système permette d'utiliser au mieux, un peu comme un coprocesseur, les possibilités de la carte graphique. Dans ce contexte, le non support du PowerPC se comprend mieux. Peu de machines PowerPC comporte plusieurs coeur et les cartes graphiques des machines G4 et G5, sans être forcément de piètre conception, n'offrent évidemment pas, en terme de calcul, les performances des cartes graphiques d'aujourd'hui. Voilà donc, à mon avis, la raison du non-support de Snow Leopard pour les PPC : Snow Leopard n'apporterait que peu de changement ! (et je ne parle pas du support du 64 bit, dont l'une des raisons serait que les registres des processeur Intel soient enfin en 64 bits, ce qui est déjà le cas sur les G4 et G5 !) Par contre, je ne crois pas que l'objectif d'Apple soit de "dépoussiéré" le code présent dans Leopard. Je pense plutôt que ce travail a déjà été fait à l'avènement de Léopard lorsque OSX a été porté sur le processeur de l'iphone, beaucoup moins puissant que n'importe quel G4/G5. Et d'ailleurs, depuis le système 10.5, mon Powerbook G4 n'a jamais été aussi rapide ! Pour en revenir à Grand Central, il faut vraiment comprendre que c'est une avancée d'une extrême importance. En tant que développeur, je dois rappeler la difficulté (grosse galère) de programmer une application de façon qu'elle supporte efficacement le multi-processing. Le génie d'Apple (encore!) est d'implémenter cette fonctionnalité au niveau du système. Le programmeur n'aura que peu de choses à modifier et moins de pain sur la planche...

Pages

CONNEXION UTILISATEUR