Tag Archive for Flash

Adobe contre Apple : un combat de vingt-cinq ans

(Attention, billet long…)

La fameuse clause 3.3.1 du SDK d’iPhone OS 4 n’en finit plus de faire parler d’elle. En résumé : cet article indique que « les applications doivent être écrites en Objective-C, C, C++ ou Javascript exécuté par le moteur Webkit d’iPhone OS. Les applications qui pointent vers des API documentées par l’intermédiaire d’une couche de translation ou de compatibilité sont interdites ».

La conséquence directe serait d’interdire les applications générées à partir d’environnements comme de développement comme le tout frais Packager pour iPhone intégré à Flash CS5, ou des outils comme Monotouch, Unity ou encore d’autres.

Les commentaire sont évidemment enflammés, et pour beaucoup, on y voit la main malfaisante d’Apple, qui cherche à brimer les développeurs, en les obligeant à faire de l’Objective-C au lieu d’utiliser des technologies « standard » (je mets « standard » entre guillemets, vous comprendrez plus loin pourquoi).

Surtout, surtout, cela serait le morceau de trop, la preuve de l’arrogance ultime d’Apple et de son mépris pour ses partenaires qui ont tant œuvré pour sa survie durant tant d’années. On doit donc remercier Adobe chaleureusement d’avoir continué à sortir Photoshop & co même lorsque Apple était au fond du gouffre.

Réduire le problème à ce simple débat « Gentil Adobe – Méchant Apple » est bien trop simpliste. La situation est particulièrement complexe, tout comme les relations entre Apple et Adobe.

Pour bien comprendre pourquoi il y a tant d’enjeux aujourd’hui autour d’iPhone OS, il faut repartir à l’origine de la discorde entre Apple et Adobe. Pour moi, elle commence dès 1985, lorsque Apple sort la première LaserWriter. Pour utiliser celle-ci, il fallait envoyer des fichiers utilisant le langage de description de page PostScript. Apple a donc acheté et intégré de juteuses licences PostScript dans ses imprimantes. Sans oublier le coût des polices PostScript, qu’Adobe faisait payer le prix fort. Avec parfois quelques subtilités : par exemple, pour créer des polices PostScript type 1 de meilleure qualité que les PostScript Type 3 , il fallait investir lourdement, les licences proposées par Adobe étant particulièrement coûteuses. C’est ce coût qui a poussé Apple à créer la technologie TrueType et à la licencier gratuitement à Microsoft. Quelle a été la réaction d’Adobe ? Hop, on publie gratuitement toutes les specs de PostScript Type 1… Il n’y a pas mieux que de couper l’herbe sous la concurrence.

Faisons un petit bond dans le temps… En 1997, juste après le rachat d’Apple par NeXT, ou le contraire, on ne sait plus trop. La migration vers Mac OS X va obliger les développeurs à migrer les applications du C++ vers Objective-C. Et ça, ça ne plait pas vraiment à Adobe, Microsoft ou Quark, car ça veut dire beaucoup de travail pour adapter leurs applications vers Mac OS X. Pour éviter de froisser les susceptibilités, Apple crée l’API Carbon, qui va permettre une transition en théorie plus simple des applications héritées de Mac OS vers Mac OS X. Seulement, cela a une conséquence directe pour le développement sur Mac OS X et pour les utilisateurs : certes le travail de développement est facilité pour les développeurs, mais la maintenance de deux API (Carbon et Cocoa) est un travail colossal, épuisant nombre de ressources humaines et rallongeant d’autant les cycles de développement. 1. Carbon a été annoncé comme abandonné depuis 2009, et des logiciels comme la Creative Suite 5 viennent juste d’être portées vers Cocoa… Dix ans de perdus.

Ensuite, il a fallu un temps très long à l’époque pour voir arriver Photoshop en version Mac OS X : alors que ce dernier est sorti en mars 2001, on ne vit débarque Photoshop 7 qu’un an après. Même Quark XPress et Office vX étaient sortis bien plus tôt. Ouch.

Les problèmes ont continué quand Apple a décidé d’intégrer des technologies pour accélérer le fonctionnement des applications graphiques, en particulier Core Image. On aurait pu voir arriver des modules fantastiques pour Photoshop s’appuyant sur les fonctionnalités de Mac OS X. Pas de chance : chez Adobe, on développe pour du multi-plate-formes, même si ça veut dire négliger les fonctions standard du système, et ce même si cela peut avoir un impact sur les performances pour l’utilisateur.

Cette tendance au mépris de la plate-forme s’est accentué avec l’arrivée de « l’interface Adobe » : depuis quelques versions, la Creative Suite propose ses propres modèles de fenêtres, palettes, au mépris des conventions du système, qu’il s’agisse de Windows ou de Mac OS X. Plutôt que de faire plus de travail et de bien nous intégrer à chaque OS, autant mal nous intégrer aux deux ! Après tout, cela sera bien plus simple pour les gens qui travaillent sur les deux systèmes… Même si le pourcentage de clients qui passent d’une plate-forme à l’autre régulièrement est sûrement peanuts. On se retrouve donc avec une interface dans l’interface, pour faciliter le travail d’Adobe. Et tant pis pour l’homogénéité de chaque système, hein.

Pendant ce temps, Adobe continue sa progression, et innove quand même en attaquant directement Quark XPress avec InDesign. Ce dernier s’est fait rapidement un gros succès par sa bonne intégration à la suite CS, ses innovations technologiques, un tarif agressif par rapport à son concurrent qui lui stagnait autant que son développeur était arrogant… Problème : après avoir utilisé la Creative Suite pour imposer InDesign dans un bundle somme toute bien pensé, Adobe n’a eu de cesse de faire grimper les tarifs de sa suite logicielle. La CS d’aujourd’hui coûte quasiment le double d’il y a cinq ans. Ouch. 2.

Adobe a aussi su se faire remarquer en rachetant Macromedia et ses différents logiciels, dont l’inévitable Flash (tiens tiens). Bien sûr, avant l’acquisition, pas de souci, on continuera le développement des logiciels de Macromedia. Utilisateurs de Freehand, soyez sans crainte ! Enfin pour un an, pas plus hein. Après, à la trappe, vous passerez sur Illustrator, même s’il est beaucoup moins efficace pour votre travail, na ! Au passage, Adobe a aussi racheté des produits comme Golive, qui ont également disparu, la faute au rachat de Macromedia. Merci pour rien, les gars. Sans oublier des softs formidables comme FrameMaker, toujours reconnu comme la référence des outils de création de documents techniques. Zou, en 2004, à la trappe la version Mac OS X ! Il ne reste plus qu’une version Windows XP/Vista à l’heure actuelle… au grand désespoir de beaucoup, pas vrai JCC ?

Adobe, c’est aussi la boite qui a décidé un jour d’arrêter Adobe Premiere pour le Mac (lors de la sortie de la version Pro), pour se raviser en 2006, suite au succès de Final Cut Pro et Final Cut Express qui commençait à lui faire un peu mal… C’est aussi la boite qui a décidé que sur Mac, il faudrait obligatoirement une version d’Acrobat Pro trois fois plus chère que la version Windows pour faire des PDF. Tiens, Acrobat… On pourrait en écrire des pages entières sur ce chef-d’œuvre de lourdeur, de non-ergonomie, dont une grosse partie des composants ne fonctionne que sur Windows (Acrobat LiveCycle Designer ou Acrobat Pro Extended, par exemple). Je ne le ferai pas, John C. Welch l’a fait bien mieux que moi (mais en anglais).

Mais Adobe, c’est surtout, depuis quelques années, la technologie Flash. Et vous savez quoi ? Comme beaucoup à ses débuts, j’ai admiré cette technologie, le fait que Flash permette de faire des sites beaucoup plus beaux, plus interactifs, etc. Malheureusement, depuis quelques années, on a constaté de façon assez étonnante des différences de performance entre les versions Windows et Mac de Flash assez bizarres. Chez Adobe, on fait des logiciels pour les technologies du futur, alors optimiser, hein, c’est pour les faibles ! J’exagère ? Si peu… Flash s’est cependant imposé, car c’était la technologie la plus pertinente et la plus standardisée pour créer des jeux, des sites intégrant du contenu multimédia, et bien d’autres de façon assez simple. En particulier, Flash s’est imposé comme LA méthode de diffusion de vidéo… même si elle fait passer les processeurs les plus rapides à 99% d’utilisation pour afficher des images qui bougent.

Le problème, c’est qu’avec le temps, la technologie est donc devenue lourde. Et surtout, HTML5 propose de remplacer en grande partie Flash par ses possibilités d’animation et d’intégration vidéo, sans passer par un plug-in. Et l’iPhone a clairement montré qu’un monde sans Flash était possible. Il est peut-être temps que Flash disparaisse pour laisser la place à un vrai standard.

Mais que peut-donc penser Adobe de tout cela ? Pas compliqué : ses outils permettent de créer le contenu Flash. Mais plutôt que de penser à se pencher vraiment à fond vers HTML et estimer qu’il était désormais temps à Flash de laisser la place au vrai standard, elle décide d’aller encore plus loin dans l’intégration ! « Write Once, Run Everywhere »… Flash est le nouveau Java selon Adobe. Malheureusement, cette fameuse promesse de Java n’a que rarement été tenue : il n’est pas rare de tomber sur un applet Java qui requiert l’usage de Windows… De même, certains développeurs n’apportent le maximum de support technique qu’aux versions de Java tournant sur un ordinateur équipé de Windows. Enfin, il est clair que pour faire du WORE (ahem), il faut délaisser l’optimisation pour des plate-formes spécifiques, et donc créer un nivellement par le bas. Il est impossible qu’une technologie fonctionne de façon standard, partout, de façon archi-optimisée. Sinon, quel intérêt de faire des produits différents… Si c’est pour retrouver la même chose que chez les autres ? Où est le caractère de différenciation ?

Pour Apple, le message a été clair dès le départ : pas de Flash pour l’iPhone. Et chez Adobe, on est furax à l’idée de ne pas pouvoir faire tourner Flash sur l’iPhone, l’iPod touch ou encore l’iPad (cf les différents commentaires sur les différents blogs des gars d’Adobe). Imaginez : une société décide de ne pas se soumettre à la puissance du Dieu Adobe ! Désolé les gars, mais Apple a aussi le droit de décider des technologies compatibles avec ses appareils. Tout comme Adobe peut décider sur quelles plate-formes ses logiciels tourneront, avec ou sans l’avis de leurs anciens clients (voir par exemple les polémiques sur Adobe qui refuse que Microsoft intègre le PDF dans Office (ça semble avoir changé depuis), ou de donner accès à l’intégralité des fonctions de Flash pour raisons concurrentielles). Pour Apple, l’utilisation de Flash mettrait à genoux les appareils portables côté autonomie. 3 Les performances des applications portées de Flash vers iPhone sont par ailleurs pour le moment assez pitoyables… Pas vraiment de bonnes citoyennes.

La décision de couper court à tout environnement de programmation pour porter des logiciels en Flash vers iPhone OS peut sembler arbitraire, mais demeure finalement très logique. De même, Apple n’a pas peur de prendre des décisions radicales avec des technologies obsolètes : lecteur de disquettes, ports série, SCSI, PowerPC…S’il y a bien une entreprise capable de couper avec le passé, c’est bien Apple. Alors que pour Adobe, il sera difficile de tenir tête. Elle ne peut pas se permettre de cracher aujourd’hui sur une plate-forme qui représente une partie non négligeable de ses revenus et qui fonctionne très bien sans elle. 4. Si l’iPhone ne se vendait pas, Adobe aurait de quoi faire levier, mais en l’état actuel, il n’y a pas de concurrent valable à l’iPhone qui pourrait remettre Flash sur le devant de la scène mobile.

Flash est désormais un dinosaure de l’informatique. Le succès des logiciels bloqueurs de Flash comme Click2Flash montrent l’agacement de plus en plus important envers Flash. Adobe génère aujourd’hui du Flash, mais pourquoi ne pas embrasser dès aujourd’hui le HTML5 à fond ? Certes il y a un export Flash -> HTML5 disponible dans Flash CS5… Mais Adobe semble moins le mettre en avant que son export pour iPhone. Ne serait-il pas à la hauteur ? Ou parce que cela serait admettre qu’il existe une autre piste que Flash pour le Web ?

De technologie puissante et créatrice, Flash est devenu le nouveau Java, avec une promesse « écrit une fois, lisible partout ». Cette promesse est cependant irréalisable et crée un nivellement par le bas, ce qui est inacceptable pour une boite comme Apple. Il est désormais temps de laisser la place aux successeurs de Flash, basés sur de vrais standards… mais Adobe n’aime pas trop les standards qui ne lui appartiennent pas (tiens tiens). Et si Apple doit utiliser la méthode forte pour éliminer Flash, croyez-bien qu’elle n’hésitera pas à le faire. Même – et surtout – si cela doit gêner un ami de trente vingt-cinq ans…

À lire également (en anglais) :
– Le point de vue de Jean-Louis Gassée (ex-DG d’Apple France et ancien VP d’Apple), dans ses Monday Notes ;
– Un autre article-fleuve de Daniel Eran Dilger sur RoughlyDrafted.

  1. Même si de nombreuses applications d’Apple ont pu bénéficier aussi de l’aide de Carbon, en particulier le Finder, il n’est pas sûr que les ressources mises sur Carbon n’auraient pas bénéficié à réécrire un Finder en Cocoa bien plus rapidement. Ce dernier n’est arrivé qu’avec Snow Leopard…
  2. Et ne pensez pas faire des économies en l’achetant en ligne : pour télécharger la CS4, il vous en coûtera la bagatelle de 30€… Et pourtant, Adobe estime être une compagnie verte. Eh ben
  3. L’expérience sur les téléphones portables compatibles Flash semble montrer qu’Apple a vraiment raison sur ce point.
  4. Et quand bien même elle le ferait, je suis convaincu que ça n’embêterait pas plus Apple que ça puisque 1) chaque Mac peut faire tourner Windows et 2) Apple doit probablement avoir un Photoshop Killer prêt à sortir au cas où dans les labos. Ne rigolez pas : Mac OS X pour Intel a été un fantôme pendant 5 ans.