Dans le monde de l'informatique, il est très difficile de sortir des sentiers battus et d'imposer de nouveaux paradigmes. Je vais prendre pour exemple pour illustrer cette situation Apple et son iPhone qui a su exciter des hordes de trolls depuis son lancement. Le plus significatif est l'absence de multitâche dans l'OS des appareils multitouch de Steve Jobs.

filesystem SymbianObservons tout d'abord le contexte historique. Depuis 1980, donc maintenant 30 ans, l'informatique est un ordinateur qu'on contrôle avec une souris et un clavier et qui affiche ses informations sur un écran. Même si les appareils ont évolués depuis toute ces années, ils ont été miniaturisés, redesignés, mais n'ont jamais essayé de changer cette interface. Pourquoi changer quelque chose qui fonctionne ? En effet, ça se discute. Là où ça devient difficile, c'est quand on crée de nouveaux produits. Les smartphones, qui ont commencé à voir le jour dans les années 90 ont mis énormément de temps à se populariser. Ces appareils ne savaient pas se situer entre le téléphone et l'ordinateur. Et il s'agissait finalement de PC de poche plutôt que de smartphone. Les besoins des clients étaient les mêmes que pour les clients de PC : pouvoir traiter de l'information, accéder à Internet, rédiger des documents… depuis un appareil mobile. Donc la seule différence entre un PC et un smartphone pour les constructeurs, c'était la taille de l'appareil. Ils ont donc construit des PC de poche en reprenant exactement la même interface que Windows. Les smartphones qui sortaient avaient tous les mêmes fonctions que nos PC : copier/coller, système de fichier, installation d'application, gestionnaire de tâche, extension matérielle, port USB, etc… C'était le minimum requis. Mais force est de constater que seule une minorité de geek utilisaient réellement ces fonctions mal intégrées. Je parle en connaissance de cause, j'ai eu du Symbian de 2002 à 2007. J'ai eu beau être émerveillé le premier mois de l'achat de chaque nouveau modèle, je me suis mis à n'utiliser que les fonctions de base très rapidement.

iPhone v1.0Puis vint Apple. Apple sortit son iPhone en 2007. On s'attendait tous à un téléphone sous Mac OS X, de la même façon que les concurrents nous sortaient des téléphones sous Windows. Et ce fut finalement… un appareil tout nouveau qui ne ressemblait à rien. Il faisait peu mais bien. Et ses principaux reproches furent… qu'il faisait peu… C'est pour ça que Apple a autorisé le développement d'applications pour qu'il fasse plus. Et nous arrivons au sujet de notre exposé. Là où Nokia, Microsoft, etc. ont toujours sorti leur téléphone calqué sur un PC avec la possibilité de lancer plusieurs applications en même temps, Apple a choisi de partir sur un terrain neutre où tout était à inventer. Ils ont ainsi refusé le multitache alors que c'était techniquement possible. Pour pallier à ça, ils ont proposé aux développeurs les notifications. Explications techniques pour un cas où je veux rester connecté à Facebook, Twitter, GTalk, recevoir mes mails et écouter de la musique :

  • Multitache : l'appareil doit garder en mémoire 5 applications qui devra donc posséder une quantité suffisante de RAM. Les 5 applications, même en étant parfaitement optimisées vont consommer des ressources et donc de l'autonomie constamment, même si on a pas réellement besoin d'elles tout le temps : Facebook me notifiera peut être d'un seul message en une heure. Elles devront aussi garder une connexion réseau ouverte en permanence, ce qui va d'autant plus tuer l'autonomie de l'appareil. Et il faut que l'interface de l'appareil prévoit de switcher ergonomiquement entre chaque application.
  • Notifications : de ces 5 applications, seul le lecteur de musique tourne. Les 4 autres ont été lancées une fois, puis quittées après avoir signalé au serveur distant que l'appareil est en mesure de recevoir des notifications. Ainsi, quand je reçois un message sur Facebook, Facebook envoie en push un message sur mon iPhone qui me l'affiche et me propose de lancer l'application correspondante. Aucune ressource n'est gaspillée, mon appareil voit son autonomie économisée au maximum. Et au niveau de l'interface, on peut proposer une ergonomie très simple telle qu'on la connait sur iPhone.

La notification est une technique nouvelle parfaitement adaptée aux appareils mobile mais qui n'est pas habituelle pour les développeurs. Le but recherché a toujours été atteint par la technique du multitache. C'est évidemment plus simple pour un développeur d'utiliser une technique connue et maitrisée plutôt qu'un nouveau concept dont on ne connait rien. En clair, pour rendre Facebook multitache, son développeur n'aurait eu qu'à rajouter une seule ligne de code. Il n'aurait donc rien eu à faire. Par contre, pour gérer les notifications, il a fallu un serveur particulier qui communique avec les serveurs d'Apple et pas mal de temps de développement. Ça demande plus de travail, d'infrastructure et de moyens. Mais, le client jouit de la meilleure expérience utilisateur possible !

MultitaskingQuand Apple a annoncé l'absence de multitache, tous les geeks de la planète ont hurlé au scandale clamant que "l'iPhone say trop nul sa fé même pas ce que fait Windows Mobile depuis des dizaines d'années bouh !" uniquement parce que la concurrence le faisait, mais pas eux. On voit bien, deux ans plus tard, que cette fonctionnalité était loin d'être primordiale en constatant les parts de marché de l'iPhone et son taux de satisfaction. Et les notifications sont maintenant quelque chose de naturel que la majorité des développeurs ont implémenté et qu'on utilise avec plaisir. Chose qui n'aurait jamais pu arriver si Apple n'avait pas imposé sa ligne de conduite.

Et c'est ainsi que maintenant que le parc d'iPhone 3GS est vaste et que les mentalité ont changé, Apple peut se permettre d'accepter le multitache sur l'iPhone OS 4. Cependant, encore une fois, il ne s'agit pas d'une simple repompe de ce qui existe sur desktop, mais d'une façon légèrement différente d'appréhender la chose. On impose simplement aux développeurs de réfléchir au lieu d'aller au plus simple ou au plus économique financièrement. Une application doit être multitâche uniquement si son fonctionnement fondamental le nécessite mais jamais en tant que workaround d'une fonction qu'on ne sait pas faire autrement. Un lecteur de musique doit être multitâche. Un client Twitter, non.

J'aimerais conclure par un message à tous les trolls qui ne savent pas voir plus loin que le bout de leur nez et qui ne savent que se plaindre de ce qui est différent de leur petit monde routinier. Il faut voir les choses à long terme en prenant en compte tous les contextes historique, philosophiques et économiques. Et l'informatique n'est pas une fin en soi. Quand j'achète un smartphone, mon besoin n'est pas "faire de l'ordinateur dans le métro" mais "écouter de la musique, communiquer sur Internet, etc". La concurrence semble l'avoir enfin compris quand on voit que Microsoft et HP ont chacun abandonné leur projets de futur-ex-iPad-killer pour repenser un nouvel objet de zéro au lieu de mal copier comme ils l'ont toujours fait.
Ce n'est plus l'informatique qui fait le produit, mais le produit qui fait l'informatique !

Merci Apple pour ces choix difficiles à prendre mais qui nous permettent d'évoluer rapidement dans le bon sens !