13 Apr 2011

Windows Phone MIX 2011

Un nouveau SDK pour Windows Phone 7 sera disponible en mai et Microsoft annonce les nouveautés suivantes: • Live Agents pour gestion du mutitache, lecture d'audio ou transfert de fichier en background. • Intégration du téléphone meilleure plus de flexibilité dans les gestion des live tiles. • Accès à la boussole, à la cam, aux sockets et à une DB .


Microsoft said it remains on track to start delivering the next version of Windows Phone to new and existing devices by the end of this year. Windows Phone Developer Tools will be available in May, and Microsoft announced that new features will enable the following: • Live Agents create superior customer engagement with real-time interactions via Live Tiles, Push Notifications, Deep Linking and Background Agents. Multitasking is also enhanced to allow for fast applications switching, as well as background audio and file transfer. • Phone integration has been greatly improved for developers wanting to do more with their apps. The Live Tiles functionality has been expanded to give developers more flexibility and engage with their customers better. • Developers will have access to the Motion Sensor library and the camera, enabling augmented reality experiences. The integration extends deeper into the operating system via sockets and database access now available to apps and games.

15 Feb 2011

BarCamp Phone 7


Développeurs mobilité sur Lyon, Iphone, Android, ou Windows Mobile, on vous attend le 22 Mars (après-midi) pour discuter de Microsoft Windows Phone 7. Cette sessions sera sous la forme d'un BarCamp = conférence freestyle mais professionelle : tour de table des candidats, choix des thèmes à aborder, répartition en groupe des participants, travail sur un thème particulier...


Les sujets abordés seront en fonction de l’audience, cependant dans les grandes lignes :



  • Pierre Belin (MCP Windows Mobile) vous parlera de développement et de design (orienté UI/UX, Expression Blend, …)

  • Vincent Gaviot (marketing Adeneo Embedded) vous parlera des aspects marketplace et monétisation

  • Moi-même (MVP device application developement) vous parlerai de développement sous WP7 (le sdk, le web, les spécificités de Windows Phone 7, …)

  • Et enfin un intervenant Microsoft viendra nous épauler sur tous ces sujets :)

C’est une première sur Lyon et c’est gratuit. Par contre, les places sont limitées.
Pour vous inscrire ou avoir plus d’infos, contactez-nous : training.emea@adeneo-embedded.com


11 Jan 2011

Mise à jour Phone 7

Comme vous le savez, Phone 7 intègre un système de mise à jour depuis Zune, on va pouvoir profiter de ce système au mois de février avec la première mise à jour.
Au programme :
- Le copier / coller ;-)
- Amélioration des performances au chargement des applications
- Recherche plus efficace sur le MarketPlace (ce ne sera pas un luxe vous allez me dire ;-)
Et il est prévu pour une prochaine mise à jour : HTML 5 + Silverlight dans IE.


http://www.youtube.com/watch?v=m_u81xRu-yo

As you know, Phone 7 integrates an update mechanism from Zune, we could take profit of this new mechanism at February.
At the program:
- Copy / paste ;-)
- Performance improvements, application load times
- Search engine improvements on MarketPlace (It's not a luxury you will say to me ;-)
And a next update is planned with : HTML 5 + Silverlight in IE.

9 Jan 2011

Graphic assets needed for MarketPlace

Pour publier votre application sur la MarketPlace, vous aurez besoin d'un certain nombre de ressources graphiques dans des formats différents :


  • Icône de la tuile en 173 * 173
  • Petit icône en 99 * 99
  • Grande icône pour le MarketPlace sur le PC en 200 * 200
  • Fond d'écran en 1000 * 800
  • Des copies d'écran de l'application en 480 * 800

For publishing your application on the Marketplace, you will need some graphics assets under different formats:

  • Tile icon : 173 * 173
  • Small mobile app icon : 99 * 99
  • Large PC app icon : 200 * 200
  • Art background : 1000 * 800
  • Screenshots : 480 * 800

Pour facilement convertir ces icones, vous pouvez utiliser Gimp, voici la procédure :
To easily do this, you can use Gimp, here are some steps:

  • Créer une nouvelle image
    Create a new image












  • Déplacer l'icone original dans la nouvelle image, redimensionner à la taille de la nouvelle image
    Drop the image file in the new image, resize the new image
















  • Choisissez la taille de redimensionnement souhaitée
    Choose the new wished size

  • Sauvegarder l'image en PNG
    Save the image as PNG file

My blog on WP7 app

Prochainement une application pour suivre mon blog sur Windows Phone 7.
Soon an application to follow my blog on your Windows Phone 7.

WinMote 7

WinMote est maintenant disponible dans sa première version sur la MarketPlace.

WinMote is now available in its first release on the MarketPlace.

WinMote7 est une application de télécommande mise au point par Adeneo Embedded en collaboration avec GoProd qui permet à tout utilisateur de contrôler les medias de son PC Windows 7 à distance via son téléphone Phone 7. L'utilisation de l'application nécessite l'installation d'un serveur WinMote sur votre PC, plus d'info sur le téléchargement du serveur WinMote sont fournies dans l'a propos de l'application. Avec cette application, vous pouvez contrôler votre webbrowser pour lancer des sites Web, lancer et contrôler des vidéos stockées sur votre PC, voir et parcourir vos images, contrôler la musique sur votre PC, lancer des chaines de TV ou de radio Freebox sur votre PC, contrôler et voir vos présentation Power Point. Une version d'essai permettant d'evaluer l'interface utilisateur est disponible gratuitement.


Une FAQ est disponible lors du téléchargement de l'application PC.
Si vous n’avez pas de réseau WIFI local, vous pouvez par exemple transformer votre PC en hotspot à l’aide d’un logiciel prévu pour cet effet (par exemple : http://www.connectify.me/)

Des mises à jour avec de nouvelles fonctionnalités sont prévues.

Si vous vous voulez des infos, envoyez un mail à : WinMote@adeneo-embedded.com

WinMote7 is a remote control application developed by Adeneo Embedded in collaboration with GoProd that allows you controlling various media on your Windows 7 PC via your Windows Phone 7 device. This application requires you to install our WinMote Server on your computer. more info for downloading the WinMote Server is provided inside the about box of the application. With this application, you can control your browser to access web sites, launch and control videos stored on your PC, view and browse your pictures, control your music on your PC, launch Freebox TV or radio channel on your PC, Control and view PowerPoint presentations. A trial version allowing evaluation of the user interface is available for free.


A FAQ is available when server application downloading. If you don’t have a local WIFI network you can transform your PC as a hotspot with a software provided to do this (for example: http://www.connectify.me/)


Some updates with new features are planned.

If you want more info, please send a mail at: WinMote@adeneo-embedded.com







Happy New Year




10 Dec 2010

Article Pogrammez : Migration vers Phone 7

J'ai écrit cet article pour le magazine Programmez, il vous donnera un état des lieux de la migration d'une application de Windows Mobile 6.5 vers Phone 7.

Version anglaise disponible la semaine prochaine.

English version of the article «How to migrate your application from WinMO 6.5 to Phone 7 » available next week.

Migration d’une application WinMo 6.5 vers Phone 7

La migration d'une application existante est une question que tout développeur ayant fait le pari de Windows Mobile dans ces versions précédentes doit se poser avec Windows Phone 7. En effet, même si auparavant d'une version sur l'autre, les changements étaient mineurs et la compatibilité globalement assurée, le changement radical opéré par Windows Phone 7 oblige à étudier de nouveaux runtimes (Silverlight et XNA vs .NET Compact Framework 2.0 et 3.5) et de nouveaux outils (Visual Studio 2010 et Expression Blend 4 vs Visual Studio 2008). Loin de se vouloir exhaustive, cette fiche a pour but d'aider un développeur Windows Mobile 6.5 à évaluer « facilement » la tache de portage de son application.


 

Modèle de l'application

Le modèle actuel de votre application va jouer un rôle primordial dans le portage. Si le découpage interface/ métier de votre application Windows Mobile 6.5 était bien pensé, le portage sera d'autant plus aisé. Les couches IHM seront complètement à récrire, mais les couches logique métiers et modèles de données pourront être réutilisée telles quelles ou portée à quelques deltas près.

Windows Mobile 6.5

Windows Phone 7

Le pattern MVC pouvait être utilisé afin de découpler la couche IHM de la couche métier. Ainsi l'application était composée d'un contrôleur régissant les échanges entre la vue et la couche métier.

Si aucun design pattern n'a été suivi, la séparation est plus compliquée, mais c'est aussi l'occasion de restructurer tout ce code !

Utilisation de Silverlight, le pattern MVVM est plus adapté pour utiliser le data binding et tirer la quintessence de Silverlight.
Dans le pattern MVVM, nous avons toujours une couche métier, le « Model », une vue « View » (composée de l'UI en XAML et d'un fichier code-behind contenant la logique de présentation liée à l'UI) ainsi qu'un objet ViewModel associé à cette vue. Le ViewModel fait le lien entre les vues et le modèle de données : son rôle principal est de « présenter » les données du modèles en propriétés (au sens C#) exploitables par l'UI. Les classes du ViewModel devront implémenter l'interface INotifyPropertyChanged qui permet à l'UI Silverlight d'être rafraichie lorsqu'une donnée du ViewModel est modifiée.


 

L'expérience utilisateur

Comme vu dans le paragraphe précédent, l'interface est donc la partie à refondre complètement, le cas échant l'expérience utilisateur pourra être revue et adaptée à la nouvelle expérience Windows Phone 7.

Windows Mobile 6.5

Windows Phone 7

Aucune recommandation n'était préconisée en termes d'IHM, chacun faisait comme il l'entendait.

Il est souhaitable de coller au langage de design de Windows Phone 7, Metro. L'idée est de faire quelque chose de simple à la manière du guidage dans les aéroports et dans le métro, l'identité graphique est fortement basée sur la typographie, les pictogrammes et les espaces négatifs. L'interface doit rester sobre, fluide et sans chrome

Afin de ne pas monopoliser le thread d'UI, les traitements complexes doivent être déportés dans autres threads.

Afin de ne pas monopoliser le thread UI, les traitements complexes doivent être déportés dans des autres threads. Ce thread « métier » effectuera le traitement asynchrone et notifiera l'IHM des modifications à la fin du traitement :

new
Thread((ThreadStart)delegate

{

// Traitements à réaliser

Deployment.Current.Dispatcher.BeginInvoke(() =>

{    

// Mise à jour de l'IHM

});


 

}).Start();


 

Les contrôles

La plupart des contrôles de Windows Mobile 6.5 sont disponibles sur Phone 7 avec des propriétés et des possibilités de customisation beaucoup plus évoluées. Le positionnement des contrôles dynamique sera grandement facilité grâce des panels évolués comme le stackpanel ou la grid.

Windows Mobile 6.5

Windows Phone 7

 

PhoneApplicationFrame 

Form

PhoneApplicationPage

MainMenu

Application bar

 

System tray

Panel

Canvas, StackPanel, Grid

Button

Button

TextBox

TextBox

PictureBox

Les PNG transparents ne sont pas gérés nativement, les APIs native d'Alpha Blend doivent être wrappées

Image

Le format PNG est supporté nativement et son support est accéléré par GPU

ListView

Difficilement personnalisable

ListBox

Très facilement personnalisable à l'aide des Templates disponibles dans Silverlight

ProgressBar

ProgressBar

Utilisation d'un panel et des évènements de reconnaissance geste

ScrollViewer

Label

TextBlock

Composant MediaPlayer importé depuis l'ActiveX MediaPlayer via un wrapper d'objet COM

Le nouveau composant Media Element est directement accessible depuis le code Silverlight et décode nativement les formats de vidéos suivants :

H263

WMV

MPEG-4

Navigateur WEB

System.Windows.

Forms.WebBrowser

WebBrowserTask

Prendre une photo

Microsoft.WindowsMobile.

Forms.CameraCaptureDialog


 

CameraCaptureTask

Appeler un contact

Microsoft.

WindowsMobile.Telephony.

Phone


 

PhoneCallTask

Envoyer un SMS

Microsoft.WindowsMobile

.PocketOutlook.

SmsMessage


 

SmsComposeTask


 

Les APIs

Sur Phone 7 fini les spécificités de code et cas particuliers mis en place pour chaque terminal, tout est unifié grâce à un hardware homogène et une API unifiée pour accéder aux différents capteurs du téléphones.

Windows Mobile 6.5

Windows Phone 7

Très fastidieux de récupérer les informations liées au téléphone notamment pour les points suivants :

- Accéléromètre

- GPS

- Radio FM

- Gestion des boutons du téléphone

Car il est nécessaire de faire appel à des API natives bas-niveau liées au constructeur du téléphone et rarement fournies.

Gestion unifiée des APIs :

Accéléromètre (Microsoft.Devices.

Sensors.Accelerometer)

GPS (System.Device.Location.

GeoCoordinateWatcher)

Orientation de l'écran

Radio FM

Gestion des boutons du téléphones

Orientation de l'écran

Microsoft.WindowsCE.

Forms.SystemSettings.

ScreenOrientation


 

PhoneApplicationPage.Orientation

PhoneApplicationPage.

SupportedOrientation


 

La reconnaissance de gestes

Sur Phone 7, l'accès au code natif depuis le C# n'est plus autorisé : finis les wrappers d'API natives, tout est directement utilisable depuis le C# via des classes avec des méthodes et évènements ; c'est typiquement le cas de la reconnaissance des gestes de l'utilisateur sur l'écran.

Windows Mobile 6.5

Windows Phone 7

Import de code natif pour utiliser l'API Gesture qui n'était pas disponible en code managé. (traitement des messages WM_GESTURE)

Chaque contrôle dispose d'évènements de manipulation :

ManipulationStarted

ManipulationDelta

ManipulationCompleted

Avec pour chacun des paramètres tels que la vélocité, l'angle…


 

Stockage des données en mémoire

Sur Windows Phone 7, le système de fichiers du terminal n'est « accessible » qu'à travers l'Isolated Storage de l'application et aucun SGBD n'est disponible pour l'instant. La persistance des données sera donc mise en œuvre via à l'aide de fichiers XML stockés dans la SandBox ou via des solutions tierces comme SQLite ou Perst.NET.

Windows Mobile 6.5

Windows Phone 7

Utilisation de SQLCE

Utilisation de fichiers XML stockées dans l'Isolated storage et utilisation de LINQ pour requêtes sur les données. Sinon solutions tierces comme SQLite ou Perst.NET.

Accès au système de fichier

Accès à l'Isolated Storage System.IO.IsolatedStorage.*

Sauvegarde de settings :

Base de registre

DB

Fichiers

Sauvegarde des settings dans le dictionnaire de l'IsolatedStorage prévu à cet effet :

IsolatedStorageSettings

Ce dictionnaire permet de sauvegarder des types sérialisables et le « statut » de l'application indépendamment de fichiers ou d'une base de donnée.


 

Réseau

L'accès à des données d'un serveur se fera uniquement via un canal http et en mode asynchrone. Pour les évènements asynchrones provenant d'un serveur il est possible d'utiliser des Push Notifications (cf. paragraphe suivant et article sur le sujet)

Windows Mobile 6.5

Windows Phone 7

Sockets

Pas d'accès au socket : pas de TCP ou d'UDP

HttpWebRequest synchrone

Les WebRequest sont asynchrones, il est conseillé d'utiliser l'objet WebClient qui permet de réaliser une requête http et d'obtenir dont résultat via une callback. Cela peut donc complexifier un peu le code, mais c'est pour le mieux d'un point de vue réactivité de l'interface.

L'application peut subsister en background et à tout moment prendre le focus ou gérer des évènements comme le réveil de l'application via un SMS entrant.

Système de notifications en push

Ce système permet de remonter des informations à une application fermée et d'afficher en permanence un statut à l'utilisateur sur l'icône de l'application par exemple


 

Cycle de vie d'une application

Windows Mobile 6.5

Windows Phone 7

L'application reste en background et n'est jamais fermée sauf demande explicite ou soft reset du téléphone

Dès qu'on sort de l'application, cette dernière est fermée et les données ne sont pas automatiquement sauvegardées. Le mécanisme dit de « tombstoning » permet de sauvegarder l'état de l'application et lors du lancement de l'application le restituer. Quatre évènements seront déclenchés afin de mettre en œuvre les comportements adéquats :

Launching / Activated : récupération et chargement des données

Deactivated / Closing : Sauvegarde des données dans un dictionnaire prévu à cet effet (PhoneApplicationService)


 

Outils de debug et de monitoring des performances

Reste un point important à traiter qui impacte directement l'expérience utilisateur, ce sont les performances. Voici, de quoi réaliser quelques benchs afin de vérifier que votre application sera à la hauteur du résultat attendu notamment en termes de fluidité.

Windows Mobile 6.5

Windows Phone 7

Outils du pack Power Toys

Remote Performance Monitor

NETCF CLR Profiler

Remote Logging Configuration Tool

Les compteurs de performance :

(Application.Current.Host.

Settings.EnableFrameRateCounter)

Compositeur frame rate (fréquence de rafraichissement de l'écran)

UI thread frame rate (fréquence du thread UI)

Mémoire utilisée pour les textures

Nombre de surfaces allouées

(Application.Current.Host.

Settings.EnableCacheVisualization)

(Application.Current.Host.Settings.

EnableRedrawRegions)


 


 


 

Bien que cet article ne soit pas exhaustif, vous avez maintenant les grandes lignes et pièges à éviter pour porter vos applications Windows Mobile 6.5 vers la nouvelle plateforme Windows Phone 7.
Les étapes suivantes résument la démarche à suivre :

- Création du projet WP7

- Ebauche d'un squelette d'application

- Identification des vues et vues-modèles associées aux données à afficher (datacontext)

- Mise en place de la logique de navigation avec passage des données entre les différentes pages

- Import des ressources textuelles dans les différentes langues si l'application est localisée

- Import des ressources graphiques en PNG ou JPG

- Réalisation des différentes pages en gardant bien en tête l'ergonomie Metro (si possible réalisation d'un storyboard de l'application au préalable pour visualiser l'intégralité de l'application), ne pas oublier de tirer parti des nouveaux composants disponibles pour le positionnement des contrôles

- Si besoin réalisation de composants personnalisés pour répondre aux besoins de l'application

- Mise en place du code relatif aux activités vers les services et tâches Windows Phone 7

- Migration des couches métiers

- Identifier les accès aux serveurs distants et « asynchroniser » les traitements pour coller au modèle Windows Phone 7. Afin de réaliser une application fluide, il est de rigueur de pas réaliser de traitements lourds ou bloquants dans le thread UI.

- Identifier le stockage de donnée et mettre en place des classes sérialisables pour stockage en XML dans l'IsolatedStorage.

- Le filtrage et traitement des données via des requêtes LINQ pourra être réutilisé tel quel

- Appel des couches métiers depuis les vues-modèles

- Tests de l'intégration des différentes couches interface et métiers

- Optimisation

Le monitoring des performances pourra être réalisé via le biais des compteurs de performances vus plus haut.


 

Le portage de votre application Windows Mobile 6.5 ne sera pas forcément trivial au premier abord, mais de nombreux composants métiers resteront réutilisables. Vous verrez rapidement que la nouvelle batterie d'outils et le framework mis à disposition sont très complets et seront vos alliés pour réaliser facilement et rapidement des applications avec une expérience utilisateur sans précédent… L'important est de bien étudier la méthode de migration avant de se lancer dans le code !


 

11 Oct 2010

On y était et on est 2ème !














We were on the competition and we have the 2nd place !

video

Forum Phone 7

Microsoft Answers a inauguré aujourd'hui les forums Zune et Windows Phone 7 à la plateforme des forums Microsoft Answers. Ce lancement initial inclura la prise en charge de l’anglais international, espagnol, allemand, français et italien. On attend vos nombreuses questions...

Microsoft Answers launched today the Zune et Windows Phone 7 forums on Microsoft Answers. We wait for your questions...

MS Days Lyon 12/10

Je vous attends sur le stand ATE aux MS Days demain !
Venez nombreux et avec toutes vos questions sur Phone 7 !

2nd place : Phone Seven Competition



Adeneo Embedded et Goprod ont participé au concours Phone 7 avec l'application Winmote qui transforme votre Windows Phone 7 en télécommande pour PC. Avec cette application, vous pouvez :

  • Lancer un navigateur Web sur le PC
  • Lancer une vidéo sur votre PC
  • Consulter vos images depuis n'importe où / les afficher / les faire défiler sur vote PC
  • Lancer et naviguer dans un PowerPoint
  • Lancer la radio / la TV
  • ....

Voir la vidéo


Grâce à cette application, nous avons réussi à obtenir la 2ème place départagée à l'applaudimètre !

Adeneo Embedded and GoProd participated to the French Windows Phone 7 competition with WinMote application. With WinMote, you start all your medias on your PC from your Windows Phone 7. With this application, we get the 2nd place of the competition !

Check the video

28 Sept 2010

Phone 7 Tools

Les outils de Phone 7 sont dispos en RTM (avec Panorama, Pivot et Bing Map)
Phone 7 RTM development Tools are available (with Panorama, Pivot and Bing Map)
Download

Le ToolKit Silverlight est également dispo sur CodePlex (Context Menu, DatePicker, TimePicker, Gesture Recognizer, Toggle Switch, WrapPanel)
Silverlight ToolKit is available on CodePlex (Context Menu, DatePicker, TimePicker, Gesture Recognizer, Toggle Switch, WrapPanel)
Download

Vous avez tout ce qu'il faut pour réaliser vos applications Phone 7 alors allez c'est parti !
You are now ready to realize Windows Phone 7 applications !

Concours Phone 7


Adeneo Embedded a participé en collaboration avec la société GoProd au concours W Phone 7... et nous faisons parti des 7 finalistes. La suite au prochain numéro. Voir la vidéo.


Adeneo Embedded took part in collaboration with the company GoProd in the French contest W Phone 7… and we are selected for the final. To be continued. See the video.

11 Jul 2010

New book : data driven applications with .Net compact framework 3-5

If you are interested in managed data in your CF application, here it is a new book for you :
CF 3.5 data driven applications,
To have a preview of this book, you can download a free chapter sample :
Chapter 5

Si vous êtes intéressés par la création d'application de gestion de données en CF 3.5, il existe un nouveau livre sur le sujet: CF 3.5 data driver applications,
Vous pouvez consulter le chapitre 5 qui est gratuit.

17 Jun 2010

Windows Embedded Compact 7 Public CTP


La prochaine version de Windows Embedded CE a été annoncée à Computex à Taipei.

La CTP de Windows Embedded Compact 7 est disponible sur le site Connect.

Cliquez sur le lien suivant pour un aperçu des nouveautés, Windows Embedded Compact 7.

Les nouveautés :

  • Connections avec d'autres devices ou desktop
  • Expérience utilisateur IHM améliorée (Silverlight)
  • Fiabilité
The next version of Windows Embedded CE has been announced at Computex in Taipei. Windows Embedded Compact 7 CTP is available for download on the Connect Website.

Click on the following link to see the new features : Windows Embedded Compact 7.

The new features :
  • Connected experiences
  • Rich User Experience (Silverlight)
  • Highly reliable platform

15 Mar 2010

Dev Windows Phone 7

Grande nouvelle : le SDK pour Windows Phone 7 est disponible !
  • en plus tous les outils sont gratuits
  • Visual Studio 2010 et Expression Blend 4
  • Silverlight et XNA
  • Emulateur avec support GPU en attendant les terminaux

Big news : Windows Mobile Phone 7 ' SDK is available

  • all tools are free
  • Visual Studio 2010 and Expression Blend 4
  • Silverlight and XNA
  • Emulateur with GPU support for waiting real devices
Download

5 Mar 2010

Un avant-gout du dev sur Windows Phone 7

Pierre nous dévoile quelques infos sur le developpement sur Windows Phone 7 en attendant le MIX, donc n'hésitez pas à aller vite consulter l'article, ça promet une super plate-forme et des possibilités de dev énormes ! Merci Pierre des infos.
Windows Phone 7 Dev