L'autre raison de l'absence de Flash sur l'iPad (et l'iPhone)

Anthony Nelzin-Santos |

Morgan Adams, un développeur spécialiste de Flash, est revenu à l'occasion d'un long article sur l'absence de support de Flash sur iPhone et iPad. Il rappelle que si Flash n'est pas supporté sous iPhone OS, ce n'est pas (uniquement) pour ses problèmes de performance ou d'autonomie.

C'est aussi parce qu'une propriété fondamentale de Flash ne peut pas fonctionner sur la plupart des interfaces tactiles, en tout cas celles conçues par Apple. Cette propriété, c'est le "mouseover", qui change l'état d'un objet au survol de la souris : un bouton d'une couleur donnée, qui changerait de couleur, par exemple, quand l'utilisateur passerait sa souris dessus.

Cette fonction est très largement utilisée : les boutons du lecteur vidéo de YouTube changent d'aspect et déploient des menus au passage du curseur ; les menus déroulants en Flash utilisent cette fonction, tout comme la plupart des jeux Flash. Or sur iPhone OS, il n'y a point de curseur — et donc de survol du curseur.

YouTube%20-%20Cha%C3%AEne%20de%20iposet

Apple pourrait très bien décider de supporter Flash : le contenu serait en effet visible, en lieu et place des légos bleus qui s'affichent aujourd'hui, mais dans la plupart des cas, l'utilisateur ne pourrait tout simplement par interagir avec le contenu.

iPad Flash

Plusieurs solutions à ce problème pourraient être imaginées, du changement de conception des contenus à de nouveaux gestes multitouch émulant le mouseover (après tout, le mouseover Javascript est à peu près correctement supporté sur iPhone). D'un côté, on imagine mal les développeurs se débarrasser d'une fonction si utile et utilisée pour un seul OS, si populaire soit-il dans le monde des smartphones. Et on imagine mal Apple complexifier ses gestures pour le seul Flash.

Certains brevets d'Apple sur la détection de la proximité d'un doigt, avant même qu'ils ne touchent l'écran, pourraient résoudre ce problème, dans un horizon plus ou moins lointain, mais là encore, se pose le problème du retour de l'information à l'utilisateur : on voit mal la firme de Cupertino utiliser un curseur virtuel…

La situation est donc un peu plus complexe que les piques de Steve Jobs et les réponses d'Adobe ne semblent le laisser penser, et ni le premier, ni la seconde, ne peuvent facilement y répondre. Morgan Adams, lui a trouvé une solution : sur un ordinateur de bureau, c'est le contenu Flash de son site qui est affiché, mais sur iPhone, son site est animé grâce aux animations CSS3 dans Webkit. Via Roughly Drafted

 

avatar virgilerl | 
eh ... tu appuis sur l'écran et tu laisse ton doigt dessus et ensuite tu déplaces désolé, je vois pas la raison, le mouseover peut-être très facilement géré
avatar alargeau | 
@waxime : ce que tu décris est un mousedown.
avatar alargeau | 
Par contre une façon acceptable de simuler le mouseover pourrait être de simuler le mouseover avec un mousedown à deux doigts par exemple. Ca demanderait à s'habituer un tantinet, mais ce serait acceptable je trouve et ça permettrait dans rendre utilisable 99% des applis Flash. En fait il y a une seule chose qui me fait sérieusement douter d'Adobe : Apple ne veut pas de plug-in, OK, mais si Adobe avait proposé son propre navigateur (basé sur le webkit) avec gestion de Flash, Apple aurait eu du mal à le rejeter étant donné qu'ils ont autorisé plusieurs navigateurs alternatifs sans grand intérêt. Adobe aurait même pu faire plus fort et le proposer en open source vu que le format Flash est ouvert.
avatar denisbook | 
c'est simple, le contrat de développeur iphone interdit d'intégrer un "interpréteur" autre que ce qu'Apple a créé. Flash serait rentré dans cette définition, même intégré dans un logiciel complet. C'est sur ce point qu'Apple avait rejeté un émulateur C64 capable de charger des programmes (via wifi ou autre). - Apple ne communique pratiquement pas. On connait l'opinion de Apple pratiquement que par des "on dit" et le peu que Steve Jobs a dit. En gros : "flash n'est pas bon." - Pour apple que flash soit lent, ou qu'il faille inventer des gestes délirants comme ceux imaginés par vous (avec beaucoup d'ingéniosité d'ailleurs) ne fait que démontrer que c'est un obstacle pour apple pour proposer un truc SIMPLE. Apple a toujours procédé ainsi. vous le savez bien. Plutôt que d'inventer un truc malin pour gérer une complication, apple préfère _raser_ la complication, la supprimer. - La disquette c'est compliqué ? pouf, fini le lecteur de disquette - ports séries, ports parallèles, pfioulalala.. hop virons tout ça ! -- le format flash n'est pas totalement ouvert. Adobe ne veut peut être pas mettre en opensource sa propre implémentation de flash et se mettre ainsi en concurrence. Mais c'est effectivement ce à quoi Adobe sera amené entre silverlight et l'obstination google/apple. De toute façon on le sait, TOUS les fournisseurs de navigateurs web veulent _Tuer_ le "plugin", même si cela signifie la mort de flash. Ils vous disent tous "html sera enrichi jusqu'à ce qu'on ait dépassé l'utilité de flash !" A ce propos, Google a annoncé qu'ils allaient progressivement abandonner leur plugin "gears", pour tout proposer au sein de html, de manière standardisée. Ca fait partie du même mouvement. En quelque sorte, Flash est un dommage collatéral. et comme d'habitude, Apple s'en moque éperdument. et ca n'a pas empêché de vendre des ziphon, du coup, apple est ultra-convaincu.
avatar royalmistral | 
Merci pour cette analyse, Oomu. Très intéressant, comme d'habitude.
avatar abeerzen | 
m'enfin si ce n'est que ça, au lieu de descendre comme ça Adobe sans réel argument, suffisait de dire que c'était pq Flash n'était pas encore compatible avec une technologie comme le multitouch. Ca aurait été beaucoup plus constructif, ça pousse à l'amélioration au moins (pq là franchement..) Fin je dis ça et en fait je suis bien d'accord avec iBoss, Flash c'est quand même une belle crasse quoi! Ca va faire un an que j'ai des problèmes avec et que j'ai certains sites qui s'affichent plus bien comme MySpace. Et rien à faire, je trouve pas de solution :S
avatar royalmistral | 
Pour ceux qui ne liraient pas l’anglais, il peut être intéressant d’apporter à l’article d’A. Nelzin les compléments suivants. Morgan Adams cite une autre raison pour laquelle l’usage de Flash pose problème avec un écran tactile du type iPad  : la nécessité, dans certains jeux, de l’usage d’un clavier physique, dont certaines combinaisons rapides ne pourraient être restituées avec le clavier virtuel, outre que celui-ci bloquerait une partie de la vue du jeu. Bref, les jeux sur écran tactile exigent des contrôles adaptés à ce type d’écran. Il envisage cinq solutions possibles pour résoudre le problème, avec chacune ses faiblesses  : A) Repenser et réécrire le code de chaque application... Ce qui ne serait guère plus simple que de tout repenser sans Flash. B) Créer de nouveaux gestes ou des boutons supplémentaires afin de simuler le survol du curseur  : complication notable qui n’en vaut pas la peine et contribuerait à affaiblir la qualité de l'expérience dans les jeux. C) Rendre l’action de cliquer en elle-même plus complexe (double tapotement ou tapotement à deux doigts), alors que ces actions sont déjà utilisées par certaines applications. D) Disposer d’un pointeur virtuel, ce qui va à l’encontre du principe de manipulation tactile directe. E) Utiliser plusieurs niveaux de force ou de pression pour déclencher une action, ce qui va dans le sens d’une plus grande complexité d’interaction. En conclusion, il n’est pas juste à son avis d’affirmer qu’Apple a refusé de supporter Flash. Cela ne pouvait, en toute logique, pas être fait, parce qu’une souris n’est pas un doigt et que les sites en Flash sont conçus pour associer pointeur de souris et clavier. Actuellement, rien ne peut procurer à l’utilisateur d’un écran tactile une expérience acceptable avec les sites en Flash d’aujourd’hui  : « The thing so many complainers want is simply an impossibility ». Ce ne sont que quelques précisions, l’article d’A. Nelzin me semblant avoir bien résumé l’essentiel.
avatar Sonny972 | 
ce n'est pas tres grave j'acheterais HP Slate au lieu de l'iPad
avatar branlouk | 
Oui et ? On parle d'une incompatibilité de fonctionnement de Flash avec les interfaces tactiles, ce qui est le cas de ton HP je crois.
avatar VincentGouv | 
Du coup je me demande si le jeu est un cas d'usage pertinent pour l'iPad.... (je suis pas sceptique, je me demande vraiment en toute innocence)
avatar aldayo | 
Sauf erreur de ma part, l'évènement "Mouseouver" existe aussi en html/javascript et peut être utilisé par des sites. Je trouve l'argument fallacieux, même si ne pas avoir de Flash sur mon iPhone ne me gene en aucun point, et suis le premier a râler quand le ventillo du macbook se met en marche...
avatar branlouk | 
La liste d'arguments en faveur du NoFlash commence à être longue !
avatar Bambouille | 
Un écran tactile connecté à un PC comprend très bien le mouseOver dans une anim Flash. Il suffit de maintenir l'appuie sur l'écran et de passer le doigt sur la zone receptive au mouseOver... L'argument est vraiment fallacieux comme le dit Booboo. Il faudrait juste avancer qu'une interface concue pour la souris (petites zones de clic et, éventuellement, usage du mouseOver) n'est pas totalement adaptée à la navigation tactile... et là, Flash n'y est pour rien...
avatar royalmistral | 
L'argument n'est pas fallacieux car l'article de Morgan Adams ne fait pas du tout référence à une impossibilité technique absolue d'interagir tactilement avec des sites en Flash. Il se contente de constater que le rapport coût-efficacité des modifications à apporter pour adapter des sites en Flash à la navigation tactile n'est pas satisfaisant. Il y a forcément dans ce jugement une part de subjectivité. Cependant, il ne provient pas d'un officiel de chez Apple : l'auteur développe des sites en Flash et n'a aucun intérêt personnel à scier la branche sur laquelle il est assis.
avatar Bambouille | 
Il suffit peut-être d'une simple surcouche dans Flash pour que le mouseOver soit compris : quand l'utilisateur reste 1 seconde sur une zone de clic, le mouseOver est déclenché. C'est plus simple que les mouvements multi-doigt ou la prise en compte de la distance (où va-t-on ? Faudra bientôt un brevet de pilote tactile ?). C'est déjà comme cela que les logiciels gérant les dalles tactiles traduisent le clic droit. De toute façon, rien à l'heure actuelle n'est conçu pour le tactile. Mettre Flash particulièrement en cause, c'est déjà biaiser le débat pour mettre Flash hors jeu. Le mouseOver (ou rollOver) n'est pas une spécificité de Flash. On le trouve partout : menus déployants, info-bulles...

CONNEXION UTILISATEUR