Apple, Adobe et Flash

Nonoche |
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.

skitched


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.
avatar sarbogast | 

Ca m'énerve quand on se serve de ça comme argument contre Flash. D'abord Flash n'est plus propriétaire. Les spécifications du format SWF et AMF sont ouvertes et disponibles, et la machine virtuelle du plugin Flash, la base même du Flash runtime, Tamarin, est Open Source sous licence Mozilla depuis 2006 (http://blogs.adobe.com/billmccoy/2006/11/adobe_open_sour.html). D'ailleurs il y a des implémentations Open Source du flash runtime, il y a même un gars qui en développe un... en Javascript pour l'iPhone (http://github.com/tobeytailor/gordon).
Et puis je rappelle au passage qu'une des principales technologies qui fait tourner nos serveurs, à savoir Java, est elle aussi propriétaire: Java est contrôlée uniquement par Sun (maintenant pire, par Oracle), et on attend toujours la sortie de l'OpenJDK.
Donc faut arrêter avec tout ce FUD autour du vilain méchant pas beau Adobe: avec Flash ils ont résolu l'enfer des codecs vidéo sur le web, alors même que les fameux standards dont tout le monde fait la louange, sont en train de le recréer (cf. HTML 5 et la balise video).
Flash est une bonne technologie, Adobe est une boîte en pleine mutation vers l'ouverture et l'esprit communautaire, et les standards W3C sont lents à évoluer et déjà complètement dépassés.
Putain ça fait du bien!

avatar BioSS | 

Wow thanks sarbogast, tu résumes ma pensée.
Effectivement, avant que la vidéo en flash se popularise, je me souviens de l'horreur des codec, des wmv par ici, des mpg par là, des mov, des avi, le tout sans pouvoir avancer dans une vidéo, sans fullscreen, sans rien... quelle horreur. Flash a vraiment enrichi internet pour ça.

avatar BioSS | 

Dernière chose : si vous voulez voir des sites flash plus classiques, mais néanmoins très conceptuels :

http://www.thefwa.com/

C'est la compilation des meilleurs sites du moment, jour après jour.
Et c'est clairement irréalisable avec javascript et autres...

avatar cdou59 | 

@BioSS et @sarbogast
Merci ... +10000

mais ... ici vous n'aurez jamais le dernier mot, les batailles anti/pro flash sont sans intérêt.
Le jour ou les défenseurs 'du mort au flash' comprendront ce qu'est devenu flash au fil des années, et que la mort de flash n'aura pas lieu, mais une coexistence de toutes ces technos serait la meilleure des choses pour l'avancée du web ... on sera très vieux ^^

Bref je suis d'accord, flash / vidéo, il fautdrait que cela cesse, car flash .. n'est pas fait pour ca. mais en même temps ... y'a quoi en face a part le bazar ?

Et puis j'adore aussi la conception du web de certains lecteurs de macG. Un web désué d'art finalement, car ... tout cela n'est que 'stupide site sans intêret / ou expérimentations sans finalité (avec ou sans flash d'ailleurs )

Ah oui et dans ce cas ? elle est où l'utilité des chromeExperiments alors ? A part à jouer à 'quiquialaplusgrosse' ? bref arrêtez un peu de dire n'importe quoi, et de penser que les 'bons' flasheurs se retrouveront à la rue parce que adobe caylemal !!

Si demain une techno meilleur que flash apparait sous bien des aspects, c'est tant mieux !
Mais aujourd'hui, y'a rien! alors calmez vous les files !

Merci

avatar Yohmi | 

cdou59, il faut pas faire caca comme ça ;) j’ai jamais dit que j’étais contre les expérimentations ou les œuvres ;)
Ce sont des expérimentations, ou des œuvres, pas des sites Internet à proprement parler. Ça ne veut pas dire qu’ils ne devraient pas exister. Ils ont le droit de faire ce qu’ils veulent, les gens. Si les « artistes » veulent que leur « public » soit obligé d’installer un logiciel pour voir leurs œuvres, c’est leur problème.
De là à légitimiser l’emploi injustifié de cette techno mal optimisée (quelle qu’en soit la cause) sur des tonnes de sites qui s’en passeraient volontiers et sur des lecteurs vidéo, non.
Je suppose que mon avis serait différent si Flash fonctionnait bien, et que je dirais « oh, c’est pas grave ». Mais tout à l’heure, par curiosité, j’ai visité des sites proposés sur thefwa. Parfois, je clique et il ne se passe rien. Je passe sur le défilement qui n’est pas toujours reconnu. Et je suis allé sur un site tout bleu, là. Ça n’a pas planté, mais ça ramait tellement que j’ai été contraint de quitter l’application car je n’étais même pas capable de fermer la fenêtre. Et c’était comme ça quand j’étais petit sur mon PC. Maintenant que je suis presque grand, c’est pareil sur mon Mac. Il y a un problème quelque part avec cette technologie.

Je ne suis qu’un utilisateur.

avatar Vivid | 

>Nonoche

autant pour moi... :-)

maintenant flash est surement écrit en POO.

avatar BioSS | 

Mdr Vivid. La POO c'est pas un language, c'est une façon de coder. Ca peut se faire aussi bien en c++ qu'en as3.

avatar Vivid | 

>BioSS
"La POO c'est pas un language, c'est une façon de coder.
Ca peut se faire aussi bien en c++ qu'en as3."

si ton interprétation est aussi bonne que ton code...pffff ;-)

c'était pour mettre le doigt sur la qualité du code final.. en POO, mais c'est une autre histoire...

avatar BioSS | 

La POO ne préfigure aucunement de la qualité du code. On peut avoir de la POO foireuse comme du code bien statique très performant.

avatar clasp | 

@Sarbogast : Pourquoi Apple dévellope la machine virtuelle Java pour mac OS X elle même si java est propriétaire? En suite avant snow leopard il n'y avait pas de version de java 6 compatible 32 bits. Leopard utilise sur mac 32 bist java 5, et pourtant j'ai pu installer une version open source de java 6 sous Leopard qui fonctionne en 32 bits, ça s'appelle soylatte et va être repris dans le open jdk compatible OS X.

@BioSS le problème de Flash c'est que c'est tout sauf optimisé, alors oui ça permet de faire des jeux facilement pour le web, donc à des designers de se passer de dévellopeurs. En ce qui concerne les codecs, il est possible d'avoir un player de video dans une page web qui ne soit pas en flash, par exemple en utilisant Java Server Faces, mais c'est sûr que là il faut des compétences de dévellopeurs...

Pages

CONNEXION UTILISATEUR