Avec l'arrivée de Mac OS X 10.5, nous avons interrogé plusieurs développeurs (*) qui utilisent ce système depuis maintenant plusieurs mois : en quoi va-t-il transformer leurs applications et quels en seront les bénéfices ou les contraintes pour l'utilisateur ? Matthieu Kopp développeur principal et co-fondateur d'Aquafadas nous donne son point de vue.
(*) Interview précédentes : Tri-Edre - Rogue Amoeba - app4mac - Objective Decision - Elgato - Delicious Monster - ex-Cinder
Au vu du type d'applications que vous réalisez, en quoi Leopard apporte-t-il un changement ?
MK : Du point de vue des outils de développement, il y a eu de gros changements. Je prends deux exemples, et le risque d'être un peu technique :
- Quartz Composer, dont l'éditeur de création d'effets visuels a été largement amélioré et qui s'est ouvert à la création de modules en Cocoa. La version Tiger de Quartz Composer était assez limitée de ce point de vue. Avec Leopard, on peut fabriquer des modules personnalisés évolués et décupler les possibilités de traitement de Quartz Composer.
- Xray, qui intègre un arsenal d'outils de mesure de performance et de comportement d'une application, devrait nous simplifier la vie. Au niveau des languages, il y a Objective-C 2.0 et les nombreux ajouts dans Cocoa...mais le problème c'est la rétrocompatibilité dont nous parlerons plus loin. Il n'est pas possible d'adopter immédiatement certaines de ces nouveautés si on veut garder la compatibilité avec Tiger. NSOperation par exemple, nous plaît beaucoup (c'est une classe qui gère la distribution d'une tâche longue dans son exécution sur toutes les ressources disponibles : processeurs/coeurs)...mais elle n'est pas utilisable telle quelle dans une application hybride.
Il y a aussi des changements de fond dans QuickTime qui sont attendus depuis près de 10 ans et qui devraient faciliter bien des choses pour des applications Leopard. La réécriture des composants de capture vidéo en est un exemple.
Enfin, les nouveautés au niveau de l'animation des éléments graphiques composant une interface par l'utilisation de Core Animation constituent un vrai bonus. Il est désormais bien plus facile de créer des effets intéressants pour rendre une interface plus agréable...
Comment ces changements vont-ils se traduire côté utilisateur ?
MK : La version 2.0 de PulpMotion, pour prendre cet exemple, sera déclinée en version Tiger et Leopard. La version Leopard comptera des thèmes supplémentaires, développés avec Core Animation, qui permettra l'animation de dizaines, voire de centaines d'images simultanément (comme ci-dessous). Cette version intègre aussi de nombreuses nouveautés disponibles sous Leopard uniquement: iChat Theater (NDR : pour montrer un élément de son écran pendant une conversation iChat), Quick Look, etc... Pour iDive, nous préparons aussi quelques innovations tant du point de vue de l'affichage, que du moteur, qui tireront parti des possibilités propres à Leopard.
Est-ce que vous avez des regrets vis à vis de ce qui a été fait dans Leopard ?
MK : Nous avons été enthousiasmés par Core Animation au moment de la présentation de Leopard à la WWDC 2006, car l'outil semblait idéal pour un certain nombre de nos projets. Un an plus tard, l'enthousiasme est un peu tombé en raison des nombreux problèmes rencontrés pour maîtriser cette technologie. La documentation trop succinte (jusqu'à aujourd'hui) nous a fait perdre un temps précieux et les problèmes non résolus nous ont obligé à faire des détours incroyables pour nous en sortir. Je suis donc assez déçu par cet aspect particulier. Des bugs critiques sont pour l'instant non résolus, qui nous obligent à ronger notre frein sur certaines nouvelles fonctionalités. Mais je pense que le manque de documentation et d'exemples aura été le plus gros problème de Leopard. On pourrait dire la même chose de iChat Theater pour citer une autre technologie avec laquelle nous avons pas mal travaillé.
On pourrait rajouter que le caractère nécessairement confidentiel du développement avec une pre-release rend le travail très difficile. On s'appuie en général sur les forums pour trouver les informations qui manquent et partager son expérience. Mais dans ce cas-ci l'intervention sur les forums est interdite et on est souvent réduit à signaler des bugs pour avoir un interlocuteur, sans garantie de réponse dans un temps donné. Il me semblerait intéressant qu'Apple mette en place un espace fermé de dialogue permettant un peu plus de fluidité dans l'échange des informations entre les développeurs tiers et les ingénieurs maison.
Cette version 10.5 est pour vous plus importante que les précédentes ?
MK : Elle est importante, oui. Il y a de nombreuses améliorations dans "tous les coins". Des choses visibles (rapidité de Spotlight, interfaces, nouvelles fonctions mises en avant par Apple) et d'autres qui sont plus discrètes (améliorations réseau, Automator, partage d'écran). Je crois que Mac OS X Server est aussi un très grand pas en avant dans la mise à disposition d'interfaces plus complètes permettant de gérer un serveur de façon simple.
Je crois que Leopard est une version qui permettra aux développeurs de proposer des interfaces utilisateur plus intéressantes (plus impressionnantes aussi) que par le passé. De ce point de vue, elle marquera peut-être l'apparition de nouveaux styles visuels en rupture plus ou moins forte avec ce que nous avons connu jusqu'à présent. C'est un des aspects intéressants de Core Animation.
Tiger avait en son temps introduit Quartz Composer, une technologie plus discrète à l'époque, mais qui a petit à petit infusé dans nombre d'applications pour créer des changements radicaux. Quartz Composer a ouvert un tout nouvel écosystème qui va des applications grand-public aux applications Pro (filtres Final Cut/Motion,etc...). Il est intéressant de voir à quel point Quartz Composer est presque passé inaperçu (relevé par certains bloggeurs curieux) alors que Core Animation a eu droit aux feux de la rampe.
Enfin, du point de vue des outils de développement, je crois qu'il s'agit vraiment d'une version majeure.
Certains développeurs ont déjà prévenu que leur prochaines applications ne fonctionneraient que sur Leopard. Qu'en est-il chez vous ?
MK : Nous nous sommes posés la question pour certaines applications que nous avons en projet. Il est vrai que le développement d'applications hybrides Tiger/Leopard est complexe et qu'il n'est pas toujours possible d'avoir un seul exécutable : ce n'est donc pas forcément idéal du point de vue de l'utilisateur qui doit télécharger la bonne version. La tentation de développer pour Leopard uniquement est donc très forte.
Nous avons pour le moment décidé de résister à cette option, d'une part parce que le processus d'adoption d'un nouveau système n'est pas très rapide, et que dans le domaine de la vidéo numérique, ou dans le domaine pro, il y a une résistance plus grande: on ne change pas un système rodé qui fonctionne bien et qui n'a pas besoin d'être mis à jour pour faire tourner les applications quotidiennes.
Nous allons donc continuer à proposer des versions compatibles avec Tiger, tout en utilisant, sous Leopard, les nouvelles possibilités du système et même si cela nous oblige à écrire certaines parties du code pour les deux systèmes. Nous avons plutôt une politique de transition en douceur. Les nouveaux produits que nous présenterons dans les semaines qui viennent (BannerZest, VideoPier et PulpMotion Pro) fonctionneront donc sous 10.4 et 10.5.
Cette fois en tant qu'utilisateur vous-même de Leopard, qu'est-ce qui vous plaît le plus dans ce nouvel OS ?
MK : J'apprécie la fonction Cover Flow pour rechercher une image dans un dossier contenant un mélange de fichiers. J'apprécie en fait toutes les améliorations de productivité (Quick Look, Spotlight plus rapide, les modèles dans Mail, la gestion du réseau, la fonction Spaces très élégante) plus qu'une seule fonction en particulier. Et je suis curieux de voir Time Machine au quotidien pour savoir s'il s'agit juste d'un gadget, ou si c'est la révolution annoncée.
(*) Interview précédentes : Tri-Edre - Rogue Amoeba - app4mac - Objective Decision - Elgato - Delicious Monster - ex-Cinder
Au vu du type d'applications que vous réalisez, en quoi Leopard apporte-t-il un changement ?
MK : Du point de vue des outils de développement, il y a eu de gros changements. Je prends deux exemples, et le risque d'être un peu technique :
- Quartz Composer, dont l'éditeur de création d'effets visuels a été largement amélioré et qui s'est ouvert à la création de modules en Cocoa. La version Tiger de Quartz Composer était assez limitée de ce point de vue. Avec Leopard, on peut fabriquer des modules personnalisés évolués et décupler les possibilités de traitement de Quartz Composer.
- Xray, qui intègre un arsenal d'outils de mesure de performance et de comportement d'une application, devrait nous simplifier la vie. Au niveau des languages, il y a Objective-C 2.0 et les nombreux ajouts dans Cocoa...mais le problème c'est la rétrocompatibilité dont nous parlerons plus loin. Il n'est pas possible d'adopter immédiatement certaines de ces nouveautés si on veut garder la compatibilité avec Tiger. NSOperation par exemple, nous plaît beaucoup (c'est une classe qui gère la distribution d'une tâche longue dans son exécution sur toutes les ressources disponibles : processeurs/coeurs)...mais elle n'est pas utilisable telle quelle dans une application hybride.
Il y a aussi des changements de fond dans QuickTime qui sont attendus depuis près de 10 ans et qui devraient faciliter bien des choses pour des applications Leopard. La réécriture des composants de capture vidéo en est un exemple.
Enfin, les nouveautés au niveau de l'animation des éléments graphiques composant une interface par l'utilisation de Core Animation constituent un vrai bonus. Il est désormais bien plus facile de créer des effets intéressants pour rendre une interface plus agréable...
Comment ces changements vont-ils se traduire côté utilisateur ?
MK : La version 2.0 de PulpMotion, pour prendre cet exemple, sera déclinée en version Tiger et Leopard. La version Leopard comptera des thèmes supplémentaires, développés avec Core Animation, qui permettra l'animation de dizaines, voire de centaines d'images simultanément (comme ci-dessous). Cette version intègre aussi de nombreuses nouveautés disponibles sous Leopard uniquement: iChat Theater (NDR : pour montrer un élément de son écran pendant une conversation iChat), Quick Look, etc... Pour iDive, nous préparons aussi quelques innovations tant du point de vue de l'affichage, que du moteur, qui tireront parti des possibilités propres à Leopard.
Est-ce que vous avez des regrets vis à vis de ce qui a été fait dans Leopard ?
MK : Nous avons été enthousiasmés par Core Animation au moment de la présentation de Leopard à la WWDC 2006, car l'outil semblait idéal pour un certain nombre de nos projets. Un an plus tard, l'enthousiasme est un peu tombé en raison des nombreux problèmes rencontrés pour maîtriser cette technologie. La documentation trop succinte (jusqu'à aujourd'hui) nous a fait perdre un temps précieux et les problèmes non résolus nous ont obligé à faire des détours incroyables pour nous en sortir. Je suis donc assez déçu par cet aspect particulier. Des bugs critiques sont pour l'instant non résolus, qui nous obligent à ronger notre frein sur certaines nouvelles fonctionalités. Mais je pense que le manque de documentation et d'exemples aura été le plus gros problème de Leopard. On pourrait dire la même chose de iChat Theater pour citer une autre technologie avec laquelle nous avons pas mal travaillé.
On pourrait rajouter que le caractère nécessairement confidentiel du développement avec une pre-release rend le travail très difficile. On s'appuie en général sur les forums pour trouver les informations qui manquent et partager son expérience. Mais dans ce cas-ci l'intervention sur les forums est interdite et on est souvent réduit à signaler des bugs pour avoir un interlocuteur, sans garantie de réponse dans un temps donné. Il me semblerait intéressant qu'Apple mette en place un espace fermé de dialogue permettant un peu plus de fluidité dans l'échange des informations entre les développeurs tiers et les ingénieurs maison.
Cette version 10.5 est pour vous plus importante que les précédentes ?
MK : Elle est importante, oui. Il y a de nombreuses améliorations dans "tous les coins". Des choses visibles (rapidité de Spotlight, interfaces, nouvelles fonctions mises en avant par Apple) et d'autres qui sont plus discrètes (améliorations réseau, Automator, partage d'écran). Je crois que Mac OS X Server est aussi un très grand pas en avant dans la mise à disposition d'interfaces plus complètes permettant de gérer un serveur de façon simple.
Je crois que Leopard est une version qui permettra aux développeurs de proposer des interfaces utilisateur plus intéressantes (plus impressionnantes aussi) que par le passé. De ce point de vue, elle marquera peut-être l'apparition de nouveaux styles visuels en rupture plus ou moins forte avec ce que nous avons connu jusqu'à présent. C'est un des aspects intéressants de Core Animation.
Tiger avait en son temps introduit Quartz Composer, une technologie plus discrète à l'époque, mais qui a petit à petit infusé dans nombre d'applications pour créer des changements radicaux. Quartz Composer a ouvert un tout nouvel écosystème qui va des applications grand-public aux applications Pro (filtres Final Cut/Motion,etc...). Il est intéressant de voir à quel point Quartz Composer est presque passé inaperçu (relevé par certains bloggeurs curieux) alors que Core Animation a eu droit aux feux de la rampe.
Enfin, du point de vue des outils de développement, je crois qu'il s'agit vraiment d'une version majeure.
Certains développeurs ont déjà prévenu que leur prochaines applications ne fonctionneraient que sur Leopard. Qu'en est-il chez vous ?
MK : Nous nous sommes posés la question pour certaines applications que nous avons en projet. Il est vrai que le développement d'applications hybrides Tiger/Leopard est complexe et qu'il n'est pas toujours possible d'avoir un seul exécutable : ce n'est donc pas forcément idéal du point de vue de l'utilisateur qui doit télécharger la bonne version. La tentation de développer pour Leopard uniquement est donc très forte.
Nous avons pour le moment décidé de résister à cette option, d'une part parce que le processus d'adoption d'un nouveau système n'est pas très rapide, et que dans le domaine de la vidéo numérique, ou dans le domaine pro, il y a une résistance plus grande: on ne change pas un système rodé qui fonctionne bien et qui n'a pas besoin d'être mis à jour pour faire tourner les applications quotidiennes.
Nous allons donc continuer à proposer des versions compatibles avec Tiger, tout en utilisant, sous Leopard, les nouvelles possibilités du système et même si cela nous oblige à écrire certaines parties du code pour les deux systèmes. Nous avons plutôt une politique de transition en douceur. Les nouveaux produits que nous présenterons dans les semaines qui viennent (BannerZest, VideoPier et PulpMotion Pro) fonctionneront donc sous 10.4 et 10.5.
Cette fois en tant qu'utilisateur vous-même de Leopard, qu'est-ce qui vous plaît le plus dans ce nouvel OS ?
MK : J'apprécie la fonction Cover Flow pour rechercher une image dans un dossier contenant un mélange de fichiers. J'apprécie en fait toutes les améliorations de productivité (Quick Look, Spotlight plus rapide, les modèles dans Mail, la gestion du réseau, la fonction Spaces très élégante) plus qu'une seule fonction en particulier. Et je suis curieux de voir Time Machine au quotidien pour savoir s'il s'agit juste d'un gadget, ou si c'est la révolution annoncée.