Dans toute application moderne qui se respecte, on se doit d’implémenter uns fonction de recherche. Cela devient utile lorsque l’on commence à chercher des fonctionnalités spécifiques au sein de l’application, ou simplement comme méthode de navigation. Les interfaces modernes et spécialement ModernUI de Windows 8 racontent une histoire différente, en plaçant le contenu au centre de la scène. Et, comme une star, le contenu demande que toute la lumière lui soit réservée. Cela induit de nouveaux paradigmes d’interfaces, de nouveaux moyens d’organiser le flux de données. Voyons tout ceci de manière plus précise.

La recherche n’est pas…la recherche.

Ou comment cette phrase ne peut être traduite de l’anglais sans dégâts. Search is not find, en anglais. Il faut bien définir le rôle de la recherche dans l’application, celle où vous aller chercher un élément spécifique dans votre flux de données par le biais d’un mot le définissant. Ce rôle est très différent de la fonction « Find » ou de recherche dans la page que vous lisez. Cette dernière est plus une action pouvant influer sur la page en cours que sur l’application toute entière. Et à ce titre, devra être positionnée dans la barre d’application, en bas de la page, là où vous stockerez toutes les actions contextuelles de la page. Ceci devra être développé à part, puisqu’aucun contrôle de recherche dans la page n’est fourni par défaut.

La fonction de recherche (search) est assez différente, en ce qu’elle vous laisse rechercher dans toute votre application pour le contenu souhaité. Et ce résultat est obtenu à partir d’une chaîne de caractères qui sera confrontés aux noms des items. Finalement, le résultat sera affiché dans une page dédiée (que vous devrez designer).

La recherche et la barre des talismans

Bien sûr, si vous utilisez déjà Windows 8, vous devez avoir découvert la barre des talismans, qui se découvre par balayage sur le bord droit de l’écran. Avez-vous également remarqué l’icône de recherche en haut de cette barre ? C’est ici votre point d’entrée pour la recherche dans Windows 8 et cela permet de chercher pour une application spécifique au sein de toutes celles que vous aurez installées sur votre système. Bien. Mais cela marche aussi bien DANS toutes les applications (presque toutes, pour être précis). Ouvrez une application, ouvrez la barre des talismans, lancez une recherche et cela fonctionnera. Vous vous rendrez aussi vite compte que d’autres applications se proposent pour la recherche que vous êtes en train d’effectuer, sous forme de liste. Cést en effet à cet endroit que Wndows expose les autres applications qui savent faire de la recherche (où dans lesquelles le contrat de recherche est activé, si vous préférez). Cela permet de fare des recherches non plus sur une application ou sur une autre, mais plutôt à travers toutes les applications qui supportent ce contrat. Par exemple, si vous cherchez l’élément « Choucroute » dans une application ouverte, comme Marmiton, par exemple, mais vous pouvez aussi chercher « Choucroute » dans l’application News. N’est-ce pas élégant et intelligent ? Notez que le système apprend de vos actions et fait remonter en haut de la pile les éléments les plus fréquemment consultés…

clip_image002

Les options de recherché, dans la barre des talismans

clip_image003

La barre de recherche

Mais, …pourquoi ?

Oui, la question que l’on peut se poser est la suivante : Pourquoi avoir reporté la recherche dans la barre de talismans ? En fait, pour deux raisons majeures. La première est bien sûr de tirer parti des concepts avancés de ModernUI afin de placer le contenu au centre de l’expérience utilisateur. Pour ceci, la recherche peut être mutualisée au sein de l’interface de l’OS de manière á libérer de l’espace significatif pour le contenu. Mais également pour induire de nouveaux réflexes pour ce nouveau contrat, à savoir, passer par cette partie de l’interface de l’OS chaque fois que le besoin de chercher se fait sentir.

Cela implique que vous devrez oublier vos vieilles habitudes et que vous devrez vous interdire de placer des textbox ou des champs de recherche dans le layout de l’application. Éventuellement, si vous souhaitez un « Call to action »un peu plus marqué pour lancer le moteur de recherche, vous pouvez ajouter un icone (la classique loupe) dans le layout, mais sachez que ce genre d’artifices sont de moins en moins supportés.

Et si le métier de mon application est de faire de la recherche ?

Dans ce cas et uniquement dans ce cas, i est autorisé de disposer un champ de recherche dans le layout de l’application. Par exemple, téléchargez et ouvrez l’application Bing , disponible sur le store Microsoft. Effectivement, vous constaterez que l’appli possède un champ de recherche, mais rien de plus. Effectuez une recherche à partir de ce champ, mettons « Michel Rousseau, Microsoft », et vous serez immédiatement envoyé sur une page triée de résultats, comme convenu. Maintenant, lancer la même recherche, mais en passant cette fois par la barre de talismans et par le contrat de recherche. Vous voyez comment le champ de recherche du layout se grise afin d’indiquer clairement que vous cherchez depuis un autre endroit ? Voilà, ce comportement devrait être le seul et l’unique comportement des applications faisant de la recherche comme fonction de base.

clip_image005

Bing et la recherché via le contrat.

Super, je vais utiliser le contrat de recherche…

…et vous aurez bien raison. Mais vous pourrez encore améliorer un peu la recherche sans même ouvrir ce contrat. Est-ce que votre application nécessite de taper du texte ? Y a –t-il quelaue chose que doive être rempli ou compléter via le clavier ? Non ? Alors vous pouvez surement court-circuiter la barre de talisman. Imaginez simplement que vous commenciez à taper quelque chose et que cela ouvre immédiatement la zone de recherche afin de vous permettre de trouver l’objet que vous recherchez ? Ne serait-ce pas génial ? Hé bien, en fait, regardez comment fonctionne le nouveau menu Démarrer pour vous en convaincre : Depuis ce dashboard, taper quelques lettres pour ouvrir automatiquement la recherche…

D’autres moyens d’améliorer ?

Oui, car rien n’est plus ennuyeux en ergonomie que de ne pas prévoir les besoins et les usages de l’utilisateur. Alors, prenez les devants et proposez lui des fonctionnalités avancées. Et souvenez-vous comment fonctionne la recherche. C’est avant tout basé sur la reconnaissance d’une chaine de caractères. Et généralement, cela renvoie vers une page ù les résultats sont triés. Mais vous pouvez rendre ceci encore plus rapide et précis en ajoutant lors de la saisie des suggestions. Cela permet, entre autre, de proposer un feedback clair du traitement de la recherche (plus j’ai de lettres, moins j’ai de résultats), de voir si l’on est en dehors du scope (après seulement deux lettres tapées, je n’ai plus d’éléments disponibles) et cela autorise en outre un accès plus rapide à l’élément recherché, en cliquant simplement sur la suggestion proposée. Je vous recommande également de mettre en surbrillance les lettres tapés dans les suggestions qui remontent afin d’éviter simplement les fautes de frappe.

clip_image007

L’application Store et sa recherche affichant les dernières recherches effectuées ainsi que les suggestions.

Finalement, ma recherche est faite…

…Et probablement, si votre application est genre « catalogue », elle remonte un grand nombre d’ítems. Je pense qu’il est alors temps de réduire un peu la complexité. Première chose à faire, c’est d’indiquer le nombre total d’items disponibles dans la recherche donnée. Ensuite, Il peut être acceptable de naviguer parmi 20 éléments, mais je ne pense pas que je m’amuserais à fureter au milieu de 200 réponses. Donc, juste sous le nombre d’items, vous pouvez disposer des filtres pour affiner la recherche par date, familles, catégories, prix, etc…). Après cela et seulement après que vous ayez limité le nombre d’items à moins de 50, vous pouvez afficher les résultats, par tous les moyens que vous jugerez nécessaires (pertinence, prix les plus hauts, nombres de sous-éléments, etc…). N’oubliez pas d’adjoindre à cette page de résultats une barre d’application où vous stockerez les actions contextuelles ‘de cette page, comme « rafraichir les résultats », « commencez une nouvelle recherche », « réinitialisez les filtres ». Dernière chose à ne pas oublier, c’est que la recherche peut être effectuée à travers toutes les applications de votre système qui gère la recherche. Si votre propre moteur, ainsi que son ergonomie et sa pertinence, ne sont pas à la hauteur, votre utilisateur lancera vite la même recherche sur une application concurrente de la vôtre… Alors, soyez fins, pertinents et proposez une recherche personnalisée à votre utilisateur et surtout, réfléchissez à la fonction de recherche comme un élément central de votre application.

clip_image009

La page de résultats, avec ses filtres.