Archive

Archive for avril 2011

Une exception lors de l’utilisation des drivers NUI Kinect ?

Hier soir, j’ai enfin trouvé le temps de connecté mon Kinect sur mon PC de (crash)test : un Vista US 32 bits (et oui … pour les mauvaises langues : il fonctionne toujours très bien ! ).

Pas de soucis pour l’installation des drivers NUI ( CL Nui Platform ). Lors de la connexion du Kinect au PC, tout ce passe bien : le kinect et ces différents périphériques sont bien détectés correctement.

install nui

 

Pour un premier test , je lance l’application de test fournie avec les drivers (icone CLNUIDeviceTest sur le fond du bureau, ou Menu démarrer \CL Nui Platform\CLNuiDeviceTest) … et – oh désespoir -  une belle fenêtre d’erreur apparait.

image

D’après les détails accessibles , il s’agit d’une exception “System.TypeInitialization”.

Etape suivante, ouverte du code source avec VS2010 et petit coup de debug dans MainWindow.cs pour voir ce qu’il se passe. Le projet démarre bien, l’énumération des périphériques se déroule correctement (le kinect est bien vu, son numéro de série accessible). Donc les drivers ou le Kinect ne semblent pas la source de l’erreur.

L’exception se produit lors de l’appel à Show() de la CameraWindow. Visual Studio nous permet d’en apprendre un peu plus sur les détails de l’exception : “The type initializer for ‘MS.Win32.Penimc.UnsafeNativeMethods’ threw an exception.”  mais surtout l’InnerException est beaucoup plus pertinente : Il s’agit d’une COMException et le message est sans ambigüité : “Retrieving the COM class factory for component with CLSID {14D4CBD9-7490-4F25-BAA6-1C5E22F6B1E3} failed due to the following error: 80040154.

Verdict : un composant COM nécessaire pour le fonctionnement de l’application n’est pas (ou mal) enregistré sur ma machine.

Quelques recherches plus tard dont je vous passe les détails, et la solution est trouvée : Un objet Com fournit avec WPF3 n’est pas enregistré : PenIMC.dll . Il se trouve dans le dossier C:\Windows\Microsoft.NET\Framework\v3.0\WPF (remplacez C: par votre disque système si besoin).

Un petit coup de regsvr32 dessus :

regsvr32

Le composant COM est maintenant ré-enregistré, je relance l’application de test et ça marche !

kinectpc

 

Petite remarque : si vous lancer l’application mais que celle ci n’affiche aucune image (fond noir) mais que l’accéléromètre fonctionne et le numéro de série est visible … Vérifiez que l’alimentation externe du Kinect est bien branché ! En effet, l’électronique et les périphériques de faible puissance (hub usb intégré, firmware , accéléromètre) du Kinect sont alimentés directement par le port USB. Les composants nécessitant plus de puissance sont alimentés par le transformateur externe (webcam, depth cam et projecteur laser, moteur).

Catégories :.NET Étiquettes : , , ,

Mix2011 : ca continue – keynote 2 : Silverlight, Windows Phone

Apres une première plénière hier couvrant html5, IE9/IE10, ce matin le keynote couvre Silverlight 5 et Windows Phone.

Une attente de keynote assez punchy avec DJ zTrip au platine (http://djztrip.com) que l’on retrouvera (du moins pour ceux présent à Vegas Clignement d'œil) ce soir pour la “attendee party” au Marquee Nightclub.

Une vidéo d’introduction bien punchy a lancé le keynote (Merci brandonfoy.tv (@brandoyfoy) )

Joe Belfiore (corporate Vice President) a été le maitre de cérémonie de la plus grande partie du keynote. Apres quelques explications sur le processus de test des mises à jours des Windows Phone (justifiant ainsi le retard de déploiement de la dernière mise à jour), on est rentré dans le vif du sujet : “Mango” la future version de Windows Phone. Plus de 1500 nouvelles APIs et fonctions dans cette nouvelle version.

De nombreuses démonstrations ont ponctuées les annonces :

  • 16 nouveaux langages (dont les langues asiatiques)
  • disponibilité dans 38 pays (au lieu de 30)
  • marketplace ouvert dans 35 pays (au lieu de 16)
  • Liste des applications : Jumplist, filtre dynamique couplé au marketplace, affichage du statut de download d’une application
  • marketplace : amélioration de la liste des applications, distribution de podcast, détail des applications dans un contrôle panorama
  • historique avec intégration aux applications
  • recherche : intégration plus fine avec bing, couplage avec des applications (ex: recherche d’un titre de film, affichage des rating user fournit par bing, bascule sur une application type imdb ou allociné pour avoir les détails du film)
  • Browser web basé sur le même code qu’ie9, donc avec un support html 5 (audio, vidéo, .. démo sur http://www.boston.com ), barre de navigation en mode paysage
  • amélioration des performances des contrôles (listbox, …)
  • LiveTile : tile de l’écran d’accueil directement piloté par l’application, plusieurs tiles par application (sorte de raccourci pour accéder à des fonctions précise de l’application),
  • Sonneries personnalisées par l’intermédiaire d’un service web
  • socket tcp (démonstration d’un client de chat Irc Sourire, capture écran d’un client Skype ),
  • base de donnée SQL intégrée (model code first, basé sur sqlCE),
  • camera : api d’accès direct au flux vidéo (démo d’une application Amazon capturant le flux pour scanner un code barre)
  • Boussole et gyroscope accessible au travers d’une api simplifiant la récupération de données directement utilisable par l’application
  • Motion sensor : intégration de l’ensemble des capteurs intervenant dans la localisation
  • Fast application switching : maintien en mémoire d’une application aussi longtemps que possible (état “suspended”), bascule rapide d’une application vers une autre
  • Background multitasking : lecture audio même quand l’application n’est plus au premier plan (démo d’une application Spotify), système de téléchargement en tache de fond (son fonctionnement ressemble au BITS de Windows), alarme et rappel programmable et persistant.
  • Background Agent : tache applicative appelé par le système à intervalle régulier et pour une durée maximale prédéterminée.
  • Launcher pour un calcul d’itinéraire

L’ensemble des outils de développement pour la beta de Mango sera disponible courant Mai.

Scott Guthrie a ensuite pris le relais pour nous présenter les outils de développements associés.

  • Vrai simulateur pour l’accéléromètre avec mémorisation des mouvements pour replay
  • Simulation de positionnement en sélectionnant sur une carte bing, simulation de parcours
  • Windows Phone Performance Analysis : collecte de données d’exécution (visual & function call), mémoire (managed objects & texture) , analyse de consommation des ressources par méthode/code, par frame de rendu, bascule directe dans le code (xaml inclus), l’outils fournit des explications et des conseils de correction

Les principales améliorations concernant le sdk ont ensuite été passé en revue :

  • amélioration des performances : scrolling & input, décodage des images , garbage collection
  • meilleur réactivité au sein du UI thread
  • latence de téléchargement réduite
  • temps de chargement des applications (notament XNA)
  • optimisation de la consommation de la mémoire (l’application facebook consomme 30% de mémoire en moins)
  • possibilité de mixer Silverlight & XNA dans la même application : démo du “Mix explorer” avec intégration d’un modèle 3D de scottgu (et c’est là que l’on s’aperçoit que Scott à un bon … coup de zoom)

Après ce morceau de choix, c’est enfin le tour de Silverlight 5 d’être le centre d’intérêt. La plupart des annonces ont déjà été faites, le contenu a été orienté démonstration des nouvelles fonctionnalités :

  • décodage hardware des flux vidéos
  • trickplay (changement de la vitesse de lecture avec correction de l’audio)
  • télécommande
  • API 3D reprenant le même modèle que XNA 4.0 (superbe démo de navigation dans un espace 3D basé sur Babylone … démo et moteur made in France Sourire par David Catuhe )
  • intégration des projections 2D dans le modèle 3D
  • Point d’arrêt dans le xaml (idéal pour débugger le databinding)

Le SDK beta de Silverlight 5 est disponible en téléchargement : http://www.silverlight.net/getstarted/silverlight-5-beta/

 

Pour terminer ce keynote de manière assez fun , Jeff Sandquist de l’équipe Kinect est venu nous présenter le future SDK Kinect. Ce SDK sera disponible avant l’été avec un licensing pour des applications non commerciale.

Le SDK sera utilisable à partir de VB, C# et C++. Il couvrira l’ensemble des fonctionnalités hardwares du kinect (caméra couleur, caméra de profondeur, réseau de micro, suppression des échos, localisation acoustique, animation du squelette)

Quelques démos utilisant un Kinect ont clôturé ce keynote :

  • fauteuil roulant piloté par kinect (coding4fun)
  • Wordwide Telescope piloté par le kinect (Jonathan Fay)
  • Michael Zollner & Stephan Huber (université de Konstaz) ont présenté le “kinect helmet” : casque surmonté d’un kinect qui retourne des informations par vibration à son utilisateur si des obstacles se présentent
  • Jared Ficklin (Frog design, principal technologist) a présenté un jeu basé sur la position corporelle

Au final, ce keynote a été beaucoup plus dynamique que le 1er. On sentait le public beaucoup plus satisfait et content des annonces et des différentes démonstrations qui ont été effectué.

On ne peut que constater que le développement de Windows phone est bel et bien piloté par les usages et par l’expérience utilisateur, Silverlight 5 continue son bonhomme de chemin et couvre de plus en plus de cas d’utilisation.

Catégories :Microsoft Étiquettes : , , ,

Mix 2011 : c’est parti – Keynote du 11 Avril

Ca y est. Le Mix est réellement commencé, bien que des pré-conférences aient eu lieu hier, le vrai coup d’envoi a été donné ce matin avec la première plénière de la semaine.

La récupération du badge d’accès a été très rapide, un modèle d’efficacité (ce qui n’est pas le cas du Wifi … surtout à partir de mon HD7). Bon je reconnais que le réveil à 6h pour cause de décalage horaire aide à être parmi les premier sur place. Petit dejeuner à l’américaine (bacon, omelette, Tabasco, ketchup, fruit & légumes frais, jus de canneberge) et me voilà paré pour le keynote.

Ce premier keynote est orienté HTML5/IE9 avec quelques preview du futur IE10. La majeure partie de la keynote était structurée sur la comparaison IE9 vs. Chrome (chaque démo étant systématiquement projeté en version IE9 et Chrome 12). Google est donc clairement l’”ennemi” désigné dans le monde des browsers. Firefox n’a été cité qu’a de rare moment, et jamais en démo.

Comme on s’y attend, IE9 s’en sort toujours largement haut la main. Les démos peuvent être rejouer chez vous ici : http://ie.microsoft.com/testdrive/. Par défi et curiosité, j’ai testé la démo FishBowl sur mon netbook (atom N550 dual core) … en désactivant uniquement le logo & l’audio, je tourne a 20fps avec 25 poissons pour un cpu a 80%, le tout en mode économie d’énergie.

Malgré une controverse franco-française, David Sinofski (President, Windows & Windows Live) à confirmer qu’il y aurait une Developper Conference  2011 : du 13 au 16 septembre 2011, à Anaheim, CA, USA (On notera la disparition du P de PDC, mais on confirmera la thématique dès que l’agenda sera connu).

Scott Guthrie (Microsoft, Corporate vice president) a ensuite enchainé. Pas de nouveauté, mais la confirmation de la disponibilité en téléchargement de tout un ensemble d’outils et de technologie déjà disponible en beta (WebMAtrix, ASP .Net MVC3, Azure AppFabric Access Control v2, Azure AppFabric Cache, Azure CDN, traffic manager, …). Les outils évoqués sont téléchargeables sur http://asp.net

Scott Hanselman (avec un superbe TShirt EF4.1) nous à fait une belle démo de création d’une application HTML5 avec ASP.Net MVC3, Entity Model by code, Control MVC basé sur le modèle EF, NuGet (http://nuget.org/) pour ajouter les packages SQL Compact et autres dépendances. Sympa et didactique.

Il a ensuite poursuivi avec la création d’un site de podcast avec WebMatrix, NuGet (bouton facebook, commentaire), utilisation de http://TemplateMonster.Com pour générer un template custom, utilisation de la syntax Razor (qui a dit que c’était de l’asp avec du C# à la place du vbscript?Clignement d'œil )

Il est clair que WebMatrix semble un outil de réalisation de site assez productif, du moins si le site reste basé sur l’assemblage de brique pré-packagé (NuGet) avec des développements relativement léger et limité.

Drew Robbins (Microsoft DPE) nous a fait une démo du CMS Orchard en utilisant WebMatrix pour construire le site (la quasi totalité des modules applicatifs etant téléchargé via NuGet), utilisation du site http://tuning.bind.pt pour créer un thème Orchard personnalisé, intégration d’un module d’e-commerce et du checkout Amazon.

Dans la série des CMS, Niels Hartviq (Umbraco, founder & CEO) nous a présenté quelques sites mettant en oeuvre Umbraco v4. la partie la plus intéressante a porté sur l’intégration de l’api de management de Windows Azure directement dans la console d’administration de la future version 5 : il est possible de définir de manière calendaire, le nombre d’instance qui exécuteront le site web. La puissance d’Azure à la demande et planifiée. Ce module applicatif est disponible sur codeplex : http://waacceleratorumbraco.codeplex.com/ 

 

En synthèse, pas d’annonce fracassante lors de ce premier keynote. La confirmation de l’avancée d’IE sur html5, la preview d’IE10 et la future Developper Conference de septembre 2011.

A noter que le keynote est déjà disponible en vidéo à la demande sur http://live.visitmix.com

A demain pour le 2e keynote qui couvrira Windows Phone, Silverlight, …

Catégories :Microsoft Étiquettes : , , ,

Techdays 2011 Geneve : Session “développement Windows Phone 7 avancé”

Juste un petit billet rapide pour confirmer (mieux vaux tard que jamais) ma présence au TechDays 2011 Genevois (http://www.microsoft.com/switzerland/msdn/fr/techdays/) où j’animerai une session sur le développement Windows Phone 7 avancé.

image

Catégories :Windows Phone Étiquettes : , ,