Archive

Archives pour la catégorie ‘Silverlight’

Silverlight Analytics Framework

 

Faire une application Silverlight c’est bien.

L’exposer sur le web, c’est mieux.

Avoir des utilisateurs c’est top.

…Mais combien d’utilisateur j’ai ? Et que font-ils sur mon application ?

Genre la feature de la mort qui tue que j’ai mis 2 semaines à dev est-elle utilisée ?

Appart aller faire du porte à porte auprès de vos utilisateurs, ce genre d’informations n’est pas facile à obtenir (quoique le porte à porte ne l’est pas non plus)

Bien sûr il est possible d’envisager de se recoder une petite librairie qui va loguer l’ensemble des actions de vos visiteurs et ensuite passer encore des jours entiers à vous faire un panel pour voir l’ensemble de ces informations de façon pratique.

Ou bien…il vous suffit d’utiliser Silverlight Analytics Framework qui fait le café pour vous.

Ce Framework est juste bien fait :) .

Son nom devrait je trouve évoluer car même si au départ penser pour du Silverlight, il est maintenant compatible avec l’ensemble des technologies WP/E (WPF, Silverlight, WP7).

Son but est d’offrir de manière très simple une manière de logguer les actions des utilisateurs sur nos applications et au lieu de refaire le monde, utilisez les panels qui existent déjà pour nous afficher l’ensemble des informations collectées.

Prenons un exemple concret :

Vous avez une page de votre application qui porte le doux nom de MyKillerFeature qui contient un truc qui déchire tout sur le plan technique, il serait bon de savoir si vos utilisateurs s’en servent.

Le Framework va vous permettre de savoir d’un part si vos utilisateurs cliquent sur le lien de votre page mais également le temps qu’ils passent dedans et/ou les actions qu’ils font dedans.

Et c’est là que vous allez vous rendre compte que même pas 10% vont voir et qu’en moyenne ils y restent moins de 5 secondes tellement la KillerFeature est sans intérêt pour eux, simple et pauvre user  lambda:).

Mais comment cela marche me direz-vous ?

Simplement je répondrais !

Tout ce fait dans Blend (rien ne vous empêche de loguer des choses dans le code-behind !) d’une façon vraiment simple et a la porté du premier designer venu !

Comme nous l’avons vue, la force du Framework est de se reposer sur l’existant en termes d’outil d’analyse, donc avec un peu de chance, votre favori est déjà géré par le Framework.

Une fois le Framework installé, ouvrez votre page xaml puis glisser le behavior d’analyse qui vous convient sur le layout principal, pour ma part je vais prendre googleAnalytics et le configurer avec le code UA obtenu sur mon compte Google.com/analytics.

La marche à suivre étant la même avec les autres outils d’analyse, il vous suffit de rentrer votre code de tracking(ou identifiants divers).

clip_image001

clip_image002

Voilà, nous avons maintenant fait le plus dur, oui oui !

Lors de l’ouverture du menu behavior vous avez pu voir qu’il en existe beaucoup :

· Plusieurs du type *Analytics, comme nous l’avons vu ce sont nos outils d’analyse et rien ne vous empêche d’en mettre plusieurs à la fois.

· Des Track*, ce sont ces behaviors qui vous permettent…et bien de tracker les actions utilisateurs.

Prenez un exemple simple, glissez un TrackAction vers vos boutons de menu, vérifiez que leur events sont bien réglés sur « Click » et…et bien c’est tout.

Au runtime, les behaviors vont « communiquer » ensemble pour transmettre les informations vers votre interface d’analyse, dans mon cas Google analytics.

A noter que lors de la collection des events, chaque Track* remonte le nom du contrôle auquel le behavior est attaché, il est donc judicieux de donner des noms « propres » a ses contrôles ;) .

Je ne vais pas répéter longuement la doc en vous listant l’ensemble des behaviors disponible mais en bref :

-actions de type event classique

-action de navigation

-action de formulaire (quelles sont le top5 des recherches faites ?)

-action de type Media (combien de temps l’user moyen regarde ma vidéo avant de la stopper ?, est-il passé en fullscreen ?)

-bien d’autre (et rien ne vous empêche bien sûr d’ajouter les vôtres au besoin.

Voilà un Framework qu’il est bon et pratique :) .

Qui plus est, bien fait, on y retrouve des fonctionnalités agréable telles que :

· Gestion des applications Out of Browser

· Gestion du mode offline (envois des stats une fois online)

· Gestion totalement par behavior, ne réclame aucune ligne de code

· Gestion du A/B Testing (offrir une interface particulière (VisualState powered) à 10% de ses users et voir leurs réactions)

Et une liste d’outils d’analyse qui s’agrandit encore régulièrement :

clip_image004

La liste ne vous convient pas ? Votre outil n’est pas dessus ?

Un behavior vous permet d’indiquer un endpoint « home-made » pour les datas donc ajouter votre panel d’analyse perso ne devrait pas être bien long.

Et ensuite rien ne vous empêche de faire un behavior spécial pour votre panel et l’offrir (ou non) a d’autre utilisateur.

Le résultat ? Dans le cas de Google analytics, les statistiques sont disponible chaque nuit sur les coups de minuit, voici celle que j’ai récupéré pour mon petit sample :

clip_image005

clip_image007

On retrouve les catégories que j’ai indiquées dans mes behavior et la répartition du type d’action qui ont été logués.

Si on explore un peu les sous menu, on peut avoir de nombreux détails.

clip_image009

A vous d’avoir une nomination correcte pour vous y retrouver.

Voilà, je pense que nous avons fait un tour rapide de qu’est-ce que Silverlight Analytics Framework et comment l’utiliser pour obtenir un maximum d’information sur ses utilisateurs.

Mettre en place une solution de surveillance sur ses sites est devenu une habitude/obligation depuis quelques années maintenant mais ce n’est pas encore un réflexe au niveau applicatif.

Pourtant nous avons beaucoup à apprendre des habitudes de nos utilisateurs :) .

Je vous invite tout de même a prévenir sur vos applications que des informations quand a son utilisation sont envoyées ;) , offrir un moyen d’activer ou non cette option est également des plus conseillé pour éviter tout ennuis.

L’activation ou non peut ce faire simplement avec quelques lignes de code.

Categories: .Net, Blend, Silverlight, WPF Tags: , , ,

Clavier virtuel XNA sur WP7

J’ai continué un peu mes recherches pour au final trouver le moyen d’avoir le clavier virtuel sous XNA.
C’est suite à une demande d’une connaissance que j’ai eu besoin de chercher cela et au finale la solution était toute bête.
Bon ce n’est pas encore un HUD complet en Silverlight mais c’est déjà pas mal pour rentrer un pseudo de HighScore par exemple :D .
Avec une « fake » textbox, moyen de faire une formulaire complet.

TouchPanel.EnabledGestures = GestureType.Tap; // On enregistre la gesture "Tap" dans celle a surveillées
if (TouchPanel.IsGestureAvailable && TouchPanel.ReadGesture().GestureType == GestureType.Tap)
{
    // On a "tap" l'écran, on affiche donc le clavier pour demander un pseudo
    Microsoft.Xna.Framework.GamerServices.Guide.BeginShowKeyboardInput(PlayerIndex.One,
        "HighScore", "Please enter your pseudo:", // Titre et Sous Titre
        "Stumpy", // Texte par defaut
        (IAsyncResult ar) =>
            {
                string ret = Microsoft.Xna.Framework.GamerServices.Guide.EndShowKeyboardInput(ar);
                Debug.WriteLine(ret);
            }
        , null);

Dans la foulé, un code permettant d’afficher une MessageBox en XNA.

Microsoft.Xna.Framework.GamerServices.Guide.BeginShowMessageBox("Title",
                   "Texte",
                   new List<string> { "OK", "42" }, // list des boutons, maximum deux
                   1, // bouton qui a le focus
                   MessageBoxIcon.Error, // icone de la Messagebox
                   (IAsyncResult ar) =>
                   {
                        int? ret = Microsoft.Xna.Framework.GamerServices.Guide.EndShowMessageBox(ar); // ret prend la valeur de l'index du bouton cliqué
                   }
                , null);

A savoir que le code pour le clavier marche également sur une application Silverlight (une fois les deux références XNA ajoutées) pour si un jour le besoin arrive d’avoir une entrée utilisateur sans que ce dernier clique explicitement sur une TextBox, oui sait-on jamais :) .

Categories: Silverlight, WP7, XNA Tags: , ,

Développeur et/ou designer ?

btncourses

La politique de Microsoft avec sa nouvelle gamme de techno est d’offrir un ensemble d’outil permettant une création rapide de logiciel mais également avec une forte personnalisation.

WPF et Silverlight reposent tous deux sur .Net et ce qui nous concerne dans cet article et qui fait leurs forces sur le langage XAML (eXtensible Application Markup Language).

Langage permettant une vrai interaction avec le code métier tout en restant bien séparé (oui oui, c’est possible).

Nous n’en somme plus aux outils qui génèrent des lignes de code (quoi que si on s’enfonce dans le processus d’exécution, on en revient forcement a cela) comme nous avons pu connaitre avec l’ère des WinForms par exemple.

Cette façon de faire, Apple la compris avec Cocoa qui stock ses interfaces dans du xml, Microsoft quand a lui a opté pour enrichir quelque peu tout cela pour en faire du xaml.
J’évoque ce point car au sein de mon travail je côtoie de très proche Cocoa et j’aime les comparer et voir les forces et faiblesses de chacun (De bons points partout !).

Nous le voyons de plus en plus sur l’ensemble des plateformes, ce qui intéresse l’utilisateur n’est plus vraiment la fonctionnalité, entendre par là que cela doit marcher mais que de nos jours c’est une chose implicite (et heureusement nous aurions tendance à dire) et donc que le point central est maintenant la forme du produit.

Son style, son look, son design !

Savoir mettre en avant une fonctionnalité ne passe plus seulement par la mettre dans le manuel de l’application mais justement que ce dernier soit sans intérêt car l’ensemble des interactions homme machine soient les plus logiques et donc naturelles possible.

Un logiciel n’est donc plus créé par une équipe de développeurs mais de designers qui vont la réfléchir et prototyper en mettant en avant l’utilisation, non plus seulement le fonctionnel du produit.

Ensuite seulement, les développeurs vont sortir leurs outils bien à eux et donner à vie à l’application.

Ce processus en deux temps existe depuis toujours mais les choses étant ce qu’elle était, nous nous retrouvions soit avec une application qui fait le café mais ignoble, soit avec un œuvre d’art mais sans aucun intérêt.

Cette époque est révolue et les outils émergent pour que nos métiers deviennent de plus en plus complémentaires.

Ceux qui me connaissent savent que je suis un piètre graphiste, que le design et moi cela fait 3 mais je tente de me soigner depuis quelques temps maintenant, j’aurais même tendance à dire que malgré mon absence de talent artistique, je « pense » design avant de me jeter sur un morceau de code et c’est déjà un bien grand pas pour nous pauvres développeurs !

Bon ce discours, on le connait tous maintenant mais dans la réalité ?

Et bien les designers et autres « artistes » on les cherche encore à nos côtés en entreprise !

Alors il faut également apprendre à se servir de quelques outils nous permettant de devenir plus polyvalent sur nos créations et d’apporter cette petite touche créative sortant tout droit de nos esprits tordu et agencé a coup de if else.

btntutorials

Lancé il y a maintenant quelques mois, le site .Toolbox réclame d’être mieux connu de par les utilisateurs de Blend pour qui c’est leur outil de travail mais également de ceux qui lance Visual Studio donc nous les esprits tordu.

Oui il faut le reconnaitre, Visual Studio gère le fameux xaml et c’est même pratique pour faire une application minimaliste mais si on veut rentrer dans cette nouvelle ère il faut un outil adapté, le fameux Blend.

.Toolbox est organisé comme un site de gamers mais dispense de nombreux cours sur un panel assez large de possibilités, on y gagne des médailles et autres achievements a chaque fois que l’on passe un niveau donc si vous aviez besoin de motivation pour vous lancer dans le design, dur de faire mieux (si si, en le répétant souvent on finit par y croire)

Vous pourrez constater qu’avec bien peu de code, on peut arriver à de fort jolie ET fonctionnel résultat donc maintenant, une fois votre expertise sur Blend dans la poche je vous laisse imaginer la puissance de vos applications :) .

http://www.microsoft.com/design/toolbox/

[Mix10] Une soudaine envie de développer sur mobile ?

Hero-Amplify-Mix

Lors de la keynote de la Mix 10, nous avons eu le droit a bien des annonces et sorties et ce n’est pas nous dev qui allons-nous en plaindre :) .

Apres un retour rapide de l’historique de Silverlight, quelques démonstrations de son utilisation sur des projets de très grosse taille. On peut citer par exemple les JO 2010 qui ont été intégralement streamer en se reposant sur cette technologie pour un résultat il faut bien l’avouer des plus convainquant !

Nous avons eu le droit à de nombreuses démonstrations, certaine attendu d’autres nouvelles.

Mais surtout on retiendra la sortie de l’ensemble des outils pour développer sur la nouvelle monture de Windows mobile, oui oui, celle qui on l’espère va permettre de donner un coup de fouet, encore !, a ce marché si mouvementé.

Pour vous y essayer, il vous suffit de télécharger le kit de dev qui comprend :

· Visual Studio 2010 express RC

· Silverlight 4 RC

· XNA GS 4.0 CTP

· Le simulateur wp7 (qui gère sans soucis la 3D pour XNA)

Tout cela, « bien sur » gratuit et le restera par la suite pour permettre à tous de se lancer dans la création d’application et jeux sur mobile.

La distribution quand a elle reste sur le principe de marketplace donc rien de très nouveaux si on ne prend pas en compte le changement d’interface. Un petit regret sur le fait que pour le moment le business model ne donne pas vraiment envie aux développeurs amateurs de s’y essayer et que cela ne semble pas vouloir changer.

Edit: A première vue, les étudiants pourront distribuer leurs applications gratuitement par le biais de programme du type DreamSpark donc l’ouverture est la malgré tout ;)

A disposition également, Blend 4 et l’add-in pour wp7, Blend reste un outil payant mais a noter que les possesseurs de la version 3 auront l’upgrade gratuite :) .

· Blend 4 beta

· Blend SDK for windows phone

· Blend add-in for windows phone

Blend4WPEmu1

Bien sûr, cette grosse sortie s’accompagne de nombreuses docs sur MSDN et sur de nombreux sites. Quelques samples par ici.

Dès que j’ai une minute pour moi, je ferais sans doute un petit article à propos de ma « première application wp7 », le plus dur reste l’idée, ensuite la réalisation est vraiment « bidon » comme peut vous le montrer par exemple Bradon Watson avec son client twitter.

On ne va pas tarder à perdre nos jobs, j’vous l’dis !

PhotoSynth, visite du GameDevLab

logo_photosynth3smallb Depuis hier je Test. un peu PhotoSynth, un des services de Microsoft actuellement en beta.

A partir d’une multitude d’image d’un lieu, il est capable de reconstituer une sorte de visite virtuelle de l’endroit.

Nul besoin de faire vraiment attention lors de la prise de photo, le logiciel s’occupe de tout “mixer” pour en sortir un résultat un peu près cohérent.

Bon bien sûr, un lieu “statique”, comprendre par là on évite un bain de foule en mouvement est tout de même plus appréciable si on veut comprendre la scène rendu ;) .

J’ai fais deux Test. en prenant en photo le GameDevLab d’Epitech avec une bonne centaine de photo a chaque fois, ce n’est pas encore parfait mais on reconnait sans problème le lab et on peut sans soucis s’y repérer.

On peut trouver d’assez belle scène un peu partout sur le net mais surtout sur la version Silverlight de Bing Map:

Un exemple sympa prenant place a Paris.