N’oublions pas Windows Mobile

le 08/03/2010 par Vincent Guigui
Tags: Software Engineering

Est-ce que vous vous souvenez de l’époque où l’on répondait sans hésiter « PocketPC » ou « Palm » lorsque l’on nous parlait de PDA ?

Nous appelions cela des assistants personnels. Ils nous permettaient de lire et écrire des documents, de synchroniser des fichiers, d’écouter de la musique, de jouer à des jeux, de télécharger des applications variées que nous trouvions sur des sites encore plus variés.

L’eau a beaucoup coulé depuis, ainsi que les ventes. Aujourd’hui l’iPhone est sur toutes les lèvres et dans presque toutes les poches. Parce que l’iPhone est un produit accessible et qui intègre un bon nombre d’innovations (certaines moins récentes que d’autres) beaucoup d’entreprises l’ont choisi comme plateforme cible numéro 1 sans avoir vraiment envisagé de numéro 2.

Je ne vais pas essayer de vous faire pleurer en vous jouant un air nostalgique 8bits ou de vous faire croire que « iPhone is evil », je vais plutôt vous présenter les possibilités d’une autre plateforme que l’on met parfois trop vite au placard : Windows Mobile.

Pour ceux qui ne connaissent pas cette plateforme, ce sera une bonne façon de découvrir ses possibilités. Pour ceux qui l’ont connu et qui sont passés à autre chose, il est toujours intéressant de se rafraîchir les idées. Pour les autres (ceux qui connaissent déjà), vous pouvez au moins faire une lecture pour vérifier que je ne dis pas de bêtise.

(un téléphone Windows Mobile sera nommé Windows Phone dans le reste de l’article)

La plateforme matérielle

Il n’est pas vraiment possible de citer des spécifications matérielles précises pour les plateformes Windows Mobile. Ce sont les fabricants (« hardware vendors ») comme HTC, Samsung, Sony Ericsson ou Motorola  qui définissent eux-mêmes les caractéristiques de leurs Windows Phone.

En se basant sur les contraintes du marché (cible et coût), ils choisissent :

  • le processeur et puce dédiée : video, cryptographie…
  • la quantité de mémoire : RAM et stockage de masse
  • la présence de composants multimédia : appareil photo, GPS, capteur de mouvement…
  • la technologie d’écran : capacitif ou résistif ainsi que la résolution
  • la conception général : design, coque renforcée pour un usage en environnement extrême, clavier, connectique disponible, intégration d’un lecteur de code barre ou RFID…

En 2002, 50 fabricants à travers le monde ont produit des appareils équipés de Windows Mobile aussi bien en B2C qu’en B2B. Motorola (anciennement Symbol) ou Monarch Instrument ont produit une quantité impressionnante d’appareils Windows Mobile adaptés à des usages en environnement à risque (humidité, pression atmosphérique, chute, température) et intégrant une grande quantité de périphériques (imprimante, lecteur, détecteur, convertisseur numérique…)

Et Microsoft dans tout ça ?

Evidement la société Microsoft guide et valide dans une certaine mesure les choix technologiques afin de pouvoir apposer un label sur le produit mais sans forcement imposer des contraintes fortes. Les contraintes viennent plutôt de la conception du système d’exploitation Windows Mobile.

La manière dont a été conçu Windows Mobile oriente certains choix mais apporte à la fois une grande flexibilité. Les fabricants doivent contrebalancer les défauts de l’OS (interface graphique, performances, usage mémoire…) par des choix de composants judicieux (CPU plus puissant, stockage plus rapide) et éventuellement des développements spécifiques (souvent une surcouche graphique).

Prise en charge de nouveaux composants

L’architecture basée sur des standards industriels permet une prise en charge native d’un très grand nombre de composants et de périphériques connectables par IrDA, Bluetooth,  port série virtuel… De plus cette architecture est suffisamment ouverte pour permettre aux fabricants de développer les pilotes ou les couches logicielles nécessaires pour tirer partie de nouveaux composants non-standardisés qui ne seraient pas pris en charge nativement par l’OS (ex : l’accéléromètre, capteur de luminosité…).

Cette souplesse permet de mettre sur le marché des produits très variés en termes de conception (adaptés à des usages spécifiques) et de fournir des fonctionnalités parfois en avance de phase par rapport à la définition de standards.

Le cycle de développement des OS Mobile de Microsoft est assez lent et n’intègre pas la notion de mises à jour mineures. Si un nouveau composant est à prendre en charge ou un correctif spécifique est à déployer, ce sera aux fabricants de l’intégrer et de le mettre à disposition des utilisateurs via une mise à jour du « firmware ».

Les logiciels

Les Windows Phone sont issus d’une stratégie orientée bureautique héritée de la version PC. L’ergonomie s’en inspire aussi et l’on retrouve des scrollbars, popup, liste déroulante, glissière… ce choix d’ergonomie était louable dans la mesure où il réduisait le besoin d’adaptation de l’utilisateur lors du passage du bureau au mobile. En pratique, l’utilisateur subit cette ergonomie et l’utilisation de composants peu intuitifs ou complexes à manipuler avec un écran tactile.

Les Windows Phone ont tout de même eu leurs heures de gloire et cela n'a pas empêché les entreprises et les professionnels de les adopter. L’intégration par défaut de logiciels pour l’entreprise et sa compatibilité avec la suite Office a surement pesé en leur faveur.

Les Windows Phone sont équipés nativement de :

  • Office Mobile : Outlook avec comptabilité Exchange (calendrier, contact, mail, tâches), Powerpoint, Word et  Excel en lecture/écriture avec la compatibilité Office 2007
  • Au moins un navigateur dont l’incontournable Internet Explorer*,  les fabricants ou opérateurs mobile  fournissent en général Opera Mobile pour combler les lacunes du navigateur par défaut
  • Un lecteur multimédia ouvert gérant plusieurs codecs et permettant le streaming
  • Le framework .Net 2.0 ou 3.5 Compact Edition permettant d’exécuter des applications .Net
  • L'inscription dans un domaine et la gestion de la connexion à un VPN

* Pocket Internet Explorer 5 était très en retard par rapport à ses concurrents  à cause de problèmes de performance et de compatibilité JavaScript / CSS.

Internet Explorer Mobile 6 (livré avec les nouveaux Windows Phone depuis fin 2009) est censé éviter l’installation d’un navigateur alternatif et faciliter le développement d’applications Web riches grâce à une meilleure prise en charge des standards du Web. En  pratique les performances et la compatibilité ne sont pas toujours au rendez-vous et nécessite de développements spécifiques. Une nouvelle version d’Internet Explorer Mobile devrait voir le jour avec la sortie de Windows Phone 7 et contiendra un moteur de rendu hybride entre IE7 et IE8 sur PC.

Les fabricants  et les distributeurs (opérateurs mobiles) ont la possibilité de personnaliser l’OS et de choisir les applications mises à disposition sur leurs appareils. La présence d’applications dépend en général de plusieurs facteurs :

  • Des facteurs commerciaux comme la nécessité pour le distributeur d’acquérir une licence auprès d’un éditeur logiciel impliquant un coût de production plus élevé
  • Des facteurs marketing comme l’intégration d’une application (Facebook, Twitter…) pour satisfaire une demande du marché (Social, 2.0, Location Based Services)
  • Des facteurs techniques : la présence d’une application peut provoquer l’instabilité du système ou procurer une expérience utilisateur insatisfaisante. Ainsi le module complémentaire Adobe Flash Lite est par exemple absent sur les plateformes mobiles n’ayant pas les ressources suffisantes pour le faire fonctionner de manière optimale

La plateforme Windows Mobile (anciennement Windows CE ou PocketPC) existe depuis maintenant presque 10 ans, le nombre d’applications gratuites ou payantes est conséquent mais il faut s’armer de patience pour trouver la perle rare. Le manque de catalogue unifié et surtout de certification des applications entraînent un niveau de qualité et de sécurité très variable d’une application à l’autre.

En 2004, il y avait (officiellement) 20 000 applications commerciales Windows Mobile dont seulement 2 000 certifiées Mobile2Market

Microsoft tente depuis quelques mois de s’aligner sur ses concurrents en développant une solution B2C nommée Marketplace (anciennement Mobile2Market) qui est l’équivalent de l’AppStore d’Apple ou de la boutique Ovi de Nokia. Le catalogue d’applications validées est actuellement assez faible (pour diverses raisons dont la faible popularité des Windows Phone et  le coût de certification des applications). Il atteint tout juste les 100 applications sur le catalogue français et environ 300 pour le catalogue américain.

Quelles sont les possibilités des logiciels ?

D’un point de vue technique les possibilités des applications sont presque aussi étendues que sur PC. Il est possible d’installer des Services Windows (application sans interface s’exécutant en tâche de fond), d’installer un mini-SGBD tel que SQL Server Compact Edition (pouvant se synchroniser automatiquement avec un SQL Server d’entreprise) ou de faire des applications consommant des WebServices.

Les applications ont nativement un accès « libre » aux données stockées sur le Windows Phone. Via des API standards (telles que Pocket Outlook Object Model), il est par exemple possible de modifier un contact ou de créer un évènement dans le calendrier de l’utilisateur. Cette liberté peut être considérer comme un risque lorsque l’on ne maîtrise pas les applications installées mais c’est aussi un gain énorme en terme de possibilités fonctionnelles et de productivité des développements.

Comment créer ses propres applications pour Windows Phone ?

Les Windows Phone (tout comme les PC) peuvent exécuter des applications développées dans différents langages. On peut citer : .Net (C#, VB.Net, C++), Embedded Visual Basic, Java, Javascript (pour les widgets), Windev, Delphi, C++…

L’environnement de développement le plus souvent utilisé est Visual Studio 2008. Déjà très utilisé pour le développement d’applications PC, il offre les mêmes fonctionnalités End-to-End (de la conception au déploiement) pour le développement mobile. Le développeur profite donc par exemple d’un framework de tests unitaires, d’un debugger avancé et d’une solution de packaging d’application.

Dans le cadre du développement mobile, Visual Studio intègre en plus un émulateur assez complet et très fidèle à la plateforme cible (à la vitesse d’exécution près), il permet entre autres d’émuler :

  • différentes résolutions d’écrans et le changement d’orientation
  • la connectivité sans fil (WiFi, GPRS, 3G, Bluetooth…) et les ports de communication
  • le GPS, le niveau de batterie…

L’un des principaux avantages d’utiliser Visual Studio est la réutilisation de compétences et des ressources. Ainsi un développeur déjà initié aux développements .Net n’aura (presque) rien à apprendre pour réaliser ses premières applications et pourra éventuellement mutualiser des ressources (fichiers sources, fichiers de données ou couches logicielles) entre les applications PC et Mobile.

Je profite que nous parlions actuellement de développement et que vous sachiez déjà ce qu'est Windows Marketplace, pour vous signaler que la boîte à meuh Octo iDailyScrum vient de dépasser les 10 000 téléchargement. iDailyScrum est téléchargeable gratuitement sur le Windows Marketplace et est aussi disponible sur iPhone__.

Et le nouveau Windows Phone 7 dans tout ça ?

Windows Phone 7 aurait dû sortir en 2009, mais suite à plusieurs retards Microsoft a préféré sortir à la place un Windows Mobile 6.5 afin de tenter de conserver ses parts de marché face à l’iPhone et à Android. Ce Windows Mobile 6.5 essaye de rendre un OS en retard ergonomiquement plus attractif pour l’utilisateur lambda. Ce « nouvel » OS ajoute une surcouche graphique « finger-friendly » au noyau Windows Mobile 6.1, il est de plus équipé d’Internet Explorer Mobile 6 et de Windows Marketplace. Malgré tout l’OS 6.5 peine à convaincre les fabricants et le grand public qui se tournent vers les plateformes concurrentes, les parts de marché ont ainsi dégringolé de 11% à 8% entre 2009 et 2010 (soit 30% de parts de marché en moins pour Microsoft).

Windows Phone 7 est prévu pour l’automne 2010. Il est assez difficile de savoir ce que Microsoft nous réserve réellement. Les arguments marketing et les spécifications techniques restent confus. Toutefois il est possible d’affirmer que Windows Phone prendra en charge Silverlight Mobile (framework RIA), XNA (environnement d’exécution pour les jeux) et évidement le .Net Compact Framework.

Microsoft semble vouloir suivre une voie similaire à l’iPhone en imposant des spécifications techniques strictes aux fabricants. Ceci afin d’harmoniser l’écosystème des appareils présents sur le marché pour faciliter les développements et fournir une expérience utilisateur homogène (« We want innovation without fragmentation » dit Andy Lees, senior vice président de Microsoft’s Mobile Communications Business). Les fabricants devront donc équiper leurs appareils :

  • d’un écran capacitif permettant le multipoint et d’une résolution minimum de 800x480
  • d’une caméra 3MP minimum, d’un assisted-GPS, d’une boussole et d’un accéléromètre
  • d’une prise en charge matérielle d’Open GL ES 2.0
  • d’au moins 3 boutons physiques: Back, Start, Search

Microsoft souhaite de plus accroître la visibilité de la marque Microsoft auprès des utilisateurs en limitant les possibilités de personnalisation (branding) des fabricants/distributeurs et en fournissant des services mobiles (tels que MyPhone et Marketplace) directement aux utilisateurs finaux.

Avec Windows Phone 7, Microsoft choisit une stratégie très « consumer oriented » et souhaite proposer un appareil communiquant ludique faisant le pont entre la téléphonie, le social, le multimédia (Zune) et le videoludique (intégration Xbox Live). Qui se osera dire Windows iPhone 7 ?

Conclusion

En conclusion, les Windows Phone représentent des plateformes très complètes mais qui souffrent d’une mauvaise image auprès des utilisateurs (lenteur et ergonomie). Ces remarques sont pour la plupart justifiées mais sont bien entendues à mettre en perspective avec les gains apportés par ces plateformes (productivité des développements, évolutivité, gestion de flotte).

A l’époque où ils s’appelaient encore Pocket PC, les Windows Phone ont largement été utilisés par les entreprises des secteurs industriels. Les coques renforcées et les périphériques en faisaient et en font toujours des plateformes de choix.

L’arrivée des Windows Phone 7 devrait permettre à Microsoft de se positionner en concurrent de l’iPhone, mais il est encore trop tôt pour savoir si le marché des entreprises profitera lui aussi d’innovations structurantes. Le fameux Mix10 qui aura lieu à la mi-mars devrait nous fournir des réponses claires sur la nouvelle stratégie Microsoft. Patience …

Voici quelques liens qui vous permettrons de mieux connaître les Windows Phone :

En fonction de vos remarques et de vos demandes, un ou plusieurs articles seront publiés sur les sujets suivants :

  • Gestion de flottes et intégration des Windows Phone dans le parc informatique de votre entreprise
  • Outillage du poste de développeur et stratégie de développement
  • Intérêt du Windows Markeplace en fonction de vos projets