Interview : les nouveautés d'iPhone OS 4 expliquées par un développeur

Anthony Nelzin-Santos |

L'iPhone OS 4 apporte plus de 1.500 nouvelles APIs pour les développeurs, et plus de 100 nouveautés pour l'utilisateur, et sera donc la mise à jour la plus importante depuis la création du système d'exploitation mobile d'Apple.

stevan-lemeur

Stévan Le Meur, ingénieur d’étude et développement iPhone de Dsquare, agence intégrée de Niji, qui accompagne ses clients dans la création de services innovants cross-média reposant sur les technologies de la convergence (web, mobiles, IPTV, etc.), nous aide à décrypter quelques-unes des nouveautés de cette nouvelle mouture d'iPhone OS.

On a beaucoup parlé du multitâche, et Apple explique l'avoir fait différemment, et, selon elle, de la manière la plus adaptée possible à l'iPhone. Qu'en est-il ?
La manière dont Apple a pensé le multitâche est très intéressante : il va falloir un peu de temps pour le mettre en place, mais elle a réfléchi à une solution adaptée aux usages des conditions d'ultra-mobilité. Sa solution est élégante : elle a sélectionné un certain nombre de services auxquels le développeur a accès, ce qui est idéal pour limiter l'impact sur les ressources disponibles (processeur, mémoire, batterie).

Pour une application de VoIP, par exemple, le système va réveiller toutes les dix secondes certains processus de l'application pour qu'elle signale sa présence au réseau, et actualiser son état — ou vous prévenir si quelqu'un essaye de vous joindre. Ce n'est donc pas un portage du système du multitâche de la station de travail, mais une adaptation taillée sur mesure pour l'iPhone.

Quelle est la différence avec les systèmes de multitâche d'autres plateformes mobiles, par exemple Android ?
Google fournit, dans son système de multitâche, des solutions pour préserver la batterie et les ressources, mais leur implémentation reste à la charge et au bon vouloir du développeur et s’apparente plus à un système multitâche classique. Apple a souhaité être moins permissif et garde la main sur l'utilisation des ressources : c'est le système qui les maîtrise, et il va par exemple prévenir une application abonnée à un service (géolocalisation, VoIP…) d’un changement afin que celle-ci puisse exécuter une tâche en réponse, si besoin.

D’une manière générale, il faut développer de manière intelligente : Apple comme Google recommandent de limiter l'usage de la RAM et de mettre en place des tâches peu gourmandes. Apple contraint davantage les développeurs à mettre en place les bons mécanismes.

Quelles sont les contraintes, justement ?
La première contrainte est d'utiliser les APIs d'Apple pour gérer les différents états de l'application, et les transitions entre ces différents états. Le but est de mettre en place des mécanismes qui vont permettre de relancer le plus rapidement possible l'application, selon les conseils fournis par Apple — et ils sont nombreux. Ainsi, de nombreuses applications présentes sur l’App Store vont nécessiter des adaptations.

La seconde contrainte vient du système, qui peut à tout moment avoir besoin de plus de plus de ressources, et demander à une application d'en libérer. Il faut donc gérer tout cela, ce qui nécessite un certain équilibre entre le fait de libérer un maximum de ressources quand l'application est en arrière-plan, et le fait de relancer l'application le plus vite possible.

Qu'est-ce que cela représente en matière de difficulté de développement, d'habitudes à prendre pour respecter les canons d'Apple ?
La sauvegarde de l'état d'une application à sa fermeture pour que l'utilisateur la retrouve dans le même état à la réouverture est quelque chose que les développeurs mettaient en place assez peu jusque-là, cela deviendra une vraie nécessité.

C'est pourtant ce système de fast-app switching qui donne l'impression de rapidité et de multitâche réel. Pour prendre l'exemple de l'application MacG Mobile, il faudrait, dans l'OS 4, que si on la quitte alors qu'on lit les commentaires d'un article, on y retourne exactement au même endroit. Mieux, il faut sauvegarder toute la profondeur d'une application, c'est-à-dire qu'il faudra aussi sauvegarder le fait qu'on lisait les commentaires de tel article dans tel flux de news [NDLR : cette fonctionnalité a déjà été ajoutée dans une bêta interne].

Plus une application est complexe, et plus la profondeur de navigation est grande, et donc plus la difficulté de mise en place est grande. Ce n'est pas neutre sur le développement, et cela va donc demander du temps supplémentaire ; on ne va pas non plus doubler le temps de développement de l’application, même si on aura quand même des choses à ajouter et à modifier ici ou là.

Par certains aspects, la chose est facilitée maintenant : c'était un peu le casse-tête à développer, cela devient un peu plus facile — et est de toute manière incontournable si on veut proposer l'expérience la plus aboutie possible à l'utilisateur, qui est aussi, et souvent un client.

Le fast-app switching apparaît comme la fondation du multitâche selon Apple, mais les notifications push ne sont pas abandonnées, voire sont remises à l'avant-plan. Pourquoi l'apparition des notifications locales ?
L'apparition des notifications locales permet de faire de nombreuses choses simples, mais qui étaient coûteuses à mettre en œuvre (mise en place d’une plateforme de services par exemple). Elles sont destinées à utiliser les données locales de l’utilisateur afin d’interagir directement avec lui, et vont simplifier la mise en place de certaines applications ou services types comme des réveils, des gestionnaires de tâches…

Les notifications push classiques, elles, passent par un serveur, et utilisent des données du nuage, qui entrent de l'extérieur, que le développeur veut donner à son utilisateur, et que l'utilisateur veut voir — c'est le cas typique d'une application d'actualités.

La conjonction du fast-app switching et de ces deux types de notifications offre un mécanisme de multitâche totalement adapté aux usages mobiles, qui en plus d'être efficace est cohérent et élégant.

Quel est l'intérêt de donner l'accès à une API de géolocalisation en arrière-plan, au-delà de l'application de navigation ?
La géolocalisation, c'est la possibilité de savoir où est l'utilisateur, et avec très peu de données, de savoir ce qu'il veut en fonction de son contexte — dans la limite des garde-fous imposés par Apple.

Pour une application comme la Visite des jardins du château de Versailles, ou pour toute autre application de tourisme, pour un parc d'attractions, etc., la géolocalisation permet de « pousser » du contenu vers l'utilisateur : l'application tourne en arrière-plan, mais elle va continuer à enregistrer le circuit de visite, et par exemple proposer des notifications à l’approche de points d'intérêts.

La seule petite limitation est le double système de géolocalisation d'Apple, qui est aussi son avantage. Quand on est en voiture et qu'on veut utiliser une application de navigation, celle-ci peut utiliser le GPS même en arrière-plan, puisque l'iPhone est censé être branché. Pour un usage en mobilité, il sera préférable d’utiliser la géolocalisation par triangulation réseau, ce qui a un impact moindre sur l'autonomie. Il s’agit donc d’apporter la meilleure réponse adaptée au contexte d’utilisation.

Il y a néanmoins plein d’usages à imaginer, comme de fournir de la publicité géocontextualisée. Il est hors de question de transformer l'iPhone en guirlande publicitaire, mais on peut imaginer une application de tourisme comme Vivre à Rennes qui pourrait « pousser » des informations, des bons plans et des coupons de réduction à l'utilisateur en fonction de sa proximité à des points d'intérêt qu'il aurait prédéfini.

[ pagebreak ]
Puisqu'on parle de publicité, quels sont les avantages de iAd, la nouvelle plateforme publicitaire d'Apple, sur ses concurrents, par exemple AdMob, détenu par Google ?
L'intégration d'un modèle de publicité au sein du système et de l'application de façon native rend le modèle plus cohérent. La publicité est conçue sur mesure pour l'iPhone, et est plus facile à intégrer : elle offrira une meilleure expérience utilisateur, ce qui est rare pour de la publicité. Le fait de pouvoir parler avec les APIs natives est aussi un avantage. Jusque-là, la publicité était passive, mais on peut désormais prévoir un véritable contexte, intégrer la publicité du mieux possible.

Qu'est-ce que l'on peut imaginer comme type de publicités ? Qu'est-ce que iAd pourra apporter comme plus-value à un annonceur ?
Pour le moment, on manque encore de visibilité sur iAd, et notamment sur la question des statistiques, du suivi et du ciblage utilisateur. Il faudra donc voir ce que cela offre au modèle économique des annonceurs, mais tel que iAd a été présenté, il peut amener de nouveaux comportements d'usage. Steve Jobs explique que ce sera de la pub désirée, ce sera en fait de la pub qui n'aura pas l'apparence de la pub.

Un groupe de presse, par exemple, pourra tisser des liens entre ses diverses applications par le biais d'une pub iAd, par exemple pour promouvoir une application qui nécessite un abonnement dans une application gratuite. Ce n'est pas révolutionnaire en soi : on peut déjà le faire avec d'autres plateformes publicitaires, mais ce sera facilité par l'intégration de iAd au système : on pourra acheter la nouvelle application directement depuis la pub, sans en sortir, et surtout sans sortir de l'application en cours.

Encore un exemple : dans une application de convertisseur ou de niveau numérique, on peut imaginer une publicité pour une chaîne de magasins de bricolage qui vous pousser sa propre application, des services, ou mieux encore : faire le lien avec les magasins les plus proches, par le biais de l'intégration de la géolocalisation, et proposer des achats en rapport avec la tâche accomplie (« puisque que tu calcules des surfaces, tu veux peut-être du parquet ou du papier peint ? »).

Qui va développer ces publicités très graphiques, très interactives, et basées non pas sur Flash, mais sur le HTML5 ? iAd va-t-il tuer la concurrence par son intégration ?
Il y a encore beaucoup de questions sur qui va développer ces publicités, mais on peut on imaginer que les acteurs actuels soient rejoints par des sociétés spécialisées dans la communication, et des prestataires dans notre secteur d'activité. On risque de voir apparaître aussi de plus en plus de sociétés très spécialisées dans la publicité mobile.

Dans un premier temps, Apple risque de commencer par des partenaires privilégiés pour mettre en place des publicités « cas d'école » qui feront tache d'huile, de la même manière que les publicités présentées au keynote avaient été développées par Apple pour « montrer l'exemple ».

iAd ne va pas tuer la concurrence, il va certainement la stimuler. AdMob va continuer à exister, et va même certainement se porter mieux que jamais, parce qu'une bulle est en train de grossir dans ce domaine.

Apple a aussi fait la promotion de nouvelles fonctions dans l'iPhone OS 4 dédiées au monde de l'entreprise. S'agit-il de répondre aux retours d'utilisateurs ou d'administrateurs, maintenant que l'iPhone fait sa place dans ce monde là ?
Beaucoup d'utilisateurs d'iPhone aimeraient l'utiliser aussi dans le cadre de leur entreprise, mais ne peuvent pas toujours avoir accès aux systèmes d'information (SI) mis à leur disposition, soit pour des questions de sécurité, soit parce que les directions des systèmes d'information (DSI) sont un peu prises de court par le phénomène.

Les nouvelles fonctions de l'iPhone OS 4, et pas uniquement celles présentées sous le chapitre sécurité, sont destinées à répondre aux demandes des utilisateurs comme à celles des DSI. L'amélioration de la sécurité de l'iPhone, la meilleure intégration dans les systèmes de déploiement en flotte, la diffusion des applications over-the-air, une API permettant d'accéder au calendrier de l'iPhone, etc., tout cela facilite l'intégration de l'iPhone dans les SI existants.

Avec là aussi de nouveaux usages à la clef ?
Oui, parce une vraie interaction avec les SI de l'entreprise permet de développer de nouvelles applications, parfois très simples, mais qui permettent d'accélérer certains processus.

Une application aussi simple qu'un outil de validation des congés pourrait s’interfacer de façon plus sécurisée et convergente avec le SI d’une entreprise. C'est typiquement une chose assez déplaisante à faire sur son ordinateur de bureau, mais qui pourrait être fait sur l'iPhone dans le métro, à la sortie du bureau. C'est plus facile pour l'utilisateur, et donc mieux pour l'entreprise, qui peut espérer gérer cela plus rapidement.

On peut donc imaginer utiliser l'iPhone pour faire des tâches qui requéraient jusque-là un ordinateur portable. En réfléchissant sur les usages et leur contexte, on peut faire de l'iPhone (mais pas que) un outil très puissant en ultra-mobilité, tout en développant de nouveaux usages.

C’est également une bonne nouvelle pour développer de nouveaux usages autour de l’iPad et des applications métiers, pour le coup destinées à des usages en condition de mobilité plutôt que d’ultra-mobilité.

Une des fonctions qui étaient assez attendues dans ce cadre était le chiffrement des données à l'intérieur d'une application. Quelles en sont les applications ?
La première application est de sécuriser des contenus multimédias au sein d'une application comme une liseuse, d'où il est assez facile d'extraire les médias lorsqu'on le veut vraiment. On évite des mécanismes lourds et contraignants de type DRM, tout en rassurant les fournisseurs de contenus.

La seconde est bien entendu dans l'entreprise et autour de l'entreprise, ou cette fonction ouvre la possibilité de passer plus de contenu en local, et donc d'être plus indépendante vis-à-vis du réseau, suffisamment sollicité par ailleurs. On peut imaginer développer des applications bancaires qui pourraient stocker des historiques d'opérations en local, ou un carnet de santé, ce chiffrement garantissant que les données seront sécurisées.

Là encore, il s'agit d'une adaptation du logiciel à ce qu'est l'iPhone : un outil destiné aux usages en condition d'ultra-mobilité.

Le mot de la fin ?
Apple a effectué énormément de travail au sein d’iPhone OS, afin d’ouvrir de nouveaux horizons, aux développeurs. Il s’agit très certainement de la mise à jour la plus importante, mais également la plus attendue depuis iPhone OS 2.0.

Nous sommes très enthousiasmés par cette mise à jour et sommes certains qu’elle verra naître de très belles applications iPad et iPhone dans les mois à venir !

avatar jeremy | 
Une longue explication ^^
avatar ekami | 
Si je comprends bien le concept de "notifications push locales", ça signifie qu'on va enfin avoir des badges sur l'application "Calendrier" au lieu d'être obligé de rentrer dans l'app ou de programmer une alarme pour savoir qu'on a un truc prévu aujourd'hui? Parce que jusqu'à présent, ça manque!
avatar Tiberius | 
@Oliviou : Apple utilise déjà un système de notifications locales pour le Calendrier : quand on a un rendez-vous, une popup s'ouvre avec une petite sonnerie pour nous prévenir. Idem pour l'Alarme qui nous réveille le matin alors que l'application Horloge est fermée. Le problème c'est que jusqu'à présent, seul Apple pouvait faire ça ! Les développeurs tiers devaient passer par des notifications Push, ce qui est un peu ridicule. Passer par plusieurs serveurs distants pour faire sonner un réveil, ça n'a pas de sens.
avatar rick75 | 
Cela me semble vraiment une bonne ouverture, de laisser "enfin" les développeurs avoir accès à pratiquement toutes les APIs, de la même manière qu'Apple. Un traitement ainsi quasi "égal" et donc, une amélioration sensible de l'expérience utilisateur pour beaucoup d'application. Au final, l'utilisateur devrait apprécier!
avatar marc_os | 
Autant je trouve l'entretien intéressant, autant je trouve que cette version 4 reprends beaucoup de choses disponibles sur cydia depuis des lustres. (voip, multitâche, ... ) bien sûr c'est mieux fait car réalisé par apple et l'impact sur la batterie est optimisé, mais cela reste tout de même des choses que je fais depuis des mois et de mois grâce à cydia.
avatar PO_ | 
@ Naas : oui et ?
avatar jefrey | 
Ce que je trouve le plus intéressant, et qui passe souvent inaperçu, c'est l'intégration en entreprise. La pression sur les DSI est très forte pour intégrer les iPhones aux flottes d'entreprise, mais pour le moment, le déploiement et la sécurité n'étaient pas suffisamment poussés pour déloger les Blackberry. J'espère que les améliorations de l'OS4 permettront d'aller plus loin dans ce domaine. Merci iGeneration pour cette interview !
avatar marc_os | 
de toute façon beaucoup de responsable informatique sont allergiques à l'iphone/mac, donc oui donner les outils c'est bien, mais cela ne sera pas suffisant. ce que je déplore.
avatar marc_os | 
oomu, les services informatiques n'ayant jamais travaillé sous mac font des pieds et des mains pour ne pas integrer la moindre parcelle de produit apple, je ne dis pas cela en criant au loup, mais dans les cabinets d'ingénierie, c'est TOUJOURS le cas. 1 ah non les macs ne sont pas supportés, désolé 2 ah non c'est contraire aux règle d'usage de l'informatique que vous avez signé 3 ah non je ne suis pas formé. etc etc etc
avatar Marksanders | 
Pour l'intérêt de la geoloc en tache de fond regardez Locale sur Android. C'est génial.
avatar xMayaku | 
Je viens d'installer la version beta de l'OS 4.0 et pour revenir au système de multitâche je le trouve très bien conçu mais la suppression des applications est un vrai calvaire. Il faut les supprimer de la même manière que les applications normale ce qui s'avère très laborieux au vu du nombre d'applications ouvertes. Il n'aurait pas été plus simple de les supprimer a la manière du dock sur Mac!? Un simple glisser-déposer en dehors du dock et pouf elle disparaissent! Une modif s'impose au plus vite!
avatar Khobs | 
Je pensais que toute app allait pouvoir profiter du freeze du multitache avec l'os 4, en fait toute le monde devra modifier ces app. Autant dire que le comportement sera imprévisible pendant encore longtemps. Pkoi apple n'a pas trouvé un moyen de sauver complétement l'état de l'app ? Et puis le coup d'interdire les daemon et de développer des api pour qql scénarios imaginé par Apple c'est extrément limitant . C'est etre sur que l'iPhone sera en retard su les nouvelles bonnes idées.
avatar branlouk | 
@naas : SJ a bien dit qu'ils n'étaient pas les premiers a faire le multi tache. Donc oui tu l'utilise depuis des mois sur ton JB. Très bien. Et ? La façon de faire d'Apple est 100 fois meilleure que de laisser tout faire par n'importe quelle application. Surtout si elle est codée avec les pieds. Le dock pour switcher entre les applications n'est pas un gestionnaire de tache, juste un raccourci pour passer élégamment d'une appli à l'autre et mettre en pause celle que l'on vient de quitter. That's it.
avatar jmquidet | 
Cet iphone os 4 va etre absolument merveilleux, je suis tellement heureux. Enfin toute cette attente aura eu un sens.

CONNEXION UTILISATEUR