1. Presentation de
WINDOWS PHONE 7
Arnaud Auroux
Niels Freier
Florent Santin
Adrien Sifferman
LIFE IS IN MOTION, SO ARE
WE.
2. Agenda
• Pourquoi un smartphone ?
• De Windows Mobile à Windows Phone 7
• L’interface Metro
• Le Hardware
• L’environnement de développement
• Les plateformes de développement
• La collaboration designer / développeur
• Le Marketplace
3. C’est quoi un Smartphone?
C’est quoi un Smartphone ?
• Un téléphone cool…
– … qui sert a téléphoner…
– …mais surtout a exécuter des applications!
• Terminal Web
– Navigateur Web embarqué
– Applications fortement connectées
• En résumé, l’extension du PC dans la
poche
4. C’est quoi un Smartphone?
Le marché du Smartphone
• 2009: 180 Millions d’unités vendues
• Plusieurs acteurs majeurs:
• RIM – Blackberry – OS + Hardware
• Apple – Iphone – OS + Hardware
• Google – Androïd – OS
• Fondation Symbian – Symbia - OS
• Microsoft – Windows Mobile 6.5 / Windows Phone 7 – OS
5. C’est quoi un Smartphone?
Le marché du Smartphone
• Les clés de l’augmentation du marché du SmartPhone:
• Apparition des forfaits 3G illimités
• Excellente couverture des opérateurs en France
• 90% du territoire en 3G
• 99 en EDGE
6. C’est quoi un Smartphone ?
Historique du Smartphone chez MS
• 2000:
• Apparition du Pocket PC / PDA
• Windows CE 3.0
• 2002:
• Pocket PC -> Téléphone
• Téléphone -> Pocket PC
• Pocket PC 2002, Phone Edition 2002 et Smartphone 2002
• 2003: Windows Mobile (base Windows CE)
• 2005: Windows Mobile 5.0
• 2007: Windows Mobile 6.0
• 2009: Windows Mobile 6.5
• 2010: Rupture!
7. CHOIX MATERIEL
PHOTOS
LE MEILLEUR POUR LES PRO
LE MEILLEUR POUR LES DEVELOPPEURS
EXPERIENCE METRO
SOCIAL
1
2
3
4
5
6
7
XBOX LIVE
De Windows Mobile à Windows Phone 7
7 Zones d’excellence
8. Zune
• Historiquement, logiciel de gestion des
musiques du baladeur Microsoft
« Zune »
• Aujourd’hui:
– Place de marché d’achat de musique
– Place de marché d’achat d’applications
– Outils de synchronisation PC WP7
• Plusieurs terminaux pour un même
logiciel:
– PC
– Zune HD
– Windows Phone 7
– XBOX 360
11. L’interface Metro
• Inspiré du système
de signalisation
utilisé dans les
métros et
aéroports
• Révéler tout un
contexte à partir
d’un simple
contenu.
• Création d’un
système
homogène.
• Pas de décoration,
pas
d’ornementation.
12. L’interface Metro
5 grands principes
1. Epuré, ouvert et rapide : fournir de grands espaces,
garder une structure légère et considérer la typographie
comme l’un des éléments le plus important de
l’interface.
2. Contenu : Mettre le contenu pertinent en évidence
pour l’utilisateur.
3. Intégration machine / logiciel : créer une expérience
unique entre l’application et les boutons d’accès
« Recherche », « Précédent », « Démarrer » et
« Caméra ».
4. Expérience utilisateur universelle : créer une
cohérence dans les transitions et animations.
5. Interface personnalisée et vivante : des vues et
éléments mises à jour automatiquement avec les
informations les plus importantes.
13. L’interface Metro
Ecran de démarrage
• Affichage des tuiles
• Personnalisable par l’utilisateur
• Accessible depuis le bouton « Démarrer »
• Eléments dynamiques
14. L’interface Metro
• Taille minimum
conseillée : 15
• Possibilité
d’embarquer ses
propres polices.
• Jeu de polices
d'Asie orientale
(chinois, japonais
et coréen) inclus.
• Utilisation d’un
contraste fort
pour les polices
en couleur.
15. L’interface Metro
• Informations
système (heure,
niveau de batterie,
mode silencieux,
etc.).
• Espace réservé
(partie haute de
l’ écran).
• Une seule
information
affichée par défaut
: l’heure système.
• Gérée et mise à
jour par le système.
• Peut-être cachée.
La barre de statut
16. L’interface Metro
La barre d’application • Tâches communes
et fréquentes.
• 4 boutons
Maximum.
• Personnalisable.
• Menu disponible
pour les tâches
plus spécifiques.
• 5 éléments de
menu maximum
conseillé.
17. L’interface Metro
Le modèle de navigation
• Une application est
constituée de pages.
• Une page peut avoir
plusieurs « contenus »
• Gestion de
l’historique.
• Les titres de pages
sont mis en évidence.
• Expérience de
navigation
homogène, fluide, et
simple.
20. Le Hardware
Prérequis
• Ecran tactile capacitif
• 4 points de contacts ou plus
• Capteurs
• GPS, Accéléromètre, Compas, Lumière, Proximité
• Camera
• 5 mega pixels, flash
• Mémoire
• 256 Mo RAM ou plus, 8Go Flash ou plus
• GPU
• Accélération DirectX 9
• Tuner
• FM Radio
• CPU
• 1 GHz ARM v7 "Cortex/Scorpion" ou mieux
800ou480
480 ou 320
21. Le Hardware
Prérequis 6 boutons
• Allumer / Eteindre
• Volume
• Camera
• Retour
• Démarrer
• Recherche
24. Visual Studio 2010
Test and Lab Manager
Manual Testing
Layer Diagram
UML Modeling
Load Testing Web Testing
Test Case ManagementIntelliTrace™
Architecture Explorer Test Record & Playback
Logical Class Designer
Cloud Development
Office Development
Windows Development
New WPF Editor Customizable IDE
Multi-core DevelopmentSilverlight Tools
Web Development
SharePoint Development
Generate from Usage
Static Code Analysis
Database Deployment
Code Metrics
Database Unit Testing Test Data Generation
Test Impact AnalysisUI Test Automation
Code Coverage
Performance Profiling
Database Change Mgmt
25. Expression Studio
• Expression Web : création de sites Web, génération des
fichiers CSS
• Expression Blend : design interactif sur les plateformes
.Net et Silverlight
• SketchFlow : prototypes rapides, faciles et peu couteux à
réaliser
• Expression Design : création de contenu graphique
professionnel
• Expression Encoder 3 : encodage pour la publication
vidéo sous différents formats, notamment en Silverlight
26. Windows Phone Emulator
• Mode debug dans Visual Studio
• Permet de pivoter l’application pour
vérifier son comportement en mode
paysage
• Contrôle du zoom
27. Des outils gratuits
Windows Phone Developer Tools
• Visual Studio 2010 Express pour Windows Phone
• Expression Blend pour Windows Phone
• Emulateur Windows Phone 7
• XNA Game Studio 4.0
• Documentations, exemples, guides
29. Framework Jeux Hautes
Performances
Création rapide de jeux 2D/3D
Technologie mature, robuste
Xbox 360, Windows, et WP7
Framework d’applications
RAD
Contrôles basés sur
l’interface Metro
500,000 développeurs
Windows et web
Les plateformes de développement
30. Silverlight
Roadmap
Silverlight 1
Septembre 2007
•Javascript
•Xaml
Silverlight 2
Octobre 2008
•Code managé
•Contrôle
personnalisé
•Data Binding
•Styling
•…
Silverlight 3
Juillet 2009
•Bitmap effects
•3D
•Performances
•Métier
•Out-Of-Browser
•…
Silverlight 4
Avril 2010
•Webcam
•Impression
•Media
•Performances
•Métier
•Interop COM
•…
Silverlight for WP7
Septembre 2010
•Basé sur
Silverlight 3 + …
36. Silverlight for WP7
Structure
• Une application est structurée en pages
(PhoneApplicationPage)
• Service de navigation
• Gestion de l’historique (bouton « retour »)
• Une même page peut contenir plusieurs catégories
d’informations
• Contrôle Panorama
• Contrôle Pivot
37. Silverlight for WP7
Contrôle Panorama • Vue étendue
• Navigation
horizontale et
naturelle
• La taille de l’écran
ne limite plus le
contexte
• Découverte
• Suggestion
• Rappels
39. Silverlight for WP7
Launchers
• Tâches natives du système d’exploitation,
utilisables dans vos applications
• Ne renvoient pas de valeurs
• Lorsqu’un Launcher est utilisé, on "quitte" l’application
• Liste des Launchers disponibles:
• EmailComposeTak
• MarketPlaceDetailTask
• MarketPlaceHubTask
• MarketPlaceReviewTask
• MarketPlaceSearchTask
• MediaPlayerLauncher
• PhoneCallTask
• SearchTask
• SMSComposeTask
• WebBrowserTask
40. Silverlight for WP7
Choosers
• Autres types de tâches disponibles
• Retournent des données exploitables
par l’utilisateur
• Liste des Choosers disponibles:
• CameraCaptureTask
• EmailAddressChooserTask
• PhoneNumberChooserTask
• PhotoChooserTask
• SaveEmailAddressTask
• SavePhoneNumberTask
41. Silverlight for WP7
Cycle de vie d’une application
Démarrer
Evènement
“Launching”
Etat
“Running”
Bouton “Retour”
Evènement
“Closing”
Launcher
Chooser
Bouton “Démarrer”
Evènement
“Deactivated”
42. Silverlight for WP7
Cycle de vie d’une application
Instance application
restaurée
Etat
“Running”
Bouton démarrer
puis lancement de
l’application
Fin Chooser ou
Launcher.
Bouton “Retour”
Evènement
“Deactivated”
New app instance
Evènement
“Launching”
Etat
“Running”
Evènement
“Activated“
43. Silverlight for WP7
Stockage Isolé • Stockage de
données et/ou de
fichiers
• Propre à chaque
application
• 2 possibilités de
stockage :
• Liste de paires
clé / Valeur
• Création de
fichier et de
répertoire
44. Silverlight for WP7
Notifications en Push
1. Enregistrement
2. Obtention de l’URI
3. Envoi de l’URI au
serveur tiers
4. Le serveur poste la
notification sur l’URI
5. Le serveur MPN server
Pousse la notification
vers le terminal
Intérêts :
• Notifier une application
qui n’est pas en cours
d’exécution
• Economie de batterie
Push enabled
applications
Notifications
service
3rd party
service
Microsoft hosted server
3
4
5
1 2
45. Silverlight for WP7
Types de notification
• Tile notifications
• Image
• Entier
• Libre
• Toast notifications
– Titre
– Sous titre
• Raw notifications
– Non visuelle
– Application en cours d’exécution
46. XNA Game Studio
• Framework multiplateforme
• Gestion simplifié et normalisé des
“assets”
• Tire sa puissance de .Net
• PC
• Xbox 360
• Surface
• WP7
47. XNA Game Studio
XNA Game Studio 1
Avril 2007
•Code managé
•“Starter Kit”
•PC et Xbox360
XNA Game Studio 2
Decembre 2007
•Utilisation des
versions Express de
VS
•API réseau
XNA Game Studio 3
Septembre 2008
•Ajout du Zune
•API Communauté
•Gestion des assets
XNA Game Studio 3.1
Juin 2009
•Vidéo
•Amélioration audio
•Avatar Xbox 360
XNA Game Studio 4
Mars 2010
•Ajout du WP7
•Gestion de profil
hardware
•Multi-touch
XNA à travers les âges
48. XNA Game Studio
.Net
Windows
.Net Compact
Xbox 360 Windows Phone 7
Un Framework pour les contrôler tous!
Graphics Inputs Audio Network Jeux
51. XNA Game Studio
-Un jeux n’est qu’un ensemble de brique
• IUpdateable
• IDrawable
• IGameComponent
• DrawableGameComponent
• …
Qu’il vous suffit d’assembler et « laisser s’exécuter »
Update
Draw
Update de l’ensemble des briques
updateables
Ecriture à l’écran des briques de
rendu
53. La collaboration
Designer / Développeur
C++
C#
VB.NET
Paper
JPG / TIFF
PSD
PPT
MOV / V
XAML
Designer Developer
54. La collaboration
Designer / Développeur
Création d’une séparation Design / Code
plus forte.
• Les vues de notre
application
deviennent fortement
indépendantes du
reste
• Les données peuvent
facilement être
« simulées »
Vue Logique + données
55. La collaboration
Designer / Développeur
Design Time avec Blend 4
• Conception d’une vue
• Génération de données « design »
• Contexte de design plus « réaliste »
• Meilleure productivité
57. Le Marketplace
Principe de Marketplace
• Place de marché de vente et d’achat
d’applications
Microsoft
Développeur Particulier
Création
Diffusion
App Hub
Achat
MarketPlace
Utilisation
Valide
Monétise
59. Tester des applications
Outils de
Packaging et
de vérificationmyapp.xap
Périphérique
Windows
Phone
Emulateur
Windows Phone
60. Installation d’applications
• Le téléphone installe seulement des application qui proviennent du
MarketPlace
• Le téléphone gère l’installation du XAP
• L’utilisateur contrôle l’installation, la mise à jour et la désinstallation
+Windows Phone
Marketplace
61. Isolation des applications
• Le téléphone exécute seulement des applications provenant du
MarketPlace
• Les applications sont "sandboxées"
Applications Répertoire
d’installation
Exécution
d’applications
62. Le MarketPlace: monétisation
• Cout d’entrée
• 75 euros pour un an pour les particuliers, professionnels
• Gratuit pour les étudiants
• Donne droit à
• Déverrouiller 3 téléphones en mode « développeur »
• Publier 5 applications gratuites (20 euros la suivante)
• Publier un nombre illimités d’application payantes
• Partage de revenu
• 70% pour le développeurs, 30% pour Microsoft et éventuellement l’opérateur
• Fonctionnalités particulières
• Gestion du mode évaluation (IsTrial)
Le meilleurs pour les développeurs = parler de la value prop créativitité, productivité, opportunité
Font Segoe
Gestion des différents modes d’affichage.
3 boutons conseillés.
Icones obligatoire
2 thèmes de fond
10 thèmes de premier plan
Les opérateurs mobiles peuvent ajouter leur propre thème.
Définis de façon globales et donc réutilisables dans les applications
The Compass is used to determine navigation direction relative to the Earth’s magnetic field.
The Light Sensor is used to determine the intensity of light up to 4,000 lux and helps in automatically adjusting screen brightness.
The Proximity Sensor is used to power off the screen to conserve battery when an object is detected within 15 mm of the sensor during a phone call.