lundi 12 avril 2010
« Go Screw Yourself, Apple »
Par Étienne, lundi 12 avril 2010 :: le truc affligeant de la semaine
Avant d’être agressif et de me faire traiter d’anti Apple ;-), voici une photo prise dans mon salon ce weekend (et oui j’ai même un iPad!), juste pour vous montrer que j’utilise beaucoup les produits d’Apple (même si dans un coin caché j’ai un Vaio et un Dell).
De plus je suis totalement agnostique concernant les technologies (et même pour le reste;-), j'utilise aussi bien du Flash, Flex, javascript, PHP, Html, Processing, Arduino... suivant les cas. Par contre je dois admettre que je prototype mes projets le plus souvent en Flash, car je pense que malgré ses défauts c’est un outil très rapide et assez simple d’accès (pour un non développeur) permettant de faire des maquettes présentables (graphique et interactive) permettant de faire les bons choix pour la suite d’un projet (technologique + design).
Et pour finir, je ne suis pas Adobe Fan Boy comme le prouve mes articles précédents concernant la CS4 par exemple.
Un petit résumé de la petite guerre qui vient de se transformer en guerre thermonucléaire entre Apple et Adobe.
Au lancement de l'iPhone, Apple sous des prétextes de consommation d'énergie et de lourdeur (au sens consommateur de ressources CPU) refuse de voir le player Flash s'installer sur son navigateur Safari.
Adobe (à ma connaissance) développe un nouveau player adapté et mieux optimisé, mais Apple fait toujours la sourde oreille.
Toujours dans la même logique Apple refuse aussi des applications sur son AppStore qui ne correspondent pas à son image (genre application érotique... mais laisse passer tout de même les coussins péteurs...) bref on se retrouve un peu dans la même configuration que Nintendo avait inaugurée au début des années 80 en autorisant qu’une poignée de développeurs à proposer des jeux sur sa plateforme (la NES). Cette pratique très critiquable de Nintendo, eut tout de même comme effet d’augmenter la qualité des jeux sur sa console et relança le marché de la console de jeu (qui s'était écroulé après l'avalanche de titre très médiocres sur la console phare de l'époque : l'Atari 2600).
Actuellement Sony et Nintendo continuent cette pratique, c'est à dire qu’un nouveau jeu, doit être validé par le constructeur de la console, un peu comme si un film de Michael Haneke ou de Todd Solondz devait être validé par Sony et Samsung pour avoir le droit d'être diffusé à la télé, on croit rêver, mais les développeurs n'ont pas trop le choix et doivent se plier à ces contraintes sous peine de se voir Blacklister et leurs créations refusées. Ce qui entraine donc une grande uniformité dans les jeux vidéos actuels sur console.
Ces constructeurs censurent les développeurs et des produits pour notre bien, ils nous protègent car nous ne savons pas ce qui est bon ou mauvais pour nous (pauvres consommateurs)! bref cela me fait froid dans le dos ce genre de chose (voir la citation d’Umberto Eco à la fin de ce billet).
Revenons à Apple et Adobe,
en prenant acte de cette fin de non recevoir de la part d’Apple, Adobe décide de permettre de créer directement des applications Iphone (.ipa) via sa nouvelle version de Flash (la version CS5 qui est annoncé officiellement aujourd'hui). Nous n’aurons donc toujours pas de flash sur le web sur nos iPhones (via le player qui est toujours refusé par Apple), mais nous pourrons avoir des applications développés par flash sur iPhone. Je teste l’iPad en ce moment, ne pas avoir de player Flash sur cette machine commence à devenir très pénalisant, car contrairement à un iPhone ou nous avons bien conscience de surfer sur un téléphone (et nous sommes donc moins exigeant en terme de rapidité et de confort de navigation), mais avec un iPad nous avons beaucoup plus l'impression d'avoir un mini ordinateur entre les mains (alors que ce n'est qu’un gros iPod Touch) et il est beaucoup plus désagréable de se retrouver avec des sites indisponibles à cause de cette incompatibilité entre flash et le système d’Apple. Avec un iPhone nous surfons dans un but souvent utilitaire (recherches d’infos textuelles, wikipedia, pages jaunes...) alors qu’avec un iPad et son grand écran, nous surfons plus par plaisir de la découverte sans but précis, et l’aspect « multimédia » est beaucoup plus important (on rencontre donc beaucoup plus facilement des sites utilisant Flash).
Avec cette nouvelle version de Flash CS5 (nom de code Viper), les développeurs ont donc la possibilité de créer via Flash et son langage (AS3) des applications iPhone et iPad. Pour l’utilisateur final c'est totalement transparent, il ne peut faire la différence entre une application développée via Flash ou via un autre langage comme le C++ et l’Objective C (attention je ne rentre pas dans les détails techniques, j’en parlerai dès que la CS5 sera officiellement sortie).
Personnellement je trouvai cette alternative très satisfaisante, car je pense que dans le futur nous allons avoir beaucoup de micro applications spécifiques (comme les applications des journaux Libération, Le Monde...) et voir une décroissance des sites web. C'est à dire qu'un journal en ligne va préférer créer sa propre application personnalisée sur iPhone, Androïd... que de se lancer dans un grand site web (mais l'un n'empêche pas l’autre).
Un des grand avantage de travailler avec Flash (je détaillerai dans un autre billet le pour et le contre) et que quelque soit le « device » de sortie, que vous travaillez pour une application iPhone, Androïd, Nokia, Samsung, HP, iPad, Tablet PC, Windows, MacOSX, Linux... le cœur du code reste le même (même si vous pouvez faire des adaptations graphiques par la suite suivant la taille de l'écran).
Je teste depuis plus de quatre mois cette nouvelle version de Flash CS5, et je peux vous dire que le travail des développeurs de chez Adobe est absolument remarquable.
La création d’application iPhone est totalement transparente et l’ aspect formel de vos création est totalement maitrisé (ce qui est un avantage incroyable pour la presse en ligne, avec respect du choix de la police de caractère, interlettrage, interlignage, antialiasing, encombrement du texte...), le débogage et les tests entre les différentes versions sont très simplifiés (en gros si ça marche sur mon Mac, ça marchera encore mieux et plus vite sur PC, si ça marche sur mon iPhone ça marchera aussi sur mon Androïd...). il faut bien sur ne pas imaginer refaire un jeu en 3D temps réel avec Flash sur un iPhone, et préférer le C++ pour ce genre d’application, mais pour 80% des applications (e reader, les lecteur de flux rss, cadre photo, recette de cuisine, prise de note, reader de Comix...) que l’on trouve sur l’AppStore, développer avec Flash est amplement suffisant (on en reparle très vite dans les semaines qui viennent).
Vendredi dernier, lors d’une conférence annonçant la nouvelle version du SDK de l’iPhone (avec plein de pub dedans), et arrive à faire un des coups les plus tordus que je n’ai jamais vu faire dans le monde de l’informatique
En effet, Apple attaque très en dessous de la ceinture en changeant le contrat que doivent signer les développeurs afin d’obtenir cette nouvelle version du SDK.
Voici un extrait de la nouvelle licence développeur d’Apple : « Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited). »
En trois lignes, Apple anéanti deux ans de travail (au minimum) des développeurs d’Adobe, et coupe le principal argument de vente qu’Adobe avait pour sa nouvelle version de CS5 (juste trois jours avant l’annonce officiel de la CS5 et de la possibilité de faire des applications iPhone avec Flash).
Apple interdit donc de proposer des applications développées en Flash (alors qu’il existe déjà des applications validées par Apple sur l’AppStore faite avec les versions bétas de Flash CS5), mais interdit aussi tout autre langage que le sien (je simplifie). Apple n’autorise donc que le C++, et Objective-C, c'est du jamais vu dans l’histoire de l’informatique (à ma connaissance). En effet, même Microsoft ou IBM dans leurs années agressives et tyranniques n’ont jamais interdit de développer avec un autre langage que le le sien. Bien sûr, Microsoft va pousser ses propres langages et technologies (DirectX, Visual Basic, C#, Microsoft .NET...) mais ils ne sont jamais arrivés à interdire d’autres langages sur Windows.
Apple en voulant exclure Flash de son environnement, pose aussi beaucoup de problème à des logiciels (et environnement de travail) comme Unity, Monotouch, iTorque... bref Apple n'a vraiment pas peur des dommages collatéraux chez les développeurs et est vraiment près à tout pour mettre des battons dans les roues d’Adobe.
Personnellement je trouve absolument désastreux que cet antagonisme envers Adobe amène Apple à se comporter de cette façon et arrive à faire passer Google + MicroSoft + FaceBook + Nokia... pour des bisounours (et même les dirigeants d’Adobe, qui ne sont pas non plus de gentils bisounours, j’en suis sûr).
Interdire un langage, quel qu'il soit est totalement ridicule, ce serait comme interdire une couleur à un peintre, une marque de stylo à un écrivain, un outil à un sculpteur, une langue à un pays... bref que l’on aime Flash (et son AS3) ou pas, là n'est pas le problème, c'est juste une attitude tyrannique absolument injustifiable (interdire un outil!!!!!!!). Qui ne nous dit pas que Steve Jobs ne va pas interdire le C++ au profit de Objective-C dans le contrat de son prochain SDK et imposer le Ch'ti comme langue officiel sur les forums des développeurs d’Apple?
Nous sommes dans un délire totalitaire, et j’espère que la communauté des développeurs (qui j'espère arrivera à prendre du recul avec ses querelles de chapelles : Flash, pas Flash, Open source, pas Open source...) sera suffisamment solidaire pour refuser ce type de contrat.
Là ou la stratégie d’Apple est diabolique, c’est que le discours de Steve Jobs contre Adobe va dans le même sens qu’une partie des développeurs proches de l’Open Source, et Apple arrive à récupérer les critiques de ces gens là (critiques tout à fait respectables et argumentées, même si certain n’ont jamais ouvert Flash ni programmé en AS3 et considère encore Flash comme un soft à faire des bannières de pub et de la lecture vidéo) mais dans un but totalement contraire, c'est à dire protéger le système le plus fermé au monde (l’iPhone, iPad...).
Apple en obligeant l’utilisation des langage aussi complexes que le C++ et l’Objective C va limiter les types d’applications disponibles sur son système. En effet, le C++ n’est pas à la portée de n’importe qui, travailler avec ce genre de langage implique une organisation, une manière de penser très spécifiques et lourde qui ne pousse pas à l’expérimentation (à part de très rares exceptions). Regardez par exemple les applications iPhone des journaux en ligne, elles sont presque toutes identiques et n’ont aucune expérience de lecture spécifiques liée au contenu, elles utilisent toutes le même Frame Work, même animation de scrolling, même bouton, même police de caractère, même ergonomie fournie par Apple (bref un nivellement par le bas ou par Apple pourrait-on dire). On se retrouve donc avec des applications faites par des SSII (qui font très bien leur boulot dans ce domaine), qui sont techniquement très efficaces mais totalement dénuées de sens, de personnalité, de surprise, de poésie...
De même pour l’utilisation de HTML 5, on se retrouve avec des sites très propres (si l'on possède le bon OS et le bon navigateur...), mais qui se ressemblent tous (si on fait du copier coller), sans compter que Flash doit avoir encore des années d’avances dans le domaine de la typographie, de la vidéo et de l’animation par rapport à ce futur standard (je vais encore me faire des copains;-).
De toute façon, Adobe va sortir son Flash CS5 avec sa possibilité de créer des applications iPhone, et les utilisateurs pourront toujours prototyper avec (ce que je fais personnellement) et tester en interne. Pour la diffusion éventuelle nous verrons bien l’attitude d’Apple.
Une autre question, c’est pourquoi autant de haine entre Apple et Adobe?
Adobe et Apple ont une longue histoire commune, les développeurs doivent se connaitre et pour certain collaborer depuis très longtemps. Cette guerre me semble assez disproportionné. Il existe souvent des différents entre des sociétés de ce type mais il est quand même très rare que les dégâts soient aussi grand pour les développeurs.
des hypothèses plus ou moins farfelues
J’avais émis des hypothèses il y a quelques mois :
• Steve Jobs adore avoir des ennemis (avant c'était IBM, puis MicroSoft, maintenant c’est Google et Adobe, demain ce sera Amazon et eBay...), surement une stratégie marketing très sophistiquée...
Avoir des ennemis est aussi une technique de management interne, cela motive les troupes en interne, cette guerre serait donc juste pour augmenter un peu la productivité des employés de chez Apple (qui doivent tout de même être bien occupés;-).
• Steve Jobs entretient envers Adobe une vieille rancune, car une des raisons de l’échec (relatif) du NeXT fut qu’Adobe n’a jamais commercialisé PhotoShop sur cette machine (Adobe a uniquement sorti Illustrator au début des années 90), ce fut rédhibitoire pour la communauté des graphistes et designers de cette époque (le principal marché d’Apple et donc du futur NEXT à cette époque). Personnellement en sortant de l’école, au moment de faire le choix d’acheter une machine je rêvais d’avoir un NeXT (définitivement la plus belle machine de toute l’histoire de l’informatique), mais je me suis retourné sagement vers un Mac (un Quadra 700) car il y avait PhotoShop (et aussi Xpress).
• Steve Jobs a une revanche personnelle envers John Warnock et Charles Geschke, une histoire personnelle qui dégénère
• Apple tente de faire baisser la valeur boursière d’Adobe pour les racheter.
• Apple veut sortir une suite logiciel concurrente d’Adobe. Bon courage, car Adobe a forcé des habitudes chez les utilisateurs et changer d’interfaces va être très très difficiles, surtout qu’Apple ne brille vraiment pas dans la cohérence des interfaces de ses applications (essayez de passer de Motion, Final Cut, iPhoto, Keynote puis iTunes et vous allez très vite comprendre le problème). Par contre Apple est vraiment passé maître dans le design de son OS et de son intégrations avec ses propres devices.
• Adobe riposte en refusant de sortir les prochaines versions de sa suite sur Mac (de toute façons Apple ne va plus que se focaliser sur les machines très grand public et de plus en plus abandonner le marché professionnel, mais le Mac est en gros la moitié du chiffre d'affaire d’Adobe).
• Adobe riposte en rendant entièrement libre Flash, Flex, AS3... oui, oui, oui, oui! (comme le pdf)
• les développeurs d’Adobe arrivent à faire que Flash devienne une interface graphique générique pour le C++, c’est à dire que l’on continue d’utiliser les librairies graphiques et sonores de Flash, la timeline... mais que Flash passe par Xcode (ou autre chose) pour créer des applications natives (je n’ai aucune idée si c'est réalisable).
• adobe baisse ses prix et arrête de prendre les non-américains pour de gros portemonnaie ambulant (visiblement Adobe recommence une politique tarifaire totalement incohérente comme avec la CS4).
• Tout comme Opéra (le navigateur web qu’Apple vient d’autoriser, miracle), Adobe fait son propre navigateur Web avec un player Flash intégré.
• Encore mieux, tout comme le système OnLive (système Game On Demand décentralisé), Adobe installe un système (une application) sur iPhone permettant de surfer d’une manière décentralisé, c’est à dire que l'utilisateur ne reçoit qu’un flux vidéo sur son iPhone, tout est calculé sur un serveur externe beaucoup plus puissant qu’un téléphone et surtout hors des contraintes et autres restrictions d’Apple (ou d’autres).
--> ce que propose une société comme ripcode.com.
• Le Jailbreack d’iPhone va se généraliser chez le grand public, permettant de se libérer des restrictions d’Apple.
• les autres constructeurs (Nokia, Google/Androïd, HP, MicroSoft, Samsung...) vont au contraire pousser l’intégration de flash sur leurs plateformes afin d'attirer les applications les plus innovantes sur leur propre plateforme, Google va redevenir Cool et Apple va passer pour un grand méchant auprès du grand public.
Et pour finir une petite citation d’Umberto Eco datant de 1994 (dans l'hebdomadaire italien l'Espresso) qui me semble de plus en plus vraie.
« Je suis entièrement convaincu que le Mac est Catholique et le DOS Protestant. En effet, le Mac est contre-réformiste et a été influencé par le "ratio studiorum" des Jésuites. C'est un système gai, convivial, amical, il dit au croyant comment il doit procéder étape par étape pour atteindre - sinon le Royaume des Cieux - le moment où le document est imprimé. C'est une forme de catéchisme : l'essence de la révélation est abordée au moyen de formules simples et d'icônes somptueuses. Chacun a droit au Salut.»
————————————————————————————————————
ps : le titre de cet article vient de la conclusion d’un billet de monsieur Lee Brimelow (que je partage totalement) concernant Apple.