Le modèle Apple en question

La politique d’Apple m’a souvent déçu. Je constate que leur approche trés propriétaire continue et c’est dommage. Un développeur vient de se voir refuser la diffusion de son application sur IPhone car elle vient concurrencer ITunes. J’ai justement cet aprés midi un débat avec des Mac lovers je vous le livre ici tel quel :

Le débat débute par un échange entre Jérôme et Stéphane au sujet des développements sur IPhone, Stéphane venant de porter notre application ResUrgences sur IPhone

Stéphane > La version iPhone de ResUrgences est sans prétention aujourd’hui, c’était surtout pour me permettre de découvrir le sdk et faire une démo technologique. Le gros problème (le seul à mes yeux), est la NDA qui le couvre et qui interdit d’échanger sur des forums. C’est une sacré perte de temps en tâtonnement pour comprendre comment marche certaines librairies ou la frustration de se contenter des exemples d’Apple (assez bons
pourtant).

Jérôme > En fait j’étais dans les locaux au moment de la présentation de la version iPhone de Résurgences il y a an un (je viens d’ailleurs de revoir la vidéo sur Youtube). Mais il s’agissait de dev basé sur AJAX (html+javascript) et non pas le SDK en Objective-C sorti en mai. Je sais que Stéphane a déja développé en Cocoa auparavant (applis sur
son site) en plus de WO (et il m’a même filé une licence ADC !).

Je suis d’accord Stéphane au sujet du NDA, tout le monde s’en plaint. Mais c’est purement stratégique (tout comme son absence pour la v1 de l’iPhone, Apple paufinait son SDK et voulait sucsiter une attente) : tout le monde s’engouffre dans le dev pour l’AppStore (pas mal de français indépendants d’ailleurs), du fait de la répartition très avantageuse pour les créateurs (et Apple s’occupe de tout), qui permet des prix très bas, donc de grosses ventes et au final un retour intéressant. Du coup l’open source en prend un sacré coup, ce n’est d’ailleurs sans doute pas une coincidence ce qui se passe autour de Spring Source… Apple a montré la voie d’un système économique viable… pour les créateurs
et les utilisateurs… exit les intéremédiaires (plus qu’Apple…) qui bloquent l’innovation. On se croirait au début des années 80 avec les gars qui programmaient chez eux pour Oric ou autres (Eric Chahi, etc.) et les petites boîtes amateur à la Loriciels.
Une fois que tout le monde aura admis que l’AppStore est la référence (c’est le cas pour l’ITMS… tous les autres sites du genre sont ko et même les éditeurs vidéo qui avaient lâché Apple reviennent…), Apple pourra ouvrir davantage sa plateforme, puisque le modèle sera imposé et accepté. Même Microsoft reconnait ce génie marketing en interne.
Avec Chrome, Android et l’HTC G1, Android Market, Google a encore une fois démontré son incapacité à présenter quelques chose d’élégant et de vraiment nouveau, il ne fait que suivre… comme Microsoft avec son store
tout aussi peu inspiré (Apple possède plus de 5 années d’expérience avec l’ITMS, elle gère parfaitement et simplement son infrastructure, sans véritable coût additionnel pour l’AppStore… tout est basé sur le même socle… WebObjects).
Ne nous trompons pas, l’iPpod était un cheval de troie pour imposer le mac, et l’iPhone et l’AppStore sont là pour imposer l’objective-C, afin d’augmenter la base de dév de pointe. C’est la première étape avant le déploiement du client riche (RDA) d’Apple : QuickTimeX et/ou Cappuccino.
Et qui de mieux placé qu’Improve pour abborder cette nouvelle ère où tout le monde (tous les langages et outils) a sa chance. Le meilleur l’emportera car c’est la fin de la dictature du modèle Sun/Java et de l’open source, les client sont prêts à payer du moment que ça marche bien. Java a réussi côté serveur, donc WO c’est lo pour le moment, mais côté client rien n’est satisfaisant comparé aux technos Next d’un côté, et à QuickTimeX qui sera la réponse au container Flash/Flex/AIR. Après tout pourquoi ne pas programmer en Lingo ou Hypertalk (ou avec le plus récent AppleScript) si on est satisfait par ActionScript ou javascript !
La vérité est qu’il est absurde de décrire une interface en XML (Flex, Silverlight), ou de générer du code tout pourri qu’il faut retoucher (Swing et Visual Editor)… le binding dynamic est la solution… Objective-C + Interface Builder, validés et approuvés depuis presque 20 ans. Pratiquement pas de code à écrire, et runtime qui ne souffre pas des limitations de la VM java. QuicktimeX offrira tout cela, enfin j’espère sinon la honte 🙂

Seb > Etant un utilisateur de WebObjects au quotidien et un ancien développeur Objective-C, je ne suis pas aussi adhérent à la vision Apple.
Le problème reste le même : une techno propriétaire qui ne marche que si tout est Apple. On le sait ces démarches fermées ne sont pas pérennes, la preuve en est que si Apple est passé à Java plutôt qu’Objective C pour WebObjects c’était aussi pour sauver le produit sinon aujourd’hui on aurait du l’abandonner à la santé.
Et puis ne nous méprenons pas, aucun SI n’est entièrement géré par une architecture full Apple la ou Sun et Microsoft le font. Apple ne s’est pas intéressé au SI et aux grandes architectures. Alors il est vrai qu’ils sont en avance en terme d’ergonomie et d’outils de conception d’application (je reste un fervent adorateur de Interface Builder). Mais s’ils avaient ouvert leur API et vendu leurs outils pour développer des applications multi-plates-formes aujourd’hui on ne ferait peut être que de l’Objective C. Mais bien que rien ne nous empêchait de le faire (IB permet de développer des applis full Java) sans l’ouverture il n’y a pas d’adhésion.
Maintenant ce profil le monde du mobile, ou la diversité des OS et des langages et outils pour concevoir est très diverses. Mais regardons en arrière, cela ne ressemblerait pas à ce que l’on a vécu il y a plus de 10 ans avec les PC.
Apple continue dans cette voie et même si ils sont encore une fois les meilleurs je pense qu’il font les mêmes erreurs. De plus je n’ai pas trouvé Android moins bien qu’IPhone, pas mieux j’en conviens mais pas à la traine non plus.
Il est vrai que l’open source vit des difficultés, mais c’est aussi parce que l’on confond trop souvent open source et freeware. Un open source selon moi doit couter cher et répondre à des attentes fortes : pérennité, maintenabilité, evolutivité. Ce à quoi les mondes propriétaires ne peuvent pas répondre, justement parcequ’ils sont propriétaire.
Ce dont je rêve c’est qu’enfin Apple change son fusil d’épaule, ouvre ses APIs qui de toute façon ne leur rapporte rien, vendent leurs outils de dev. Mais ce n’est pas la politique, Apple veut rester maître d’une plate-forme à part entière et n’ont pas envie de gérer des problèmatiques liés à l’ouverture. Donc IPhone+SDK ne changeront pas la donne et n’atteindrons pas plus le monde l’entreprise que ce qu’ils font déjà avec MacOS. Apple restera sur son créneau d’innovation technologique pour le end user.
C’est dommage et même si je crois toujours aux UI en XML encore pour des raisons de maintenabilité, d’évolutivité et de perennité je regrette amèrement mon .nib 😉

Stéphane >

Ce dont je rêve c’est qu’enfin Apple change son fusil d’épaule, ouvre ses APIs qui de toute façon ne leur rapporte rien, vendent leurs outils de dev. Mais ce n’est pas la politique, Apple veut rester maître d’une plate-forme à part entière et n’ont pas envie de gérer des problèmatiques liés à l’ouverture.

Ce sujet a été mille fois discuté sur les forums WO, et il est récurent.
Les raisons qui m’ont paru les plus crédibles, expliquant l’attitude d’Apple, sont qu’ils n’ont aucun intérêt financier à ouvrir toutes leurs APIs (ils ouvrent celles qu’ils ne supportent/supporteront plus: monitor/wotaskd, outils de dev avec la migration Eclipse/WOLips).
En effet, ouvrir veut dire prendre en charge tout ce que cela implique en gestion de projet open-source, et ils doivent penser que cela n’en vaut pas la peine.
Le contre exemple parfait est WebKit: c’est open-source, c’est adopté par des gros (Google, Adobe, Nokia, …). Cela prouve bien qu’Apple sait faire de l’open-source et connaît l’intérêt de la chose, mais seulement quand ils estiment que l’investissement aura un retour significatif. Ce n’est malheureusement pas le cas de WO, et personne n’a encore réussi à les convaincre du contraire.

[…]De plus je n’ai pas trouvé Android moins bien qu’IPhone, pas mieux j’en conviens mais pas à la traine non plus.

Dans les bas niveaux, je ne peux pas dire qu’Android est mieux ou moins bien que le sdk du iPhone. Mais au niveau UI et ergonomie, il n’y a pas photo: Android c’est moche et bâclé.
Et c’est souvent cette partie (l’ergonomie, la facilité d’utilisation, l’expérience utilisateur) que l’open-source néglige, car:
. cela demande un investissement conséquent
. que c’est fait par des gens qui sont rarement dans les sphères de l’open-source
. que ceux qui font de l’open-source pensent que c’est la techno qui doit être sexy, et non son utilisation (je sens que je vais faire râler)

et que le débat continue … 😉

3 réflexions sur « Le modèle Apple en question »

  1. … j’avais oublié de préciser que le bridge Objective-C/Java (date de 1999) est abandonné par Apple depuis un an (pour Cocoa du moins). En fait les perfs du bridge étaient assez mauvaises, mais je pense que WO en Java était plutôt une réécriture complète donc ça ne doit pas gêner je pense ? En tous les cas déjà les anciens outils WO Builder et autres ne sont plus supportés, et on se retrouve dans une situation intermédiaire un peu bancale car le plugin WOLips ne propose pas encore de WYSIWYG (c’est prévu). Pour revenir au langage, Apple pousse Objective-C (ils n’ont pas sorti une version OBJC2 avec garbage collector pour rien…).

  2. Bonjour à tous,

    J’avais loupé cette suite d’échanges très riche, je suis content que ça
    puisse alimenter une petite discussion sur IT Aware, c’est motivant !

    Comme d’habitude je partage vos deux points de vue. Personne ne veut
    d’Apple dans le monde de l’entreprise : raisons stratégiques, volonté de
    ne pas se limiter à un seul acteur (pas de pb évidemment quand c’est
    Microsoft ou IBM… ça sert de responsables en cas de pb, et les
    décideurs ne sont pas inquiétés car ils ont fait le même choix que tout
    le monde, la sûreté et la référence… que ça ne marche est
    accessoire). Et en plus ça permet de conserver les budgets (les outils
    NeXT depuis son rachat par Apple, c’est trop bon marché… donc du coup
    ça dévalorise paradoxalement la solution).
    Bref avec cet énorme marché (un peu artificiel) créé par J2EE, personne
    ne va laisser Apple venir grignoter ces parts de marché de service (IBM
    fait du service, tous les consortiums vendent du service, etc.).
    Sauf qu’Apple n’est pas un concurrent sur le marché du serveur. J2EE a
    gagné, et tous les connecteurs et systèmes de gestion de workflow n’ont
    pas d’équivalent en techno Apple (l’esprit WO n’existe plus que dans
    Tapestry, et surtout Wicket, utilisé ici par une autre équipe).
    Reste le côté client, où Java et les autres ont échoué. Mais comme
    c’est le sujet du moment (normal, c’est fun, c’est du visible) personne ne
    veut aussi d’Apple !

    Quant aux choix d’Apple, là je rejoins plutôt Stéphan : ils n’ont pas
    fait d’erreur depuis 1997, et ils savent s’investir dans l’OpenSource là
    où ça vaut le coup, là où ils savent qu’ils ne seront pas bloqués par
    un état d’esprit… qui est en train de changer (de plus en plus de
    décideurs ont des macs… et même des admin réseau). Tout cela prend du
    temps, et il est trop tôt encore.
    WebKit c’est encore un autre moyen de faire des applications hybrides
    (exemple : iTunes), en plus de Cappuccino et le futur QuickTime X. Je pense
    qu’Apple va essayer d’unifier ces 3 solutions (sinon les gens vont
    s’éparpiller… mais là je parle du RDA, car pour le web classique genre
    B2C SproutCore est bien plus adapté).

    Concernant Google, ils n’ont vraiment jamais su faire q chose d’élégant
    (c’est mieux pensé que les solutions Microsoft sur le plan technique
    cependant… quoique ces derniers commencent à s’inspirer d’Apple/NeXT).
    De plus là je sens un manque d’idée chez Google, comme certains le disent
    ils ont atteint la phase de maturité, fini l’ambiance euphorique du
    début, retour à la réalité (économique ?). L’avenir est (aussi) à
    ceux qui ont le souci du détail, des choses inconscientes qui jouent sur
    la perception de l’ergonomie. Et Apple (Apple Guidelines, etc.) est la
    mieux placée, l’interface de l’iPhone en est la démonstration.
    Une petite compil des retours sur l’HTC G1 et Android (je sais qu’il ne
    faut pas mélanger les deux aspects – matériel et logiciel -, mais c’est
    bien la preuve que dans notre esprit on perçoit un tout, en ensemble, et
    seule Apple maîtrise les deux aspects – depuis 30 ans -, et leur
    intégration)

    Et pour finir sur une note positive : Cappuccino est dispo (depuis 3 semaines en fait…) !

    A bientôt

Les commentaires sont fermés.