SlideShare une entreprise Scribd logo
1  sur  63
Presentation de
WINDOWS PHONE 7
Arnaud Auroux
Niels Freier
Florent Santin
Adrien Sifferman
LIFE IS IN MOTION, SO ARE
WE.
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
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
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
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
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!
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
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
DÉCOUVERTE DE WINDOWS
PHONE 7
Démonstration
L’INTERFACE METRO
Help users « find their way »
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.
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.
L’interface Metro
Ecran de démarrage
• Affichage des tuiles
• Personnalisable par l’utilisateur
• Accessible depuis le bouton « Démarrer »
• Eléments dynamiques
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.
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
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é.
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.
L’interface Metro
Thèmes
…
LE HARDWARE
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
Le Hardware
Prérequis 6 boutons
• Allumer / Eteindre
• Volume
• Camera
• Retour
• Démarrer
• Recherche
Le Hardware
• Les périphériques (en France)
L’ENVIRONNEMENT DE
DÉVELOPPEMENT
Visual Studio 2010
Expression Studio
Windows Phone Emulator
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
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
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
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
LES PLATEFORMES DE
DÉVELOPPEMENT
Silverlight
XNA
 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
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 + …
Silverlight
• Basé sur .Net
• Léger
• Portable
Silverlight
2 modes de programmation
Le XAML
XAML = Modèle objet
<TextBlock FontSize="32" Text="Hello world" />
TextBlock t = new TextBlock();
t.FontSize = 32;
t.Text = "Hello world";
=
Le XAML
• Structure d’un fichier XAML:
• Fichier XML portant l’extension .xaml.
• Un élément racine.
• Un ensemble d’éléments fils décrivant l’interface utilisateur.
<UserControl x:Class="SilverlightApplication.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid x:Name="LayoutRoot">
<TextBlock Text="Hello World" />
</Grid>
</UserControl>
Silverlight for WP7
Composition
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
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
Silverlight for WP7
Contrôle Pivot
• Filtrer
• Séparer
• Naviguer
• Exhaustif
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
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
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”
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“
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
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
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
XNA Game Studio
• Framework multiplateforme
• Gestion simplifié et normalisé des
“assets”
• Tire sa puissance de .Net
• PC
• Xbox 360
• Surface
• WP7
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
XNA Game Studio
.Net
Windows
.Net Compact
Xbox 360 Windows Phone 7
Un Framework pour les contrôler tous!
Graphics Inputs Audio Network Jeux
XNA Game Studio
Initialize Load Content Update UnLoad
Content
Draw
Boucle de jeu
XNA Game Studio
ID3DX10Mesh* XLoader::loadXMesh(LPCSTR path)
{
LPD3DXBUFFER pD3DXMtrlBuffer;
HRESULT hr;
if(FAILED(hr = D3DXLoadMeshFromX( path, D3DXMESH_SYSTEMMEM, d3d9Device, NULL, &pD3DXMtrlBuffer, NULL,
&numMaterials, &mesh9 )))
{
MessageBox( NULL, path , "Cannot find Mesh: ", MB_OK );
return mesh;
}
vertexCount = mesh9->GetNumVertices();
faceCount = mesh9->GetNumFaces();
IDirect3DIndexBuffer9* indexBuffer;
mesh9->GetIndexBuffer(&indexBuffer);
indexBuffer->Lock(0,0, &indices, 0);
IDirect3DVertexBuffer9* vertexBuffer;
mesh9->GetVertexBuffer(&vertexBuffer);
vertexBuffer->Lock(0 ,0, &vertex, 0);
D3DVERTEXELEMENT9 decl[MAX_FVF_DECL_SIZE];
mesh9->GetDeclaration(decl);
D3D10_INPUT_ELEMENT_DESC vertexDesc[] = {
{"POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D10_INPUT_PER_VERTEX_DATA, 0},
{"NORMAL", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 24, D3D10_INPUT_PER_VERTEX_DATA, 0},
{"TANGENT", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 12, D3D10_INPUT_PER_VERTEX_DATA, 0},
{"TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, 36, D3D10_INPUT_PER_VERTEX_DATA, 0},
};
D3D10_INPUT_ELEMENT_DESC vertexDescNoNormals[] = {
{"POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D10_INPUT_PER_VERTEX_DATA, 0},
{"NORMAL", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 24, D3D10_INPUT_PER_VERTEX_DATA, 0},
{"TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, 36, D3D10_INPUT_PER_VERTEX_DATA, 0},
};
bool hasTangents = false;
if(decl[0].Usage == 6 || decl[1].Usage == 6 || decl[2].Usage == 6) { hasTangents = true; }
else { hasTangents = false; }
if(hasTangents)
{
if( FAILED( D3DX10CreateMesh(d3dDevice, vertexDesc, 4, vertexDesc[0].SemanticName, vertexCount, faceCount,
D3DX10_MESH_32_BIT, &mesh) ) ) MessageBox( NULL, path , "Cannot create mesh ", MB_OK );
} else
{ if( FAILED( D3DX10CreateMesh(d3dDevice, vertexDescNoNormals, 3, vertexDescNoNormals[0].SemanticName,
vertexCount, faceCount, D3DX10_MESH_32_BIT, &mesh) ) ) MessageBox( NULL, path , "Cannot create mesh ", MB_OK );
} mesh->SetVertexData(0, vertex); mesh->SetIndexData(indices, faceCount*3);
mesh->GenerateAdjacencyAndPointReps(0.001f);
mesh->Optimize(D3DX10_MESHOPT_ATTR_SORT|D3DX10_MESHOPT_VERTEX_CACHE,0,0);
mesh->CommitToDevice();
return mesh;
}
Model m = Content.Load<Model>(“MyModel3D”);
Texture2D tex = Content.Load<Texture2D>(“MyTexture”);
Effect ef = Content.Load<Effect>(“MyEffect”);
SpriteFront sf = Content.Load<SpriteFront>(“MyFont”);
Var v = Content.Load<T>(“…”);
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
LA COLLABORATION
DESIGNER / DEVELOPPEUR
Les bonnes pratiques
La collaboration
Designer / Développeur
C++
C#
VB.NET
Paper
JPG / TIFF
PSD
PPT
MOV / V
XAML
Designer Developer
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
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é
LE MARKETPLACE
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
Le Marketplace
Tester des applications
Outils de
Packaging et
de vérificationmyapp.xap
Périphérique
Windows
Phone
Emulateur
Windows Phone
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
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
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)
?
Questions ?

Contenu connexe

Similaire à Conférence windows phone 7

Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.DocDoku
 
Introduction au développement Windows 8 et Windows Phone 8
Introduction au développement Windows 8 et Windows Phone 8Introduction au développement Windows 8 et Windows Phone 8
Introduction au développement Windows 8 et Windows Phone 8Microsoft
 
Codedarmor 2012 - 03/04 - Android, What else?
Codedarmor 2012 - 03/04 - Android, What else?Codedarmor 2012 - 03/04 - Android, What else?
Codedarmor 2012 - 03/04 - Android, What else?codedarmor
 
Passage aux applications mobiles
Passage aux applications mobilesPassage aux applications mobiles
Passage aux applications mobilesneuros
 
Introduction au développement Windows 8.1
Introduction au développement Windows 8.1Introduction au développement Windows 8.1
Introduction au développement Windows 8.1Microsoft
 
10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8Microsoft
 
CocoaHeads Rennes #5 : iOS & Android
CocoaHeads Rennes #5 : iOS & AndroidCocoaHeads Rennes #5 : iOS & Android
CocoaHeads Rennes #5 : iOS & AndroidCocoaHeadsRNS
 
Firefox os appdays paris par tristan nitot: Hack, Learn, Celebrate
Firefox os appdays paris par tristan nitot: Hack, Learn, CelebrateFirefox os appdays paris par tristan nitot: Hack, Learn, Celebrate
Firefox os appdays paris par tristan nitot: Hack, Learn, CelebrateTristan Nitot
 
Tech conf1 développement_natif_applications_mobiles
Tech conf1 développement_natif_applications_mobilesTech conf1 développement_natif_applications_mobiles
Tech conf1 développement_natif_applications_mobilesTelecomValley
 
Les Systèmes d'exploitation mobile
Les Systèmes d'exploitation mobileLes Systèmes d'exploitation mobile
Les Systèmes d'exploitation mobileMohamed BOURAOUI
 
Les Nouveaux Standards et leur implémentation dans les navigateurs modernes
Les Nouveaux Standards et leur implémentation dans les navigateurs modernesLes Nouveaux Standards et leur implémentation dans les navigateurs modernes
Les Nouveaux Standards et leur implémentation dans les navigateurs modernesTristan Nitot
 
Les plateformes de développement des web services
Les plateformes de développement des web servicesLes plateformes de développement des web services
Les plateformes de développement des web servicesoussemos
 
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"Smile I.T is open
 
Wygday 2011 - Bing Maps for Enterprise - La cartographie donne de la vie à vo...
Wygday 2011 - Bing Maps for Enterprise - La cartographie donne de la vie à vo...Wygday 2011 - Bing Maps for Enterprise - La cartographie donne de la vie à vo...
Wygday 2011 - Bing Maps for Enterprise - La cartographie donne de la vie à vo...Nicolas Boonaert
 
Développement Windows 8 METRO App
Développement Windows 8 METRO AppDéveloppement Windows 8 METRO App
Développement Windows 8 METRO AppClément Hallet
 
alphorm.com - Formation Windows 8.1 (70-687)
alphorm.com - Formation Windows 8.1 (70-687)alphorm.com - Formation Windows 8.1 (70-687)
alphorm.com - Formation Windows 8.1 (70-687)Alphorm
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfRihabBENLAMINE
 

Similaire à Conférence windows phone 7 (20)

Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.Strategies et developpements mobiles multi-plates-formes.
Strategies et developpements mobiles multi-plates-formes.
 
Introduction au développement Windows 8 et Windows Phone 8
Introduction au développement Windows 8 et Windows Phone 8Introduction au développement Windows 8 et Windows Phone 8
Introduction au développement Windows 8 et Windows Phone 8
 
Codedarmor 2012 - 03/04 - Android, What else?
Codedarmor 2012 - 03/04 - Android, What else?Codedarmor 2012 - 03/04 - Android, What else?
Codedarmor 2012 - 03/04 - Android, What else?
 
Passage aux applications mobiles
Passage aux applications mobilesPassage aux applications mobiles
Passage aux applications mobiles
 
Introduction au développement Windows 8.1
Introduction au développement Windows 8.1Introduction au développement Windows 8.1
Introduction au développement Windows 8.1
 
10 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 810 tips pour améliorer les performances de vos applications Windows 8
10 tips pour améliorer les performances de vos applications Windows 8
 
CocoaHeads Rennes #5 : iOS & Android
CocoaHeads Rennes #5 : iOS & AndroidCocoaHeads Rennes #5 : iOS & Android
CocoaHeads Rennes #5 : iOS & Android
 
Firefox os appdays paris par tristan nitot: Hack, Learn, Celebrate
Firefox os appdays paris par tristan nitot: Hack, Learn, CelebrateFirefox os appdays paris par tristan nitot: Hack, Learn, Celebrate
Firefox os appdays paris par tristan nitot: Hack, Learn, Celebrate
 
Tech conf1 développement_natif_applications_mobiles
Tech conf1 développement_natif_applications_mobilesTech conf1 développement_natif_applications_mobiles
Tech conf1 développement_natif_applications_mobiles
 
Développement web mobile avec IONIC 2
Développement web mobile avec IONIC 2Développement web mobile avec IONIC 2
Développement web mobile avec IONIC 2
 
L'univers Android
L'univers AndroidL'univers Android
L'univers Android
 
Les Systèmes d'exploitation mobile
Les Systèmes d'exploitation mobileLes Systèmes d'exploitation mobile
Les Systèmes d'exploitation mobile
 
Les Nouveaux Standards et leur implémentation dans les navigateurs modernes
Les Nouveaux Standards et leur implémentation dans les navigateurs modernesLes Nouveaux Standards et leur implémentation dans les navigateurs modernes
Les Nouveaux Standards et leur implémentation dans les navigateurs modernes
 
Les plateformes de développement des web services
Les plateformes de développement des web servicesLes plateformes de développement des web services
Les plateformes de développement des web services
 
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
Meet'up "Linux et Android dans les systèmes embarqués et les objets connectés"
 
Wygday 2011 - Bing Maps for Enterprise - La cartographie donne de la vie à vo...
Wygday 2011 - Bing Maps for Enterprise - La cartographie donne de la vie à vo...Wygday 2011 - Bing Maps for Enterprise - La cartographie donne de la vie à vo...
Wygday 2011 - Bing Maps for Enterprise - La cartographie donne de la vie à vo...
 
Déploiement de Windows 8
Déploiement de Windows 8Déploiement de Windows 8
Déploiement de Windows 8
 
Développement Windows 8 METRO App
Développement Windows 8 METRO AppDéveloppement Windows 8 METRO App
Développement Windows 8 METRO App
 
alphorm.com - Formation Windows 8.1 (70-687)
alphorm.com - Formation Windows 8.1 (70-687)alphorm.com - Formation Windows 8.1 (70-687)
alphorm.com - Formation Windows 8.1 (70-687)
 
introAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdfintroAndroid_2023_V6.5.2pp1-162.pdf
introAndroid_2023_V6.5.2pp1-162.pdf
 

Plus de Arnaud Auroux

Visual studio online
Visual studio onlineVisual studio online
Visual studio onlineArnaud Auroux
 
Accéder aux données avec le windows runtime
Accéder aux données avec le windows runtimeAccéder aux données avec le windows runtime
Accéder aux données avec le windows runtimeArnaud Auroux
 
Développement d'un composant win rt
Développement d'un composant win rtDéveloppement d'un composant win rt
Développement d'un composant win rtArnaud Auroux
 
Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8Arnaud Auroux
 
Tech days 2012 mvvm de a à z
Tech days 2012   mvvm de a à zTech days 2012   mvvm de a à z
Tech days 2012 mvvm de a à zArnaud Auroux
 
Industrialiser le développement avec silverlight 4 et wcf ria services
Industrialiser le développement avec silverlight 4 et wcf ria servicesIndustrialiser le développement avec silverlight 4 et wcf ria services
Industrialiser le développement avec silverlight 4 et wcf ria servicesArnaud Auroux
 
Les tests comportementaux avec aspnet core
Les tests comportementaux avec aspnet coreLes tests comportementaux avec aspnet core
Les tests comportementaux avec aspnet coreArnaud Auroux
 
Cas Pratique Du Mode DéConnecté De Silverlight
Cas Pratique Du Mode DéConnecté De SilverlightCas Pratique Du Mode DéConnecté De Silverlight
Cas Pratique Du Mode DéConnecté De SilverlightArnaud Auroux
 

Plus de Arnaud Auroux (8)

Visual studio online
Visual studio onlineVisual studio online
Visual studio online
 
Accéder aux données avec le windows runtime
Accéder aux données avec le windows runtimeAccéder aux données avec le windows runtime
Accéder aux données avec le windows runtime
 
Développement d'un composant win rt
Développement d'un composant win rtDéveloppement d'un composant win rt
Développement d'un composant win rt
 
Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8
 
Tech days 2012 mvvm de a à z
Tech days 2012   mvvm de a à zTech days 2012   mvvm de a à z
Tech days 2012 mvvm de a à z
 
Industrialiser le développement avec silverlight 4 et wcf ria services
Industrialiser le développement avec silverlight 4 et wcf ria servicesIndustrialiser le développement avec silverlight 4 et wcf ria services
Industrialiser le développement avec silverlight 4 et wcf ria services
 
Les tests comportementaux avec aspnet core
Les tests comportementaux avec aspnet coreLes tests comportementaux avec aspnet core
Les tests comportementaux avec aspnet core
 
Cas Pratique Du Mode DéConnecté De Silverlight
Cas Pratique Du Mode DéConnecté De SilverlightCas Pratique Du Mode DéConnecté De Silverlight
Cas Pratique Du Mode DéConnecté De Silverlight
 

Conférence windows phone 7

  • 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
  • 9. DÉCOUVERTE DE WINDOWS PHONE 7 Démonstration
  • 10. L’INTERFACE METRO Help users « find their way »
  • 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
  • 22. Le Hardware • Les périphériques (en France)
  • 23. L’ENVIRONNEMENT DE DÉVELOPPEMENT Visual Studio 2010 Expression Studio Windows Phone Emulator
  • 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 + …
  • 31. Silverlight • Basé sur .Net • Léger • Portable
  • 32. Silverlight 2 modes de programmation
  • 33. Le XAML XAML = Modèle objet <TextBlock FontSize="32" Text="Hello world" /> TextBlock t = new TextBlock(); t.FontSize = 32; t.Text = "Hello world"; =
  • 34. Le XAML • Structure d’un fichier XAML: • Fichier XML portant l’extension .xaml. • Un élément racine. • Un ensemble d’éléments fils décrivant l’interface utilisateur. <UserControl x:Class="SilverlightApplication.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <Grid x:Name="LayoutRoot"> <TextBlock Text="Hello World" /> </Grid> </UserControl>
  • 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
  • 38. Silverlight for WP7 Contrôle Pivot • Filtrer • Séparer • Naviguer • Exhaustif
  • 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
  • 49. XNA Game Studio Initialize Load Content Update UnLoad Content Draw Boucle de jeu
  • 50. XNA Game Studio ID3DX10Mesh* XLoader::loadXMesh(LPCSTR path) { LPD3DXBUFFER pD3DXMtrlBuffer; HRESULT hr; if(FAILED(hr = D3DXLoadMeshFromX( path, D3DXMESH_SYSTEMMEM, d3d9Device, NULL, &pD3DXMtrlBuffer, NULL, &numMaterials, &mesh9 ))) { MessageBox( NULL, path , "Cannot find Mesh: ", MB_OK ); return mesh; } vertexCount = mesh9->GetNumVertices(); faceCount = mesh9->GetNumFaces(); IDirect3DIndexBuffer9* indexBuffer; mesh9->GetIndexBuffer(&indexBuffer); indexBuffer->Lock(0,0, &indices, 0); IDirect3DVertexBuffer9* vertexBuffer; mesh9->GetVertexBuffer(&vertexBuffer); vertexBuffer->Lock(0 ,0, &vertex, 0); D3DVERTEXELEMENT9 decl[MAX_FVF_DECL_SIZE]; mesh9->GetDeclaration(decl); D3D10_INPUT_ELEMENT_DESC vertexDesc[] = { {"POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D10_INPUT_PER_VERTEX_DATA, 0}, {"NORMAL", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 24, D3D10_INPUT_PER_VERTEX_DATA, 0}, {"TANGENT", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 12, D3D10_INPUT_PER_VERTEX_DATA, 0}, {"TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, 36, D3D10_INPUT_PER_VERTEX_DATA, 0}, }; D3D10_INPUT_ELEMENT_DESC vertexDescNoNormals[] = { {"POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D10_INPUT_PER_VERTEX_DATA, 0}, {"NORMAL", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 24, D3D10_INPUT_PER_VERTEX_DATA, 0}, {"TEXCOORD", 0, DXGI_FORMAT_R32G32_FLOAT, 0, 36, D3D10_INPUT_PER_VERTEX_DATA, 0}, }; bool hasTangents = false; if(decl[0].Usage == 6 || decl[1].Usage == 6 || decl[2].Usage == 6) { hasTangents = true; } else { hasTangents = false; } if(hasTangents) { if( FAILED( D3DX10CreateMesh(d3dDevice, vertexDesc, 4, vertexDesc[0].SemanticName, vertexCount, faceCount, D3DX10_MESH_32_BIT, &mesh) ) ) MessageBox( NULL, path , "Cannot create mesh ", MB_OK ); } else { if( FAILED( D3DX10CreateMesh(d3dDevice, vertexDescNoNormals, 3, vertexDescNoNormals[0].SemanticName, vertexCount, faceCount, D3DX10_MESH_32_BIT, &mesh) ) ) MessageBox( NULL, path , "Cannot create mesh ", MB_OK ); } mesh->SetVertexData(0, vertex); mesh->SetIndexData(indices, faceCount*3); mesh->GenerateAdjacencyAndPointReps(0.001f); mesh->Optimize(D3DX10_MESHOPT_ATTR_SORT|D3DX10_MESHOPT_VERTEX_CACHE,0,0); mesh->CommitToDevice(); return mesh; } Model m = Content.Load<Model>(“MyModel3D”); Texture2D tex = Content.Load<Texture2D>(“MyTexture”); Effect ef = Content.Load<Effect>(“MyEffect”); SpriteFront sf = Content.Load<SpriteFront>(“MyFont”); Var v = Content.Load<T>(“…”);
  • 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
  • 52. LA COLLABORATION DESIGNER / DEVELOPPEUR Les bonnes pratiques
  • 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)

Notes de l'éditeur

  1. Le meilleurs pour les développeurs = parler de la value prop créativitité, productivité, opportunité
  2. Font Segoe
  3. Gestion des différents modes d’affichage. 3 boutons conseillés. Icones obligatoire
  4. 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
  5. 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.