John Gruber avait déjà fait part de son point de vue concernant Flash sur la tablette : il fait le pari que ça n'arrivera pas. De ce postulat est né un débat sur le thème : pourquoi Apple doit intégrer Flash/pourquoi elle ne doit surtout pas le faire.
John Gruber revient longuement sur la question dans un nouveau billet, en tâchant de l'aborder de la manière la plus objective et factuelle possible, étant donné le caractère passionné du débat. Il commence par revenir sur une assertion qu'il avait faite sans l'étayer d'éléments probants : Apple n'aime pas Flash parce qu'elle n'a aucun contrôle dessus, et le fait que Flash serait la première cause de plantage sur Mac OS X ne doit pas arranger cet état de fait.
Flash et les plantages
Pour donner un peu plus de substance à ce propos, Gruber revient sur la présentation de Bertrand Serlet durant la dernière WWDC, et plus particulièrement la fonction qui isole les plugins de Safari dans un process séparé afin de ne pas planter le navigateur (voir notre article Snow Leopard avalera les méchants plug-ins). Serlet a notamment expliqué que les rapports de crash envoyés par les utilisateurs de Mac OS X étaient majoritairement causés par les plugins pour navigateur. Gruber ajoute que, d'après ses propres sources, "plugin pour navigateur" était une pudique périphrase pour "Flash". Flash s'arrogerait donc la part du lion dans les causes de plantages dans Mac OS X, et Apple ne peut rien y faire, à part isoler Flash et le laisser planter dans son coin.
Etant donné l'utilisation permanente de Flash, statistiquement parlant ça ne veut pas dire pour autant que le logiciel soit particulièrement mal conçu, mais que les utilisateurs sont plus susceptibles de rencontrer un bug dans Flash qu'ils ne le sont par exemple avec Inkwell, la technologie de reconnaissance d'écriture intégrée au système. Bien sûr, si en revanche Flash est effectivement codé avec les pieds, ça ne ferait qu'empirer les choses.
Gruber admet cependant en toute honnêteté qu'il y a une autre raison pour laquelle Apple a implémenté cette isolation des plugins : c'était le seul moyen pour Apple de faire fonctionner des process 32 bits avec son navigateur 64 bits. Mais il voit là une manifestation supplémentaire de l'embarras dans lequel Flash met Apple : elle n'a pas la maîtrise de ce qu'Adobe fait avec. Sachant que Flash est livré avec le système, et qu'à ce jour il n'y a toujours pas de version 64 bits de Flash pour Mac OS X, Apple n'a pas eu d'autre choix que de procéder de la sorte.
Moralité, pour conserver la compatibilité avec un code qu'elle ne contrôle pas, à défaut de pouvoir fournir elle-même une version 64 bits de Flash, Apple a dû mettre sur pied une nouvelle architecture pour les plugins, juste pour maintenir la compatibilité avec Flash. Cet état de fait l'entrave dans ses choix technologiques, et telle qu'on connaît Apple, ça n'est pas le genre de choses qu'elle supporte facilement. Sachant par ailleurs qu'un autre plugin d'Adobe, Shockwave, n'est à ce jour toujours pas compatible avec Safari en 64 bits, pas même avec la couche de compatibilité qu'Apple a mise au point, et qu'Adobe n'a donné aucune indication quant à une éventuelle amélioration de la situation, on mesure la capacité potentielle de nuisance que représente cette dépendance à un standard propriétaire d'une tierce partie.
Gruber poursuit en comparant ce contexte à celui de l'iPhone : Apple maîtrise entièrement cette plateforme. Si elle veut demain fournir une version 64 bits d'iPhone OS, ou changer d'architecture processeur, rien ne peut la retenir. Dans le cas de Flash, Apple doit patienter et est dépendante du bon vouloir d'Adobe.
Le web propriétaire
John Gruber admet alors qu'il espère que Flash ne sera jamais disponible sur iPhone. Pourquoi? Parce que Flash est l'unique standard du web qui soit non seulement propriétaire, mais en outre entièrement sous le contrôle d'une seule entité privée, Adobe. Aucun autre standard du web ne se trouve dans ce cas : le CSS, le HTML, et le JavaScript sont tous des standards ouverts, avec de nombreuses implémentations, y compris en open source.
C'est d'ailleurs ce même argument qui est en faveur de Flash sur iPhone : sans celui-ci l'iPhone se prive d'une quantité conséquente de contenus sur le Web, que ce soit des publicités, comme des jeux et animations, et bien sûr, des vidéos. Mais à l'inverse, l'argument en défaveur de Flash est qu'il est dangereux pour tout le Web qu'un tel standard soit entre les mains d'une seule société, qui tient donc un levier puissant pour édicter ses propres priorités et influer sur l'avenir du Web. Le seul moyen d'y remédier est de trouver une alternative ouverte qui puisse être une cible attrayante pour les éditeurs du Web.
Et c'est, selon Gruber, précisément ce qu'Apple a réussi avec l'iPhone. Il s'agit d'une plateforme avec laquelle il faut désormais compter, et si on tient à s'adresser à ce public, il faut donc faire sans Flash, en utilisant des standards ouverts, comme HTML 5 et le codec H264 pour la vidéo, ou JavaScript pour l'interactivité. Apple a d'ailleurs contribué aux alternatives avec des technologies telles que SproutCore (voir notre une Apple à l'assaut de Flash).
En réalité, Apple a réussi à faire une force de l'absence de Flash sur l'iPhone : la chose donne plus de poids à son App Store, et court-circuite certains concurrents à ses propres services sur sa plateforme. Ainsi, Hulu est inaccessible aux utilisateurs d'iPhone, qui ne peuvent se tourner que vers iTunes pour se fournir en vidéo à la demande. En somme, Apple a tout intérêt à maintenir Flash en dehors de sa forteresse, et bien peu à le laisser rentrer. La seule chose qui pourrait faire évoluer la situation serait un succès de Flash sur les plateformes mobiles concurrentes, mais on en est bien loin.
Des problèmes de performance sur Mac
Pour finir, Gruber revient sur les allégations d'Adobe concernant la responsabilité d'Apple dans la lenteur de Flash sur Mac OS X (voir notre article Adobe accuse Apple d'être responsable des lenteurs de Flash). S'il ne s'attarde pas sur le fond du problème (quoi qu'il évoque le fait que VLC ne dispose pas plus d'accès à l'accélération matérielle que Flash mais que ça ne l'empêche pas d'être bien plus performant que ce dernier), en revanche il souligne qu'il s'agit là d'un problème tant pragmatique que politique.
Apple a un point de vue très affirmé sur la bonne manière de faire les choses, et selon elle, les logiciels de tierce partie ne devraient avoir accès qu'aux API de haut niveau, ce qui est une différence notable avec Windows et qui pourrait expliquer que Flash ait moins de latitudes sur Mac OS X. D'autre part, stratégiquement parlant Apple n'a pas d'intérêt à tout faire pour que les choses s'améliorent. Quoi qu'il en soit, si Adobe a besoin qu'Apple ouvre plus son système pour que Flash fonctionne correctement sur Mac, quelles seraient les chances pour que ça puisse arriver sur iPhone ? Selon Gruber : aucune.
Pour conclure, Gruber cite Tim Cook, qui disait il y a un an : « Nous croyons en la simplicité, et non la complexité. Nous croyons que nous avons besoin de maîtriser les technologies primordiales derrière les produits que nous fabriquons, et de ne participer qu'aux marchés sur lesquels nous pouvons apporter une contribution significative ». Flash ne correspond en rien à cette optique.
John Gruber revient longuement sur la question dans un nouveau billet, en tâchant de l'aborder de la manière la plus objective et factuelle possible, étant donné le caractère passionné du débat.
Flash et les plantages
Pour donner un peu plus de substance à ce propos, Gruber revient sur la présentation de Bertrand Serlet durant la dernière WWDC, et plus particulièrement la fonction qui isole les plugins de Safari dans un process séparé afin de ne pas planter le navigateur (voir notre article Snow Leopard avalera les méchants plug-ins). Serlet a notamment expliqué que les rapports de crash envoyés par les utilisateurs de Mac OS X étaient majoritairement causés par les plugins pour navigateur. Gruber ajoute que, d'après ses propres sources, "plugin pour navigateur" était une pudique périphrase pour "Flash". Flash s'arrogerait donc la part du lion dans les causes de plantages dans Mac OS X, et Apple ne peut rien y faire, à part isoler Flash et le laisser planter dans son coin.
Etant donné l'utilisation permanente de Flash, statistiquement parlant ça ne veut pas dire pour autant que le logiciel soit particulièrement mal conçu, mais que les utilisateurs sont plus susceptibles de rencontrer un bug dans Flash qu'ils ne le sont par exemple avec Inkwell, la technologie de reconnaissance d'écriture intégrée au système. Bien sûr, si en revanche Flash est effectivement codé avec les pieds, ça ne ferait qu'empirer les choses.
Gruber admet cependant en toute honnêteté qu'il y a une autre raison pour laquelle Apple a implémenté cette isolation des plugins : c'était le seul moyen pour Apple de faire fonctionner des process 32 bits avec son navigateur 64 bits. Mais il voit là une manifestation supplémentaire de l'embarras dans lequel Flash met Apple : elle n'a pas la maîtrise de ce qu'Adobe fait avec. Sachant que Flash est livré avec le système, et qu'à ce jour il n'y a toujours pas de version 64 bits de Flash pour Mac OS X, Apple n'a pas eu d'autre choix que de procéder de la sorte.
Moralité, pour conserver la compatibilité avec un code qu'elle ne contrôle pas, à défaut de pouvoir fournir elle-même une version 64 bits de Flash, Apple a dû mettre sur pied une nouvelle architecture pour les plugins, juste pour maintenir la compatibilité avec Flash. Cet état de fait l'entrave dans ses choix technologiques, et telle qu'on connaît Apple, ça n'est pas le genre de choses qu'elle supporte facilement. Sachant par ailleurs qu'un autre plugin d'Adobe, Shockwave, n'est à ce jour toujours pas compatible avec Safari en 64 bits, pas même avec la couche de compatibilité qu'Apple a mise au point, et qu'Adobe n'a donné aucune indication quant à une éventuelle amélioration de la situation, on mesure la capacité potentielle de nuisance que représente cette dépendance à un standard propriétaire d'une tierce partie.
Gruber poursuit en comparant ce contexte à celui de l'iPhone : Apple maîtrise entièrement cette plateforme. Si elle veut demain fournir une version 64 bits d'iPhone OS, ou changer d'architecture processeur, rien ne peut la retenir. Dans le cas de Flash, Apple doit patienter et est dépendante du bon vouloir d'Adobe.
Le web propriétaire
John Gruber admet alors qu'il espère que Flash ne sera jamais disponible sur iPhone. Pourquoi? Parce que Flash est l'unique standard du web qui soit non seulement propriétaire, mais en outre entièrement sous le contrôle d'une seule entité privée, Adobe. Aucun autre standard du web ne se trouve dans ce cas : le CSS, le HTML, et le JavaScript sont tous des standards ouverts, avec de nombreuses implémentations, y compris en open source.
C'est d'ailleurs ce même argument qui est en faveur de Flash sur iPhone : sans celui-ci l'iPhone se prive d'une quantité conséquente de contenus sur le Web, que ce soit des publicités, comme des jeux et animations, et bien sûr, des vidéos. Mais à l'inverse, l'argument en défaveur de Flash est qu'il est dangereux pour tout le Web qu'un tel standard soit entre les mains d'une seule société, qui tient donc un levier puissant pour édicter ses propres priorités et influer sur l'avenir du Web. Le seul moyen d'y remédier est de trouver une alternative ouverte qui puisse être une cible attrayante pour les éditeurs du Web.
Et c'est, selon Gruber, précisément ce qu'Apple a réussi avec l'iPhone. Il s'agit d'une plateforme avec laquelle il faut désormais compter, et si on tient à s'adresser à ce public, il faut donc faire sans Flash, en utilisant des standards ouverts, comme HTML 5 et le codec H264 pour la vidéo, ou JavaScript pour l'interactivité. Apple a d'ailleurs contribué aux alternatives avec des technologies telles que SproutCore (voir notre une Apple à l'assaut de Flash).
En réalité, Apple a réussi à faire une force de l'absence de Flash sur l'iPhone : la chose donne plus de poids à son App Store, et court-circuite certains concurrents à ses propres services sur sa plateforme. Ainsi, Hulu est inaccessible aux utilisateurs d'iPhone, qui ne peuvent se tourner que vers iTunes pour se fournir en vidéo à la demande. En somme, Apple a tout intérêt à maintenir Flash en dehors de sa forteresse, et bien peu à le laisser rentrer. La seule chose qui pourrait faire évoluer la situation serait un succès de Flash sur les plateformes mobiles concurrentes, mais on en est bien loin.
Des problèmes de performance sur Mac
Pour finir, Gruber revient sur les allégations d'Adobe concernant la responsabilité d'Apple dans la lenteur de Flash sur Mac OS X (voir notre article Adobe accuse Apple d'être responsable des lenteurs de Flash). S'il ne s'attarde pas sur le fond du problème (quoi qu'il évoque le fait que VLC ne dispose pas plus d'accès à l'accélération matérielle que Flash mais que ça ne l'empêche pas d'être bien plus performant que ce dernier), en revanche il souligne qu'il s'agit là d'un problème tant pragmatique que politique.
Apple a un point de vue très affirmé sur la bonne manière de faire les choses, et selon elle, les logiciels de tierce partie ne devraient avoir accès qu'aux API de haut niveau, ce qui est une différence notable avec Windows et qui pourrait expliquer que Flash ait moins de latitudes sur Mac OS X. D'autre part, stratégiquement parlant Apple n'a pas d'intérêt à tout faire pour que les choses s'améliorent. Quoi qu'il en soit, si Adobe a besoin qu'Apple ouvre plus son système pour que Flash fonctionne correctement sur Mac, quelles seraient les chances pour que ça puisse arriver sur iPhone ? Selon Gruber : aucune.
Pour conclure, Gruber cite Tim Cook, qui disait il y a un an : « Nous croyons en la simplicité, et non la complexité. Nous croyons que nous avons besoin de maîtriser les technologies primordiales derrière les produits que nous fabriquons, et de ne participer qu'aux marchés sur lesquels nous pouvons apporter une contribution significative ». Flash ne correspond en rien à cette optique.