Il est possible de faire une bonne application mobile, en intégrant 2 ou 3 fonctionnalités du téléphone et en respectant les principes de base de métro... Mais le mieux étant l'ennemi du bien, le développeur soucieux de plaire à ses utilisateurs devra aller plus loin pour se différencier: fluidité des animations, finesse dans la gestion des exceptions, examen minutieux de l'alignement des éléments de l'interface ou encore performance du chargement des données... arriver à une application parfaite requiert un sens du détail particulier. Cette session a pour but d'éveiller en vous ce sens, et de titiller (subtilement) votre goût du défi, pour le plus grand bonheur des utilisateurs de votre application... et rentrer dans l'histoire!
2. La dure lutte du développeur :
10 trucs pratiques pour une
application mobile bien léchée !
Jeudi 9 Février 2012
Julien Corioland David Poulin
Développeur WP7 Cyril Cathala
Infinite Square Développeurs WP7
Soat
3. Agenda
Soignez vos tuiles !
Optimisez les chargements de données
Animations : fast, fluide & useful
Le design c’est important !
Pensez à l’ergonomie
Gestion de l’état de l’application
Les données utilisateurs sont importantes
Politique de gestion d’erreurs
Relation avec l’utilisateur
Testez vos applications !!
4. L’application « fil rouge »
Une application simple : une e-boutique !
Illustre les différents points abordés
Respect des bonnes pratiques de développement
Windows Phone
Des scénarios utilisateurs concrets
Disponible en téléchargement
5. Soignez vos tuiles
C’est la première chose que l’utilisateur voit !
Ce ne sont pas de simples « boutons carrés »
Diffuser de l’information
Contenu dynamique
Tuile principale / Tuiles secondaires
Mise à jour depuis :
Background Agent / Notification Push / Tile Scheduler
7. Optimisez les chargements de données
Pas de blocages de l’UI
Démarrage le plus rapide possible
Programmation asynchrone
Informer l’utilisateur de ce qui se passe
Utiliser le BusyIndicator du téléphone
Le ThreadPool et le Dispatcher sont vos amis
11. Le design c’est important !
Metro = Guideline !
Respect des thèmes
noir/blanc ou identité
visuelle ?
Pensez à l’alignement des
contrôles
Pas de superflue : allez à
l’essentiel
13. Pensez à l’ergonomie
Placement des éléments sur l’UI
Orientation du téléphone
Gérez les input scopes
Retour visuel sur les actions utilisateur
Pas de bouton « home »
15. Gestion de l’état de l’application
Rappels : cycle de vie
exécution
activée désactivée
tombstoned inactive
16. Gestion de l’état de l’application
Tombstonning vs Fast App Switching
Petit rappel sur les états de l’application
Sauvegardez l’état des formulaires de saisie
Pas de chargements inutiles
ApplicationState vs PageState vs IsolatedStorage ?
18. Les données utilisateurs sont importantes !
Media Library / Share Extensibility
Usage « multi-portables », des solutions existent :
Service distant (sur Azure ou autre)
SkyDrive : les APIs sont là !
Mises à jour de l’application : n’oubliez pas de gérer
l’Isolated Storage
20. Politique de gestion des erreurs
Messages explicites pour les utilisateurs
Ne pas empêcher le crash de l’application (si si !)
Si possible, mettez en place des logs
Proposez à l’utilisateur d’envoyer des rapports
d’erreurs
22. Relation avec l’utilisateur
Pages « A propos » et
« Contact »
Partager / Noter l’application
Et surtout : écoutez les
utilisateurs
Correction de bugs
Maintient / mise à jour régulières
Ajout de fonctionnalités
24. Testez l’application avant de la publier
L’utilisateur n’est pas bêta-testeur
MarketPlace test kit
Faites tester par vos connaissances
Testez les thèmes et langues
Testez sur un téléphone
L’utilisateur n’est pas bêta-testeur
26. Conclusion
Peu de choses séparent les bonnes applications des
très bonnes applications
Dure lutte = plaisir
Avant de publier, valider votre check list !
Sources : http://mystore.codeplex.com ou avec le
Webcast dans quelques jours
27. Vous voulez développer une appli Windows Phone ? Inscrivez-vous !
Profitez d’un programme d’accompagnement pour développeurs, à la carte et sans engagement
– Un guide vous contacte et vous accompagne personnellement
– Il met à votre disposition des ressources : accès gratuits* Marketplace, prêts/dons* de téléphone…
– Il vous propose du coaching technique et design
– Il vous aide à rendre visible votre application en ligne et à des événements
*Dans la limite des quantités disponibles
29. Pour aller plus loin
Prochaines sessions des Dev Camps
Chaque semaine, les DevCamps 10 février Live Open Data - Développer des applications riches avec le
ALM, Azure, Windows Phone, HTML5, OpenData 2012 Meeting protocole Open Data
http://msdn.microsoft.com/fr-fr/devcamp 16 février Live Azure series - Développer des applications sociales sur la
2012 Meeting plateforme Windows Azure
17 février Live
Comprendre le canvas avec Galactic et la librairie three.js
Téléchargement, ressources et
2012 Meeting
21 février Live
La production automatisée de code avec CodeFluent Entities
2012 Meeting
toolkits : RdV sur MSDN 2 mars
2012
Live
Meeting
Comprendre et mettre en oeuvre le toolkit Azure pour Windows
Phone 7, iOS et Android
http://msdn.microsoft.com/fr-fr/
6 mars Live
Nuget et ALM
2012 Meeting
Les offres à connaître
9 mars Live
Kinect - Bien gérer la vie de son capteur
2012 Meeting
13 mars Live
90 jours d’essai gratuit de Windows Azure 2012 Meeting
Sharepoint series - Automatisation des tests
www.windowsazure.fr 14 mars
2012
Live
Meeting
TFS Health Check - vérifier la bonne santé de votre plateforme
de développement
15 mars Live Azure series - Développer pour les téléphones, les tablettes et
Jusqu’à 35% de réduction sur Visual Studio 2012 Meeting le cloud avec Visual Studio 2010
Pro, avec l’abonnement MSDN 16 mars
2012
Live
Meeting
Applications METRO design - Désossage en règle d'un template
METRO javascript
www.visualstudio.fr 20 mars Live Retour d'expérience LightSwitch, Optimisation de l'accès aux
2012 Meeting données, Intégration Silverlight
23 mars Live OAuth - la clé de l'utilisation des réseaux sociaux dans votre
2012 Meeting application
30. Q&A
Vous avez des Nous avons des
questions ? réponses
Julien Corioland – http://www.juliencorioland.net - @beedoo
Cyril Cathala – http://cyril.cathala.org - @CyrilCathala
David Poulin – http://www.davidpoulin.com - @Danuz
Notes de l'éditeur
Si vous respectez les thèmes noir/blanc :Faites le bien !Couleurs, police, taille…Pensez à l’alignement des contrôlesLes décalages sautent aux yeuxValidez avec le MetroGridHelperDonnez une identité visuelleC’est votre application, montrez-le !Pensez à réutiliser les grands principes de MetroPas de superflue : allez à l’essentiel
Media LibraryVous pouvez stocker des images depuis votre applicationUsage « multi-portables », des solutions existent :Service distant (sur Azure ou autre)SkyDrive : les APIs sont là !Mises à jour de l’application : n’oubliez pas de gérer l’Isolated Storage
Messages explicites pour les utilisateursKésakoNullReferenceException ?Ne pas empêcher le crash de l’application (si si !) Automatiquement rapporté via MarketPlaceRapports de crash disponibles sur AppHubSi possible, mettez en place des logs Transparents pour l’utilisateur (prévenez le!)Proposez l’envoi de logs par mail