Suite à l'annonce d'Apple de progressivement abandonner la plateforme Intel au profit de celle d'ARM, il est intéressant de revenir sur les erreurs de Microsoft avec Windows sur ARM. Tout commence par dire aux consommateurs ce qui fonctionne et ce qui ne fonctionne pas.
S'il y a une leçon qu'Apple devrait connaître sur la prise en charge des applications qui s'exécutent à la fois sur x86 et ARM, c'est bien celle-ci: dites aux utilisateurs quelles applications exploitent quel processeur et orientez-les sans détour vers la meilleure expérience. Cela semble évident. Mais alors qu'Apple navigue dans sa transition des Mac Intel x86 à des Mac conçus autour de son propre silicium ARM, je ne peux m'empêcher de penser aux choses que j'aurais souhaité que Microsoft et Qualcomm expérimentent pour faciliter l'expérience Windows sur ARM.
Cela commence par la communication. Lorsque Asus a lancé son ordinateur portable NovaGo avec un processeur Qualcomm à l'intérieur, nous avions expliqué les avantages et les inconvénients de l'architecture, en particulier ce qu'elle pouvait ou ne pouvait pas faire. Deux ans plus tard, cet article semble toujours pertinent. Voici comment Microsoft a trébuché en cours de route et où Apple pourrait également se tromper, à moins qu'il n'apprenne de ces erreurs.
L'autonomie longue durée et des connexions toujours actives étaient mises en avant sur des PC basés sur Qualcomm, mais le logiciel l'a toujours freiné.
Parler aux développeurs, mais aussi aux utilisateurs
Aucun utilisateur ne veut parcourir la documentation d'un développeur pour comprendre pourquoi il devrait ou ne devrait pas acheter un produit. Mais c'est exactement ce que Microsoft demande aux consommateurs de faire. La façon dont Windows émule les instructions compilées pour les processeurs x86 vers une architecture ARM est résumée dans un document de support ardu sur le site de Microsoft. Ce n'est pas vraiment une bonne approche. L'éditeur de Redmond n'a jamais fait de réels efforts pour informer les utilisateurs des limitations de la plate-forme ARM et des options disponibles pour surmonter ces obstacles.
Imaginons que vous souhaitiez télécharger l'application de vidéoconférence Zoom sur la Surface Pro X de Microsoft, animée par une puce ARM. Vous ne la trouverez pas sur le Microsoft Store, vous obligeant à vous rendre sur le site de Zoom. Ce que ce dernier ne vous dit pas, bien sûr, c'est qu'un PC Windows sur ARM ne peut toujours pas exécuter une application 64 bits en mode émulé. Donc, si un consommateur essaie de télécharger la version 64 bits de l'application Zoom sur la Surface Pro X, il sera confronté à un gros message d'erreur empêchant son installation. C'est un obstacle entre un consommateur et une expérience agréable, et je parie que c'est l'une des principales raisons pour lesquelles les PC Windows-on-ARM ne se sont pas bien vendus.
Une transition longue
Apple semble emprunter le même chemin. Comme Windows sur ARM, la firme de Cupertino utilise également du code pour traduire les instructions écrites pour les processeurs X86 en instructions compréhensibles par ses puces ARM. Sur Mac, ce code est connu sous le nom de Rosetta, le même logiciel de traduction qu'Apple a utilisé pour faciliter la transition du PowerPC vers x86. Désormais, Rosetta2 (ou simplement Rosetta) est conçu pour prendre du code écrit pour x86 et lui permettre de «fonctionner» sur le nouveau silicium ARM du Mac. Une partie de «juste travailler» semble impliquer «juste attendre». Comme Apple le dit dans la documentation destinée aux développeurs désormais publiée sur son site , «le processus de traduction prend du temps, de sorte que les utilisateurs peuvent percevoir que les applications traduites se lancent ou s'exécutent parfois plus lentement».
Les utilisateurs devront également aider leur Mac à utiliser le bon code. « Si un binaire comprend à la fois des instructions arm64 et des instructions x86_64, l'utilisateur peut dire au système de lancer l'application à l'aide de la traduction Rosetta à partir de la fenêtre Get Info de l'application dans le Finder », explique Apple. « Par exemple, un utilisateur peut activer la traduction Rosetta pour permettre à l'application d'exécuter des plug-ins plus anciens qui ne prennent pas encore en charge l'architecture arm64 ».
Apple a présenté un Mac basé sur ARM exécutant des applications iPhone lors de son discours d'ouverture de la WWDC 2020 le 22 juin.
Cependant, Rosetta ne traduira pas les extensions du noyau et les hyperviseurs qui virtualisent les plates-formes x86_64. Rosetta ne traduira pas non plus les instructions vectorielles AVX, qu'Intel a d'abord implémentées dans ses puces «Sandy Bridge» de 2e génération en 2011. Pour récapituler, Apple dit aux développeurs (pas aux utilisateurs!) que les applications émulées s'exécuteront plus lentement que le code natif, que les utilisateurs devront peut-être configurer une application manuellement pour s'exécuter en mode émulé pour permettre une compatibilité totale, et que son logiciel de traduction ne fonctionnera pas les instructions qui sont en place depuis environ neuf ans. Ce ne sera pas simplement «ça marche » - et les utilisateurs ne le savent pas encore.
Rendre difficile la recherche d'applications compatibles
Les magasins d'applications sont l'endroit où les utilisateurs interagissent en premier avec les applications, et le Microsoft Store est toujours une très mauvaise expérience.
À l'heure actuelle, chaque utilisateur de Windows connaît les nombreuses lacunes du Store. Il n'y a aucune information vous indiquant quand la dernière mise à jour de l'application, et encore moins un journal des modifications. Vous ne pouvez pas voir le nombre de téléchargements à ce jour.
Microsoft enterre également l'architecture de processeur prise en charge par une application. Si vous êtes déjà sur un PC Windows on ARM (WoA), Microsoft masquera les applications incompatibles. Mais si vous voulez savoir ce qui est disponible pour les PC WoA avant d'en acheter un, vous devrez aller application par application pour le découvrir par vous-même.
Afficher les applications qui ne fonctionnent pas sur ARM (après avoir acheté le PC) est une approche déconseillée.
Dans quelques années, la question de savoir si une application Mac est compilée pour ARM ou x86 deviendra théorique, car Apple a décidé de passer tous ses Mac sur ARM. Mais pour l'instant, les clients des plates-formes Windows et Mac peuvent choisir entre les deux architectures de processeur, ce qui les placent dans la même situation. Certes, il est probablement trop tôt pour s'attendre à ce que l'Apple Store d'Apple fournisse ces informations. Nous savons que certains deux de ses principaux partenaires logiciels, Adobe et Microsoft, soutiennent les efforts ARM d'Apple. Nous pouvons toutefois nous demander combien de petits éditeurs prendront la peine de recoder leurs applications et utilitaires pour ARM, et à quelle vitesse d'autres développeurs d'applications de création de contenu s'inscriront.
Il est cependant essentiel de savoir quelles applications sont codées pour chaque processeur. Les applications «universelles» fonctionneront sur les deux plates-formes. Mais nous ne savons vraiment pas comment les processeurs ARM d'Apple fonctionneront, et nous ne savons pas non plus dans quelle mesure une application donnée fonctionnera sur chaque plate-forme. Il est donc important que les clients Apple et PC sachent quelles applications sont codées de manière native pour un processeur particulier, où les performances seront optimisées et lesquelles seront émulées et affectées par les performances. L'App Store, que ce soit sur Mac ou Windows, devrait être le point de départ de ces conversations.
Des applications « vitrines »
Jusqu'à présent, nous nous sommes concentrés sur la performance, la compatibilité et la communication. Lors d'un test, je minore généralement la note d'un ordinateur portable s'il arrive encombré par des applications tierces inutiles. Acer, par exemple, livre des applications qui suggèrent d' autres applications, comme sa suite Collection S. Mais c'est ce dont Windows on ARM (et Mac) avait justement besoin et qui a manqué : une vitrine d'applications, codées nativement pour ARM, qui mettent en valeur la plate-forme.
Le gestionnaire de packages de Microsoft pourrait être un moyen facile de télécharger une collection de logiciels Windows on ARM optimisés.
Sous Windows, ni Microsoft ni Qualcomm ne sont intervenus à cet égard. Plutôt que des collections générées par les utilisateurs , nous devrions avoir un site Web officiel de marque répertoriant (et reliant!) des applications qui ont été optimisées pour ARM. Les PC connectés doivent être préchargés avec des applications optimisées pour ARM, ou au moins offrir une passerelle vers une expérience optimisée. La possibilité de télécharger des applications Windows sur ARM optimisées pourrait être une fonctionnalité du nouvel utilitaire de gestionnaire de packages WinGet de Microsoft.
Je soupçonne Apple d'avoir bien compris cela, et qu'une partie de l'App Store d'Apple s'intitule bientôt quelque chose comme "Runs best on Apple" ne me surprendrait pas. En présentant aux utilisateurs une collection d'applications qu'ils utiliseront fréquemment, en les rassurant sur le fait que leurs performances sont optimisées, puis en ajoutant et en mettant à jour régulièrement ces applications, on leur assure que le fournisseur les accompagne.
Pourquoi passer sur ARM
À l'heure actuelle, les utilisent ne comprennent toujours pas pourquoi ils devraient s'éloigner de x86 et adopter quelque chose de nouveau et de peu familier comme ARM. Et s'ils le font, l'explication est toujours formulée en termes de matériel. Comment et pourquoi les clients doivent faire la transition de leurs logiciels est généralement laissé de côté, et tout le monde se retrouve dans la confusion. Espérons qu'Apple analyse en détail les erreurs successives de Microsoft et réussisse à faire mieux.
Suivez-nous