Scott Jenson, célèbre UX designer et directeur créatif spécialisé dans les téléphones mobiles et les produits électroniques de consommation, a participé à la task force Closing the Gap du W3C, et partage ici quelques-unes de ses réflexions sur ce que les mobiles nécessitent pour proposer de nouvelles expériences web aux utilisateurs.
Résumé
Le W3C travaille sur différents documents afin de faire évoluer l’Open Web Platform, l’un des plus importants de ces documents étant le Core Mobile Web Platform. On peut également citer la task force Closing the Gap, le groupe d’intérêts Web et mobile, ainsi que de nombreux groupes d’intérêts techniques dédiés à des dizaines de sujets spécifiques, des performances DOM aux interfaces de programmation (API) des périphériques hardware, et bien d’autres encore.
Il s’agit là d’excellents efforts, qui sont évidemment très importants. Il manque néanmoins à cette discussion un document de cadrage, qui tenterait de situer ce travail dans un contexte plus large. Les performances sont-elles le seul problème ? Pourquoi avons-nous besoin de ces propositions techniques variées ? Forment-elles un tout cohérent ? Ce bref document tente de naviguer sur un océan d’opinions bien arrêtées, non pas pour créer une liste définitive de projets, mais pour essayer de fournir certains principes directeurs afin de contribuer à motiver ces projets, ainsi que de futurs projets.
Introduction
Dans l’opinion publique, la guerre entre les applications natives et les applications Web semble être terminée. Le monde dans lequel les applications natives se sont développées est en train de changer. Lorsque n’existait qu’un seul dispositif dominant, les inconvénients des applications natives étaient minimes. Mais à mesure que l’appareil unique a évolué en plateformes multiples, chacune avec de multiples terminaux et tailles d’écran, le fardeau du développement d’une application native s’est progressivement alourdi.
De plus, l’objectif même de l’application est également en train de changer. Nous n’en sommes plus désormais à lancer des oiseaux ou à appliquer des filtres sur des photos carrées… Nous découvrons un univers dans lequel presque tous les dispositifs, des affiches de cinéma aux micro-ondes, peuvent devenir « intelligents » et veulent interagir avec nous. Par ailleurs, le nombre d’« écrans » qui peuplent notre vie ne fait qu’augmenter, encourageant de nouveaux schémas d’interaction qui ne se limitent plus à un unique écran fixe. Nous sommes au seuil d’une ère d’expérimentation importante et de nouveaux modèles d’interaction.
La frontière entre où se termine un document Web et où commence une application Web est si nuancée qu’il est difficile de donner une définition unique de ce qu’est une application. En fait, le concept même d’une application Web change si rapidement qu’il est difficile de comprendre comment l’ensemble des différents éléments pris en compte par le W3C s’imbriquent entre eux pour former un tout cohérent. À l’évidence, nous sommes si concentrés sur la manière dont construire des applications Web que nous semblons ignorer l’expérience qu’en fera l’utilisateur. Néanmoins, il convient d’affirmer catégoriquement et avec insistance que les applications Web ne sont PAS, et ne devraient jamais être des « ports Web » d’applications iPhone, ce serait leur prêter des aspirations bien faibles.
Le présent document vise à se libérer de cette myopie iPhonesque, et à discuter du type d’expérience utilisateur que les pages Web interactives (faute d’un meilleur terme) devraient fournir. Le W3C explore actuellement de nombreuses capacités techniques, mais en identifiant certaines de ces nouvelles directions, il devrait pouvoir coordonner les activités existantes et en encourager de nouvelles. La liste suivante est loin d’être exhaustive et changera au fil du temps, mais elle devrait favoriser une poursuite de la discussion :
Style d’expérience utilisateur Web 1 : le remplacement d’une application native
Le premier style interactif consiste à imiter une application native. Bien que je l’aie décrié il y a à peine deux paragraphes, il s’agit du modèle dominant aujourd’hui, modèle que le marché comprend et accepte à l’heure actuelle. Ce style englobe une page Web dans un package dont l’aspect visuel et le comportement sont similaires à une application native normale. Aux yeux de l’utilisateur, les applications Web packagées doivent offrir une prise en main quasi identique à l’application native. Dans ce cas, le Web est une technologie de mise en œuvre et les ficelles techniques ne doivent pas se voir. Comme le concept utilisateur d’une application native est bien exploré, son équivalent Web a plusieurs exigences claires. Lorsqu’une application Web est correctement alimentée et validée, elle doit :
- > s’intégrer à la liste d’applications directement disponibles pour l’utilisateur : cela signifie qu’elle doit apparaître sur l’écran d’accueil de cet OS et être lancée comme n’importe quelle application native.
- > s’installer toute seule à partir de n’importe quelle page Web : comme les applications peuvent désormais être installées à partir du navigateur, il serait logique de permettre aux applications Web de faire la même chose. Cela implique que l’expérience utilisateur lors de l’installation de l’application Web ne se résume pas simplement à sauvegarder un marque-page. Les applications devraient pouvoir disposer d’un « lien d’installation » sur une page Web, qui permettrait de lancer le processus, en toute sécurité, de téléchargement du package de l’application vers l’appareil.
- > s’intégrer à la liste des applications en cours d’exécution de l’OS : si l’utilisateur passe d’une application Web à une application native, comme le gestionnaire des contacts, il ne devrait pas avoir à se rendre sur le navigateur Internet et ensuite l’application Web. Cette procédure est trop compliquée et ne ferait que perturber l’utilisateur. Celui-ci devrait pouvoir passer d’une application en cours à une autre, exactement comme il le fait avec les applications natives.
- > proposer une expérience en plein écran : Les applications Web doivent pouvoir s’afficher en plein écran, comme les applications natives.
- > ouvrir des liens vers des pages externes dans un navigateur séparé : une application Web aura davantage de chances de fournir une expérience utilisateur intéressante si elle permet de passer d’une page à l’autre, en interne. Cependant, elle devrait être capable de proposer des liens qui, une fois sélectionnés, permettent de « s’échapper » vers le navigateur.
- > appliquer la règle « unique » : si l’utilisateur choisit l’application Web une seconde fois sur l’écran d’accueil, elle devrait tout simplement s’ouvrir sur l’instance en cours, et non en lancer une nouvelle.
- > fonctionner en arrière-plan :cela dépend de l’OS natif, mais lorsque cela est possible, une application Web devrait pouvoir fonctionner en arrière-plan. Cela devient de plus en plus important à mesure que les applications recherchent à traiter en arrière-plan des fonctionnalités comme la localisation.
- > générer des notifications au niveau du système : il s’agit ici simplement de l’intégration avec l’OS, comme bien d’autres services potentiels. Cela est tout particulièrement important pour les applications qui peuvent fonctionner en arrière-plan et qui doivent informer l’utilisateur que quelque chose d’important a changé.
Il y a sans doute bien d’autres choses à ajouter à cette liste, mais l’objectif reste relativement simple : si nous nous satisfaisons d’imiter les applications natives, les applications Web doivent se comporter de manière très similaire aux applications natives sur le dispositif hôte. L’utilisateur ne devrait pas avoir à naviguer avec un « sous-OS » sur son appareil pour lancer une classe différente d’applications, disposant de leurs propres règles.
Style d’expérience utilisateur Web 2 : interaction à la demande
Les applications natives sont un instantané du moment. Elles existent en tant que fonctionnalité « figée », que l’on recherche, télécharge, installe, organise, met à jour et que l’on finit par supprimer, tout cela étant le fruit d’actions initiées par l’utilisateur. Affiches de films intelligentes, panneaux intelligents dans les musées, poignées de portes intelligentes et même grille-pain intelligents… A mesure que le nombre d’appareils intelligents augmente, toutes sortes de dispositifs feront naître un potentiel d’interaction avec l’utilisateur. Les efforts de l’utilisateur nécessaires à la simple gestion des applications natives deviendront trop lourds, même si un seul OS domine. Si vous avez une quelconque foi en la loi de Moore, il est clair que le nombre d’appareils qui exigent une interactivité va croître de manière considérable. Disposer d’une « application native hébergée chez l’utilisateur » pour chaque dispositif intelligent est, sur la durée, une absurdité mathématique. Personne ne croit sérieusement que TOUTES les pages Web doivent avoir une application native, alors pourquoi attendrions-nous cela des appareils intelligents ?
C’est là que la capacité du Web à fournir de l’interactivité en cliquant sur un lien se transforme en super-pouvoir, qui peut nous permettre d’échapper à cette complexité. Il offre l’interactivité quasiment sans aucun effort de la part de l’utilisateur. C’est quelque chose que les applications natives ne peuvent espérer atteindre, et cela constitue une manière très efficace de se démarquer dans la lutte entre les applications natives et Web.
Aujourd’hui, le lien Web et la barre d’adresse URL sont les seules manières d’appeler une page Web. Cependant, nous commençons à voir la manière dont les terminaux mobiles et leur flopée toujours plus abondante de capteurs permettent d’étendre cette capacité. Les QR Codes, aussi difficiles d’utilisation qu’ils soient, étaient les premiers à offrir cette approche « en dehors du navigateur » pour lancer des pages Web. Le NFC est très similaire, échangeant la proximité contre une expérience qui gagne largement en rapidité. Ceci de fortes chances de se poursuivre grâce aux nouvelles technologies, comme le Bluetooth 4 et le Wifi Direct.
Cette capacité à « appeler » une page Web sans avoir à rien saisir doit être explorée dans les futurs standards du W3C, et ne doit pas être laissée uniquement aux fabricants de mobiles. Un système dans lequel les dispositifs intelligents pourraient diffuser une URL permettant aux mobiles à proximité de l’afficher permettrait de débloquer un écosystème interactif, transposant efficacement le modèle de serveur Web du cyberespace au monde réel. Chaque dispositif contient un lien vers une page Web permettant de contrôler cet appareil. Ce lien du monde réel au Web peut être une capacité très transformatrice et unique des applications Web. Afin que cela fonctionne, le W3C doit encourager un service de recherche sans fil.
Il est nécessaire de disposer d’un standard multi-protocoles pour que les appareils intelligents diffusent une URL. Wifi, WifiDirect, et Bluetooth Low energy sont tous des candidats initiaux probables. Les QR Codes accomplissent à peu près cela, mais exigent une application personnalisée et une activité utilisateur importante pour bien cibler l’objectif. Le NFC est plus facile et fonctionne bien, mais exige que l’utilisateur touche le terminal. En recherchant à écouter une liste riche et étendue de protocoles sans fil, le navigateur peut devenir un agent recherchant des URL potentiels pour l’utilisateur.
Les résultats devraient pouvoir, de manière facultative, être filtrés par un service Web. Il existe de nombreuses raisons pour lesquelles les résultats fournis par ce service de recherche doivent être améliorés. Par exemple, il peut être utile d’ajouter des résultats supplémentaires d’objets géolocalisés à proximité. Par ailleurs, à mesure que le nombre d’appareils trouvés s’accroît, la valeur de classement des résultats augmente de manière significative. Les objets trouvés dans le service de recherche ci-dessus doivent être stockés dans un format courant (p.ex. json), de sorte que n’importe quel service Web puisse ensuite lire et modifier cette liste d’une matière interopérable.
Style d’expérience utilisateur Web 3 : Interaction multi-écrans
Un grand nombre d’expériences sont en cours pour connecter les téléphones et les tablettes à des écrans de télévision interactifs. Cependant, à l’instar du WebRTC qui permet bien plus qu’une vidéo en face-à-face, la capacité d’un écran à interagir avec un autre s’accompagne de nombreuses possibilités fascinantes, qui vont au-delà du simple streaming vidéo. Il s’agit d’un nouveau type d’interaction riche qui commence tout juste à dévoiler son potentiel.
Si le W3C ne peut, de manière réaliste, créer des standards à ce stade exploratoire bien précoce, il peut toutefois spécifier un mécanisme très simple et très basique de « rendez-vous », afin que les appareils Web se trouvent mutuellement. Ceci n’exclut pas les expérimentations, mais encourage fortement une exploration accrue de cette catégorie. Voici quelques étapes possibles :
- > Étendre le service de recherche aux applications Web : le service de recherche mentionné plus haut est un service utilisateur conçu pour tout trouver. Il faudrait donc qu’une application Web puisse également offrir ce choix. Cela permettrait à la liste d’être filtrée, de sorte que seuls les appareils ciblés/en collaboration soient associés.
- > Explorer une topologie d’appareils et de services pour encourager les catégories courantes : Il y a de fortes chances pour que cela soit une cible mouvante. Cependant, débuter avec quelques styles de transport média basiques comme l’impression ou l’affichage vidéo encouragerait les dispositifs à partager leur fonctionnalité sur de nombreuses applications et entreprises. Ce point mérite sans aucun doute une réflexion plus approfondie, mais l’idée est ici d’aborder le sujet et de discuter de quelle topologie pourrait être utile.
Conclusion
L’objectif du présent document est de s’élever au-dessus du méli-mélo de standards techniques et de créer une certaine conjecture, voire même de la motivation sur la manière dont ces standards peuvent travailler ensemble. Le Web peut représenter bien plus que ce que les applications natives peuvent faire. Il peut offrir de l’interactivité, qui, aussi simplement que de l’eau, sera déversée par n’importe quel appareil à l’aide d’un simple clic. Il s’agit d’un super-pouvoir du Web, qui n’est pas apprécié à sa juste valeur comme élément de démarcation clé des applications natives.
Dans un monde au sein duquel les entreprises nous offrent systématiquement du « tout prêt », nous commençons à croire que tous les produits Web doivent être entièrement formés et matures avant de les lancer. N’oublions pas que le fossé entre Netscape et Gmail s’étale sur 10 ans ! Pour que des systèmes valables évoluent, il faut du temps. Nous avons non seulement besoin de standards spécifiquement orientés, mais également de nouveaux standards expérimentaux qui encouragent l’exploration.
Le Web mobile peut contribuer de différentes manières pour encourager un nouveau type d’interaction, comme proposer un modèle qui permet au Web de s’étendre au monde physique, permettant que tout ait une « page Web ». De plus, il est nécessaire d’encourager la capacité des appareils basés sur le Web de se trouver les uns les autres et d’interagir ensemble, aux niveaux de l’utilisateur et de la programmation. Bien que cela soit toujours en phase d’expérimentation, le W3C peut au moins ouvrir la voie et encourager de nouveaux styles d’interaction, d’une manière à la fois ouverte et collaborative.