Visual Studio 2010 est RTM, mais ne l’installez pas !
Enfin, ne l’installez pas si vous avez déjà commencé à faire du développement pour Windows Phone 7.
Malheureusement, la CTP des outils pours les développeurs Windows Phone 7 (WP Developer Tools CTP) n’est pas compatible avec la version finale (RTM) de Visual Studio 2010. Une mise à jour devrait être disponible sous quelques semaines.
Entre temps, si vous installez la RTM par-dessus votre installation existante des Developer Tools (DT), l’installation marchera, mais vous ne pourrez plus compiler vos projets Windows Phone. En revanche, si vous essayez d’installer les DT sur la RTM de VS2010, l’installation échouera.
Que faire ?
Vous pouvez être patients, après tout, ça fait longtemps qu’on attend VS2010 ; quelques semaines de plus ne signifieront probablement pas la fin du monde. Vous pouvez aussi installer la RTM dans une machine virtuelle, mais pas les DT, ces derniers ne peuvent pas être virtualisés.
Je suis un peu en retard avec mes billets sur Windows Phone, mais ne vous inquiétez pas, je me rattraperai et, dans la foulée, je vous tiens au courant de l’évolution des outils.
UPDATE : Téléchargez les Windows Phone Developer Tools CTP (April 2010 Refresh) (lien direct vers l’installeur web) qui a encore des bugs (voire les release notes) mais qui marche avec la RTM de Visual Studio 2010.
Plus de C# sur l’iPhone ?
Avec la sortie hier du SDK pour l’iPhone OS 4, Apple surprend les développeurs en modifiant un paragraphe clé dans sa licence d’utilisation. Jusque là le paragraphe 3.3.1. lisait :
3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs.
Formulé de cette manière, ce paragraphe empêche simplement les développeurs d’accéder aux fonctionnalités de l’iPhone qui ne sont pas exposées par les APIs publiques, documentées et donc supportées par Apple.
Cependant, le paragraphe en question a été légèrement remanié dans la dernière version de l’accord (je me permets de surligner quelques mots clés) :
3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).
Il n’est plus question uniquement de fonctionnalités ici, mais carrément du choix du langage de programmation. La liste est claire : si vous souhaitez développer pour l’OS 4, vos applications devront être écrites à l’origine en C, C++, Objective-C ou JavaScript—sinon, passez par une application web (ceci n’est pas dit explicitement, mais il est donc la seule alternative restante).
Que deviendra donc MonoTouch, la solution Novell qui permet d’écrire des applications en C# pour l’iPhone ? Certes, le compilateur MonoTouch génère du code natif à la fin, mais l’application n’a pas été écrite dans l’un des langages autorisés à l’origine et on utilise un outil intermédiaire pour générer l’application. La même question se pose pour le compilateur pour iPhone qui devrait sortir avec Flash Professional CS5 puisqu’il se comporte de manière similaire.
L’arrogance de la société de Cupertino est telle qu’ils n’ont probablement rien à faire de la restriction de liberté totalement infondée pour les développeurs, mais je suis déçu quand même.
Enfin, essayons de voir les choses d’un point de vue positif : un potentiel tremplin pour le développement sur Windows Phone 7 ? ;)
Tout ce que vous vouliez savoir sur Windows Phone 7
Et si jamais je ne vous dis pas tout dans ce billet, ne vous inquiétez pas, abonnez-vous au flux RSS, je vais continuer à écrire sur ce sujet le plus souvent possible.
Aujourd'hui je vais être généraliste, je suis sûr que beaucoup veulent en savoir plus sur Windows Phone 7 sans pour autant être développeurs. À l'avenir mes billets seront plus orientés vers le développement sur cette nouvelle plateforme, bien que je me permettrai certains billets à contenu plus éditorial sur le Marketplace, certains choix de la plateforme, etc. Après tout, c'est mon blog.
Commençons donc par le début : qu'est-ce que Windows Phone 7 ?
Jusqu'il y a quelques jours, ça s'appelait Windows Phone 7 Series :
Il s'agit de la nouvelle plateforme pour téléphones mobiles développée par Microsoft. Contrairement à l'iPhone d'Apple, il ne s'agit pas un téléphone. Comme Android, il s'agit plutôt d'une plateforme de développement pour téléphones mobiles. Cela comprend donc un système d'exploitation, middleware, des applications de haut niveau (e-mail, galeries photo, etc.) et un moteur d'exécution d'applications Silverlight et XNA. De plus, Microsoft fournit un environnement de développement riche à souhait (et gratuit, soit dit en passant) comprenant une version dédiée de Visual Studio 2010, Blend, un émulateur, etc. ; j'en parlerai plus en détail dans un prochain billet.
Cette nouvelle plateforme vient succéder à Windows Mobile dans ses différentes versions. Alors que ces derniers systèmes d'exploitation sont basés sur le noyau Windows CE 5, Windows Phone 7 est basé sur Windows CE 6, comme le Zune HD. D'ailleurs, vous allez voir que c'est loin d'être le seul point commun avec le baladeur numérique de Microsoft.
L'interface graphique et, plus généralement, l'expérience utilisateur—un point qui n'a jamais été vraiment bien géré dans les versions précédentes, souvent laissé aux constructeurs ou OEM—ont été totalement revues. L'interaction tactile devient une priorité—les terminaux devront supporter au moins quatre points de contact simultanés d'ailleurs— et le téléphone s'intègre aux réseaux sociaux tels que Facebook, Xbox Live, etc.
Les terminaux (le hardware)
Comme avant, Microsoft ne fabriquera pas de téléphone, mais cette fois-ci les constructeurs devront suivre un certain nombre de règles pour embarquer le nouveau système d'exploitation. Des prototypes préparés par Asus, LG et Samsung ont été montrés à MIX10 et utilisés pour les démos.
Les spécifications exactes ne sont pas disponibles au moment où j'écris ces lignes, mais on sait déjà que tous les téléphones Windows Phone 7 posséderont au minimum :
- Un écran large de 800 x 480 pixels (WVGA) ou 480 x 320 (HVGA)—bien que seulement les premiers seront disponibles lors de la sortie, les derniers visent à réduire le coût des terminaux par la suite.
- Un écran capacitif capable d'identifier minimum quatre points de contact.
- Six boutons hardware : Démarrer (Start), Retour (Back), Recherche (Search ; intégré au « moteur décisionnel » Bing), un bouton pour l'appareil photo, un autre pour mettre sous tension l'appareil, et enfin, le volume.
- CPU : ARM v7 Cortex/Scorpion
- Un chipset graphique supportant DirectX 9.
- 256 Mo de mémoire vive (RAM) et 8 Go de stockage Flash.
- Capteurs : A-GPS, accéléromètre, boussole, lumière, proximité
- WiFi
- Radio FM
- Appareil photo 5 mégapixels avec flash
Les constructeurs pourront choisir, évidemment, d'améliorer ces spécifications et/ou d'ajouter des caractéristiques pour se distinguer ; par exemple, le prototype LG possède un clavier physique.
L'expérience utilisateur
Si vous connaissez Windows Mobile, oubliez tout ce que vous avez déjà vu.
Les équipes responsables d'imaginer le nouveau téléphone ont conçu une interface totalement différente de tout ce qui était fait avant chez Microsoft, tout en s'inspirant du travail fait avec Zune et Windows Media Center, ainsi que les graphismes et typographies utilisés dans les transports publics ; ils ont appelé ceci « Métro UI ». Je parlerai plus sur Métro dans un prochain billet.
L'écran de démarrage reprend les principes de minimalisme et de mouvement dictés par Métro. Il est découpé en tuiles (ou carreaux, ou briques, je ne sais pas encore comment le mot tiles va être traduit en français) animées qui permettent d'obtenir des informations d'un coup d'œil et en temps réel en plus d'accéder plus facilement à vos applications préférés ou vos centres d'intérêt (je ne sais pas comment ils vont traduire le mot hub non plus). Les tuiles affichent aussi ce qui est le plus cher à l'utilisateur : ses contacts, ses photos, etc.
Le même esprit est repris par l'écran de verrouillage. Une grande photo occupe la totalité de l'écran et par dessus sont affichées la date et l'heure ainsi que les prochains rendez-vous, les appels manqués, etc. : un écran de verrouillage informatif.
Vous aurez remarqué dans les quelques captures d'écran dans cet article l'absence les bordures ou de fenêtres, notamment dans la première, le « centre d'intérêt » (promis, dès que j'ai la terminologie française, je vous tiens au courant) People, que j'appellerai Contacts. Dans cette capture on voit bien le concept de panorama : un écran qui dépasse les limites de l'écran physique.
Je ne m'attarderai pas plus sur l'expérience utilisateur, mais on y reviendra dans des articles ultérieurs.
Les applications et les centres d'intérêt intégrés
On en sait peu aujourd'hui sur les applications qui seront livrées avec le téléphone et ce qu'on a vu n'est pas encore finalisé, toutefois certaines applications ont déjà été confirmées :
- E-mails : l'application a été optimisée pour être utilisée avec l'écran tactile, comme c'est déjà le cas chez d'autres constructeurs. Plus intéressant, l'application supportera plusieurs comptes de messagerie simultanément, y compris plusieurs comptes Exchange. Gmail, Yahoo ! et Hotmail seront aussi supportés.
- Calendrier : très spartiate et très différent des autres agendas qu'on a pu connaître. À tester.
- SMS : support pour SMS et MMS en mode portrait et paysage. Par contre, ma fonctionnalité préférée n'est pas spécifique à l'application, mais plutôt au clavier virtuel. Il s'agit d'un panel proposant un grand nombre de smileys. J'y reviendrai dans un prochain article qui abordera le clavier.
- Téléphone : même si j'ai déjà vu des appels être passés depuis la liste de contacts, et un téléphone recevoir un appel, je ne peux pas dire que j'ai déjà vu le téléphone marcher. J'espère avoir plus d'informations prochainement.
- Contacts : une liste de contacts très épurée dans laquelle on peut naviguer avec des gestes simples ou en utilisant le bouton de recherche.
- Navigateur : une toute nouvelle version d'Internet Explorer différente de celle disponible sur Windows Mobile ou sur Zune capable de réagir à des gestes multitouch usuels, navigation par onglets et exécution de Javascript. En revanche, ni Flash ni Silverlight ne seront supportés.
- Recherche : si le bouton recherche n'est pas utilisé de manière personnalisée dans une application, il dirigera l'utilisateur vers le moteur décisionnel Bing ; elle sera donc aussi utile que l'outil en ligne (qui évolue rapidement, mais n'est toujours pas mon premier choix). Je ne sais pas si ceci sera configurable.
- Cartographie : un point clé sur tous les smartphones aujourd'hui, Windows Phone 7 utilisera Bing Maps pour la navigation et cartographie.
Le centre d'intérêt Contacts (je continue à inventer des noms, n'ayant pas de terminologie officielle sous la main) présente les contacts Exchange, Gmail, Yahoo, Facebook, Twitter, etc. et agrège des informations sur les contacts, leurs statuts, photos, etc.
Le centre Images agrège aussi bien les photos et images se trouvant sur le téléphone que vos photos sur Internet et celles publiées par vos contacts sur les réseaux sociaux.
Le centre Jeux intègre Xbox Live, y compris vos points et le même avatar que vous pouvez avoir sur votre Xbox. Il permet aussi l'accès aux jeux installés sur le téléphone.
Le centre Musique + Video, ou multimédia (je continue à inventer les noms) ressemble beaucoup à l'expérience du Zune HD. Il permet l'accès à la musique et aux vidéos que se trouvent sur le téléphone. Vous pourrez acheter de la musique depuis ici aussi.
Le centre Marché d'applications, le marketplace. Ici vous pourrez acheter et télécharger des applications. Ce sera le seul moyen d'installer des applications sur un Windows Phone (avec sa contrepartie PC bien sûr). Il gère aussi les mises à jour et, si le développeur de l'application le supporte, il vous proposera aussi des versions d'évaluation.
Le centre Office (je pense que ce nom est bon) proposera des applications que nous connaissons déjà, telles que OneNote, Word, Excel, … et accès à SharePoint. Malheureusement, je n'ai pas plus de détails en ce moment.
Des applications tierces ont déjà été montrées, notamment lors du MIX10.
Les points qui prêtent à controverse
Dès son annonce, il était évident que Windows Phone 7 serait comparé aux autres acteurs du marché d'aujourd'hui, notamment l'iPhone et les périphériques sous Android, et plus particulièrement si la nouvelle plateforme avait appris des erreurs et des points faibles de ses prédécesseurs. Bien sûr, « erreurs » et « points faibles » sont souvent des points de vue subjectifs et correspondent surtout à des décisions stratégiques des constructeurs.
Le premier point qui fait parler de lui c'est l'aspect multi-tâches. Le système d'exploitation supporte évidement l'exécution de plusieurs tâches simultanées, cependant la plupart des applications ne pourront pas tourner en tâche de fond. Il y a des exceptions à ceci—par exemple, on pourra continuer la lecture de musique en tâche de fond avec l'application Zune—et être catégorique sur l'impossibilité de faire tourner un tâche de fond est un généralisation un peu exagérée de toutes manières.
Une application qui ne peut plus s'exécuter au premier plan, parce qu'une notification a été reçue, il y a un appel entrant ou parce que l'utilisateur à choisi de revenir à l'écran de démarrage, par exemple, ne sera pas tout simplement arrêtée. Dans un premier temps, le système d'exploitation demandera à l'application de se mettre en pause, l'application pourra aussi sauvegarder son état dans une sorte de cookie et ce n'est que si système a besoin des ressources utilisées par l'application, qu'il arrêtera cette dernière. Tout ceci est toujours transparent pour l'utilisateur, pour qui l'expérience de changement de contexte devrait être très fluide. On abordera ces aspects plus en détail dans un billet ultérieur.
Une alternative proposée aux tâches de fond c'est le système de notifications. Microsoft proposera un service de notifications « push » via sa plateforme Live. Ces notifications pourront alimenter les tuiles de la page de démarrage ou afficher des toast (comme le font certaines applications de messagerie instantanée sur PC) en haut de l'écran, même si l'application n'est pas démarrée. Les notifications peuvent aussi être envoyées à une application ouverte pour mettre à jour son état. Le principal avantage du système de notifications est d'exporter la puissance de calcul, et donc la consommation d'énergie, vers Internet ; vers le cloud si vous préférez.
L'autre point qui a enflammé la presse et les blogs c'est l'absence de presse-papiers ou copier/coller. C'est un point qui a été souvent critiqué, notamment par la communauté Windows Mobile, sur les premières versions de l'iPhone. Bien que Microsoft n'écarte pas la possibilité de voir cette fonctionnalité apparaître dans une prochaine version de la plateforme, il est clair que ce ne sera pas disponible au début. Par contre, cela ne veut pas dire que les applications ne pourront pas communiquer entre elles. Il est possible d'envoyer des informations aux applications intégrées pour, par exemple, envoyer un mail, prendre une photo, appeler un numéro, enregistrer un contact, …
Que peut-on faire aujourd'hui ? Quand est-ce que ce sera disponible ?
Aujourd'hui, Microsoft a mis à disposition gratuitement sur Internet l'ensemble des outils nécessaires au développement d'applications, y compris une version de Visual Studio 2010, Expression Blend et un émulateur. Il y a de plus en plus de ressources pour apprendre à développer pour la plateforme aussi. Mon prochain billet sur Windows Phone 7 abordera ce dont vous avez besoin pour écrire des applications et des jeux pour des téléphones sous Windows Phone 7.
Selon les annonces faites en février, les premiers terminaux sous Windows Phone 7 devraient être disponibles avant la période des fêtes 2010. Une date précise n'a pas été communiquée.
Conclusion
Après avoir été largement dépassé par ses compétiteurs dans le domaine de la téléphonie mobile, Microsoft revient en force avec un système d'exploitation, mais surtout avec toute une plateforme qui le place immédiatement aux côtés des principaux acteurs d'aujourd'hui. Malheureusement, Windows Phone 7 n'est pas encore disponible et il est impossible de savoir si le système sera toujours aussi bien placé vis-à-vis des systèmes concurrents lors de sa sortie. Dans tous les cas, il est clair que la création de ce nouveau concept est le fruit de beaucoup d'heures de réflexion pas des experts en expérience utilisateur, mais aussi en développement. En effet, même si la plateforme a été conçue avec l'utilisateur final au centre, la richesse de l'environnement de développement d'applications fait pâlir les alternatives disponibles sur le marché.
Windows Phone 7 n'est pas encore fini et, comme d'habitude, Microsoft a mis à disposition de ses clients un avant-goût de ce que sera cette nouvelle plateforme afin de recueillir le plus de retours possible. Espérons que cette période d'essai sera fructueuse aussi bien pour le constructeur de Redmond que pour nous, les développeurs, afin de permettre à Windows Phone 7, lors de sa sortie, d'être un acteur majeur dans le marché des smartphones.
Entre temps, je vais m'efforcer de découvrir cette nouvelle plateforme—bien que je préfère la considérer plutôt comme un nouveau terrain de jeu—et je me ferai un plaisir de partager avec vous mes découvertes. Pour cela, plusieurs adresses :
- Mon blog, que vous lisez en ce moment, mais surtout son flux RSS
- Mon twitter, et notamment les hashtags #wp7 et #wp7dev
- Mon delicious, et notamment les tags wp7 et wp7dev
N'hésitez pas à me contacter (via commentaire, Twitter, Facebook, formulaire de contact, etc.) si vous avez des questions particulières que vous aimeriez que j'aborde ici.
Visualisation de l’information : Comment marche la génétique ?
Je ne sais pas du tout dans quel contexte cette photo a été utilisée à la base, je l’ai trouvée chez 9gag (via Kottke), mais ça donne envie de faire une conférence sur la génétique, juste pour s’en servir dans les slides ;)
Ludique, sans pour autant être ridicule ou hors sujet ; voilà comment on doit concevoir ses visuels pour garder l’attention de son public et s’assurer qu’ils vont retenir l’information que l’on voulait transmettre.
Valse Irritation d'après Nokia et la découverte de The EG
Je découvre ce matin cette composition pour piano, qui date apparemment de quelques années, écrire à partir de la traditionnelle sonnerie Nokia par le pianiste québécois Marc-André Hamelin.
Plus intéressant peut-être que ce morceau, je découvre la conférence The EG—The Entertainment Gathering. Il s'agit d'une conférence à la TED. D'ailleurs, certaines des conférences sont carrément disponibles sur le site TED. Cette conférence est cependant plus orientée divertissement ou loisir, son but étant de redéfinir la manière dont on entretient nos idées (de l'anglais entertain ideas).
C’est dommage que la conférence soit hors de prix ($4000) et en Californie, mais au moins vous pouvez regarder quelques unes des présentations en ligne. Je vous aurais fait un lien direct, mais le site est trop mal fait ; allez donc sur le site de The EG et cliquez sur l’onglet Video, après vous pourrez utiliser un magnifique menu déroulant pour choisir votre vidéo.
D’ailleurs, ça me fait penser à quelque chose : serez-vous présents au TEDx Paris à la fin du mois ?
Pour finir, une autre petite vidéo EG ; David Pogue et Imagine there’s no technology :
“I’m a Mac, I’m a PC” as seen by children
It’s a funny or die parody of both Microsoft’s and Apple’s ads, so it’s obviously adults talking though two cute little girls. Hilarious:
I’m sensible. I would never spend thousands of dollars to just fit in with the cool kids! I’m a PC, I get the job done!
I am a Mac and, obviously, I’m better than the PC.
Un téléphone Concept Nokia qui marche au coca
Au Coca ou n’importe quelle boisson sucrée, en fait. Pour cela, ce téléphone concept embarque une batterie, ou une pile à combustible pour être précis, qui utilise des glucides et des enzymes pour générer de l’électricité.
En fonction du liquide qu’on utilise pour l’alimenter, la pile usagée rejetera principalement de l’eau et de l’oxygène (et, si mes souvenirs de chimie sont bons, un peu de CO2) ce qui la rend potentiellement très eco-friendly. En plus, d’après Daizi Zheng, le designer qui a conçu l’appareil pour Nokia, les bio-batteries qui alimenteraient un tel téléphone permettraient des temps d’utilisation de 3 à 4 fois suppérieurs à ceux des batteries lithium-ion traditionnelles.
(Via Inhabitat)
Je veux un iPhone ! Non, je veux un AR.Drone !
Oui, je reste légèrement Apple-phobe (la marque, pas leurs produits) donc ce que je veux c’est un AR.Drone, par Parrot. Mais vu qu’il est contrôlé par iPhone ou iPod Touch, je n’ai pas trop le choix et il m'en faut un :P
Le voici en images :
Vous aurez remarqué que la vidéo a été tournée en France (je reconnais le Parc de Bercy où j'allais courir avant) ; je me demande s'il y a moyen de rencontrer ces gens.
La sortie est prévue pour cette année, mais si vous êtes développeur de jeux vidéo on peut déjà vous en prêter un prototype (apparemment contre quelque $1000).
Je n’ai pas regardé en détail le contenu de leur SDK mais ça a l’air d’être surtout axé développement de jeux vidéo orientés realité augmentée et se basant sur des tags 2D et/ou 3D. Ce serait excellent s’ils donnaient accès directement à l’appareil, de manière à développer des contrôleurs sur d’autres plateformes comme Android ou sur PC avec une manette Xbox.
Je vous laisse regader les autres vidéos de l’AR.Drone disponibles sur le site.
Tweets aériens
J’ai entendu des gens suggérer que suis accro à Twitter. Ceci est, bien entendu, absurde, comme en témoignent mes stats ;)
Si j’étais dépendant de Twitter, cependant, MySkyStatus de Lufthansa est l’application Twitter/Facebook que j’aurais vraiment hâte d’utiliser. En fait, je ne suis même pas crédible : la seule raison pour laquelle que je ne l’ai pas encore utilisé, c’est parce que je n’ai pas du tout prévu de prendre l’avion dans le court terme.
Alors, de quoi s’agit-il ?
Comme vous le savez probablement, pour des raisons plus ou moins non valides, les avions ne proposent pas d’accès à Internet. Cela signifie que vous pouvez passer des heures dans un tube de métal sans être capable de dire au monde ce que vous faites en 140 caractères ou moins ! Pour moi, c’est la torture pour vous-même et pour vos followers, qui ne seront pas capables de vous suivre pas à pas. C’est là que MySkyStatus intervient.
Lorsque vous êtes dans les airs, à transpirer et vous gratter, MySkyStatus enverra automatiquement des mises à jour de vos statuts Facebook et/ou Twitter avec votre altitude, position, heures de départ et d’arrivée.
Tout cela est, bien entendu, aussi utile qu’un Nabaztag—sauf si vous êtes un kidnapper et que votre victime utilise le service—mais j’avoue, j’aimerais bien pouvoir prendre l’avion bientôt, rien que pour le tester.
Le service est gratuit, évidemment, et fonctionne avec à peu près toute compagnie aérienne et tout vol. Donc allez-y, essayez-le ; je vous suivrai sur Twitter pour voir si ça marche ;)
Rechercher un astérisque sous Excel
J’étais assis à ma place quand, soudain, quelqu’un rentre dans le bureau de l’informatique avec la question la plus étrange :
On est sur Excel et on a une colonne avec numéros de commande qui se finissent tous par une étoile et on aimerait la virer. Quelqu’un sait comment on fait ?
Évidemment, la réponse en chœur a été immédiate :
Ben, Ctrl+H (ou Edition > Rechercher) et tu remplaces le caractère ‘*’ par rien du tout !
Sauf qu’évidemment, ça ne marche pas. Le piège : l’astérisque (‘*’) est un caractère spécial lorsque l’on fait une recherche sous Excel ; il s’agit d’un caractère générique ou de substitution.
Mais il doit y avoir un moyen de trouver un astérisque dans une cellule Excel, quand même, n’est-ce pas ?
Évidemment ! Tout est possible en informatique ! Il suffit pour cela “d’échapper” le caractère spécial, c’est à dire, le précéder d’un autre caractère spécial ; dans notre cas, c’est le tilde (‘~’).
Cherchez donc la chaîne ‘~*’ (sans les apostrophes, évidemment) et remplacez-la par rien du tout, cela effacera vos astérisques dans votre feuille Excel.

Donec ipsum dui, pharetra viverra gravida cursus, rutrum ac lorem. Cras faucibus
lacus at dui semper mollis eu eu felis.
