Par la force des choses (et surtout les prévisions des participations record sur les sessions découvertes de Windows 7 qui nous obligent à prévoir plus de slots pour la rejouer), la session EMB110 sur l’expérience utilisateur dans les systèmes embarqués a été annulée. C’est une perte sèche pour le parcours embarqué dont je m’occupe, mais comme disent les amateurs de langues mortes, vox populi, vox dei.

Certains des messages clefs de cette session seront cependant reversés dans la session qui la remplace, à savoir EMB108: Découvrez la famille Windows Embedded. Il est donc toujours intéressant de garder ce timeslot et cette salle dans son agenda!

Par ailleurs, je m’engage à vous délivrer par d’autres moyens le contenu de EMB110: dès maintenant dans ce post (en version raccourcie), et en webcast après les Techdays. Cette session devait s’adresser aux développeurs embarqués n’ayant pas forcément connaissance des évolutions du framework .NET et des systèmes de la famille Windows Embedded (sous entendu, les développeurs WPF n’apprendront rien ici…)

L’objectif de cette session était de démontrer l’évolution de l’importance qu’on accorde à l’expérience utilisateur dans les systèmes embarqués. Pourquoi? Parce que de plus en plus de gens sont confrontés a ces systèmes, et particulièrement à ceux de type kiosques et bornes de services. C’est un enjeu très important car un point de service bien réalisé, c’est un utilisateur satisfait et donc fidélisé. Et quand on parle d’expérience utilisateur, on ne parle pas seulement de la beauté de l’interface graphique: on parle aussi souvent de son intuitivité, de sa rapidité, de son accessibilité…

Dans ce cadre, les technologies Windows Embedded proposent des solutions pour que les fabricants et designers de ces systèmes puissent se concentrer sur la valeur ajoutée de leur système: que ce soit pour le coeur du système, ou pour son apparence et notamment son interface graphique.

Depuis Windows Embedded Standard 2009, sorti en Novembre 2008, et avec l’arrivée de Windows Embedded POSReady 2009, en janvier, de nombreuses fonctionnalités viennent améliorer Windows XP Embedded et Windows Embedded for Point of Service: notamment l’ajout du Service Pack 3, qui inclut des fonctionnalités de sécurité supplémentaires, et donc un parc de kiosques/bornes de services plus fiables, et plus important encore si on parle d’interfaces graphiques, le framework .NET 3.5 (voire 3.5 SP1 pour POSReady). Les développeurs de ces systèmes ont donc maintenant accès à WPF, et le gain est très important pour plusieurs raisons:

  • D’abord, pour la séparation que ce nouvel outil apporte entre le rôle de designer et le rôle de développeur, qui disposent chacun de leur outil de développement, tout en les rassemblant autour d’un même projet.
  • Ensuite pour le support des interfaces vectorielles, beaucoup plus agréables à l’oeil et adaptable au client et au cadre d’utilisation.
  • En plus, parce que WPF pour les applications locales et Silverlight pour les applications web sont alignés sur ces principes, il est possible d’offrir une expérience consistante à l’utilisateur quelque soit le terminal sur lequel il se trouve (derrière son PC, sur le web, devant le kiosque)

Enfin, et avec l’arrivée de Windows 7, et notamment le support des interfaces multi-touch, il va sembler naturel aux utilisateurs de se servir de ces interfaces riches, et ceux qui ne le font pas risquent un problème d’image: paraitre obsolète, peu utilisable et inefficace. C’est pourquoi il a été annoncé en même temps à la PDC et à l’ESC East en Octobre 2008 que la prochaine génération de systèmes de la ligne Windows Embedded Standard serait basée sur Windows 7: nom de code de la prochaine version: Windows Embedded “Québec”.

Windows Embedded “Québec” proposera de nombreuses améliorations à la fois dans l’outil et dans les fonctionnalités des composants: s’il nous est pour l’instant impossible d’en révéler plus on peut déjà imaginer l’intérêt du support du multitouch sur par exemple, une borne d’impression de photos numériques. C’est d’ailleurs l’objet des démonstrations qui devaient avoir lieu pendant cette session:

  • D’abord un kiosque fonctionnel, mais pas forcément riche ou joli, avec des Winforms: on peut sélectionner les photos en appuyant sur leur image réduite et on affiche une vingtaine de photo par pages. Ca a le mérite de marcher.
  • Ensuite un kiosque qui reprend le même principe mais en WPF: c’est déjà plus joli, mais surtout c’est skinnable (pour que chaque utilisateur puisse retrouver son profil qu’il pourrait avoir sur le site web de la même société.
  • En plus, parce qu’avec la séparation du moteur de rendu d’interface du code sous-jacent, on peut par exemple très simplement rajouter un contrôle slider (qui n’existe pas en WinForms) qui permet de zoomer sur les photos, et aider à choisir par exemple entre plusieurs photos qui se ressemblent: et chose encore plus intéressante, on pourrait imaginer que ce slider soit en fait une molette matérielle!
  • Enfin, une interface graphique entièrement tactile et manipulable au doigt, basée sur Windows 7 et un HP TouchSmart PC, permettant de naviguer de manière intuitive dans ses photos comme on peut le faire dans un album photo, en tournant des pages du WPF Book Control de Mitsu

L’utilisation riche de WPF et du multitouch de Windows 7 pourrait trouver bien d’autres échos dans les systèmes embarqués: je vous laisse imaginer à quoi pourrait ressembler par exemple une borne de jeu du futur, dans un casino ou une salle d’arcade, avec une interface graphique en WPF entièrement accélérée en 3D avec le support des Pixel Shaders de DirectX et la possibilité d’utiliser ses 2 mains pour jouer!

Il faut donc retenir que malgré la décorellation de la roadmap produits Windows Embedded des produits “Desktop”, le groupe Windows Embedded est engagé à faire profiter des dernières améliorations possibles dans tous les domaines (sécurité, fiabilité, connectivité, interfaces graphiques…) les gens qui choisissent de développer leurs systèmes embarqués avec nos technologies.

N’hésitez pas à me contacter ou à commenter ce post si vous avez des questions par rapport à ce sujet!