Le voilà donc enfin. Je n'ai eu de cesse ces derniers mois de répéter à qui veut l'entendre que la stratégie de Google était de sortir un OS dans le navigateur. Tout d'abord avec ce billet qui décrivait NaCL, puis plus récemment lors de ma session aux USI dans laquelle je finis par la phrase suivante : "NativeClient sera le socle d'un système d'exploitation téléchargé à partir du navigateur" (vous l'entendrez lors de la publication des Webcast).
Suite:
Loin de moi l'idée de m'auto-congratuler avec des "j'avais raison !", mais plutôt de réfléchir concrètement à cette annonce.
La première chose qui nous frappe est l'absence quasi totale d'informations. Je parle évidemment d'informations technique, car côté marketing l'effet d'annonce juste avant la sortie de Windows 7 a un air de "téléphoné". De TF1 à iTele en passant par BFM, tout le monde y est allé de sa petite phrase pour présenter le Windows Vista Killer et à travers lui le Microsoft Killer.
Je laisse le soin aux journalistes, commentateurs et bloggueurs d'évoquer l'aspect stratégique de cette annonce et les éventuels dégâts collatéraux que pourrait provoquer l'émergence d'un nouvel OS.
Pour ma part, je m'en tiendrai, une fois n'est pas coutume, à l'analyse purement technique.
Tout ce qu'on sait, c'est que Google présente un nouvel OS basé sur un Kernel Linux, compatible x86 et ARM (NaCL ne supportait pas ARM de mémoire). Jusqu'à présent, rien de transcendant par rapport à mon précédent billet. Il y aura un système de fenêtrage (on s'en doute, car qui dit OS dit un minimum d'interactivité applicative). J'ai toujours insisté sur le fait que Chrome OS n'emprunterait pas grand chose à Android pour diverses raisons, l'annonce le confirme. Android est une plateforme trop proche de Java, ChromeOS semble s'appuyer sur les fondations de NaCL, plus performantes et construit autour d'un runtime x86 réinventé.
Pour être plus précis, si on considère qu'un OS léger a été développé en ASM/C/C++ sur la base du compilateur fournit par NaCL, l'équation est résolue. ChromeOS reprend un kernel Linux compilé sous NaCL. Il subsiste malgré tout encore quelques zones d'ombres, notamment sur l'implémentation ARM. NaCL exécute du x86 généré par un compilateur GCC spécifique. Or, ARM ne s'appuie pas sur du x86 et possède un jeu d'instructions radicalement différent. Rien ne confirme aujourd'hui la présence d'une sorte d'émulation ARM pour produire du x86 ou même une interprétation directe du code ARM.
Bref, toujours est-il que si on s'appuie sur le slide 26 de la présentation NaCL donnée lors de Google I/O, Chrome OS était plus ou moins prévisible.
Lisons un peu entre les lignes :-). Ce slide nous dit clairement que le futur c'est un OS dans le browser, du x86-ARM et un peu de O3D.
O3D est une technologie permettant de faire tourner de la 3D dans un navigateur. On aurait pu se demander pourquoi à priori Google aurait fait de la 3D une priorité alors qu'il s'attachait à consolider les fondations d'un OS naissant. La réponse a peut-être été donnée aujourd'hui. Il faut un système de fenêtrage à notre OS du futur. Et contrairement aux Framework graphiques KDE/Qt et Gnome/GTK+, NaCL a besoin d'un outil "Web Compatible" téléchargeable rapidement et sans trop de dépendances. O3D est le candidat idéal et rêvé. Peu ou pas de dépendances, fonctionne en mode out-of-the-box, exécute de la 3D et du vectoriel, le tout en JavaScript. Il ne reste plus qu'à trouver la bonne ergonomie et le bon visuel et on a les ingrédients de notre nouveau Framework GUI.
Je ne serais pas étonné de voir un système de fenêtrage 3D pour Chrome OS voir le jour très bientôt. Jetez un oeil sur cet excellent billet de Fred.
Pour finir, je voudrais insister sur un petit disclaimer d'usage. Ce billet contrairement à mes précédents est basé sur des hypothèses de comptoir et non des faits. Il n'y a à ce jour aucun document technique présentant officiellement et concrètement Chrome OS. Je doute que Google n'en sache pas plus que ce qui est avancé ici et les jours prochains vont je l'espère confirmer ou infirmer cette analyse, étayée par d'autres d'ailleurs.
Du coup, plus que jamais, we have to Stay tuned
Update 1 : Brad Chen du team NaCL a répondu à la fameuse question, ChromeOS et NaCl seraient deux projets distincts, j'avoue avoir du mal à y croire, j'ai donc posté une demande de confirmation plus précise.
Update 2 : La réponse de Brad Chen est arrivée. Retour à la case départ, à un moment donné, il va bien falloir appeler un chat un chat et arrêter de jouer aux devinettes. J'ai demandé une précision *claire*. Stand by.
Update 3 : Le même Brad Chen ne semble pas plus prolixe. Cet article de NetWork World évoque les mêmes ambiguités que je demande à Google de lever. Il suffit simplement dans la phrase "Native Client isn’t the only technology that appears to be part of Chrome OS" qu'ils remplacent le "appears" par un "is"
Dernier update : Brad a répondu .... qu'il ne pourrait (malheureusement) pas me repondre :-). Je vais arrêter de les embêter, je ne voudrais pas mettre mal à l'aise les techniciens par rapport à la ligne du parti. En revanche je vous renvoie à l'excellente synthèse d'Olivier Rafal dans le monde informatique qui a parfaitement résumé la situation.
HTML5+Google Native Client = HTML6? .. on peut rêver :)
Je ne comprends plus trop le jeu entre Android et chromeOS. C'est peut-être qu'ils ont juste deux fers au feu, et qui vivra verra?
De même pour l'arrivée de la 3D dans le navigateur.
Certains diront que c'est une sorte de retour en arrière, un VT100++ avec un contrôle complet sur des systèmes centraux alors que la micro informatique justement voulait apporter plus de liberté aux utilisateurs en leur donnant les moyens de travailler en local.
Le prix du poste local, on le connait tous, coût des licences d'OS et d'applications, des mise à jour, des systèmes de protections contre virus et spyware.
Je ne peux m'empêcher de penser que la possible MacTablette de la rentrée sera dans une veine assez proche, un OS léger, des fonctionnalités orientés Web et une simplicité d'usage pour le commun des mortels, tout le monde n'étant pas à l'aise dans la 'maintenance' au quotidien de son poste de travail.
Avec en prime un accès à un catalogue d'applications validées par un fournisseur, Google ou Apple, via un XStore, réduisant encore les risques de piratages ou d'applications virales.
Cette approche WebOS est peut être bien un tournant dans la micro informatique, comme l'a été, en son temps, l'annonce de l'Apple 2 ou du premier IBM PC.
Wait and See