Windows Phone 7 Series Architecture Deep Dive Istvan Cseri
Distinguished Engineer Windows Phone [email protected]
Slide 2
DESIGN: END USER COMES FIRST PLATFORM: RICHER, DEEPER, EASIER
APPS HARDWARE: FASTER TO MARKET, LESS HEAVY LIFTING Changing our
Game A new approach with WP7
Slide 3
Software Architecture App Model Cloud Integration Services
Hardware Foundation UI Model Session Outline
Slide 4
Software Architecture App Model Cloud Integration Services
Hardware Foundation UI Model
Slide 5
Hardware Foundation Capacitive touch 4 or more contact points
Sensors A-GPS, Accelerometer, Compass, Light, Proximity Camera 5
mega pixels or more Multimedia Common detailed specs, Codec
acceleration Memory 256MB RAM or more, 8GB Flash or more GPU
DirectX 9 acceleration CPU ARMv7 Cortex/Scorpion or better Hardware
buttons | Back, Start, Search
Slide 6
Software Architecture App Model Cloud Integration Services
Hardware Foundation UI Model
Slide 7
Kernel Hardware BSP App ModelUI ModelCloud Integration
Applications App management Licensing Chamber isolation Software
updates Shell frame Session manager Direct3D Compositor Xbox LIVE
Bing Location Push notifications Windows Live ID Your App UI and
logic A-GPSAccelerometerCompassLightProximity
MediaWi-FiRadioGraphics Security Networking Storage Frameworks
SilverlightXNAHTML/JavaScript CLR Hardware Foundation Software
Architecture
Slide 8
App Model Cloud Integration Services Hardware Foundation UI
Model
Slide 9
App Model: Concepts Application Uniquely identifiable,
licensable and serviceable software product packaged as a XAP
Application Deployment Steps include Ingestion, Certification and
Signing Application license Crypto-verifiable object issued to
grant rights to an application Windows Phone Marketplace
Slide 10
App Lifecycle + Windows Phone Marketplace Phone only
installs.xap packages signed by marketplace Phone handles all
aspects of.xap installation based on the manifest Individual apps
cannot make arbitrary changes to the phone during installation
Users control install, update and uninstall, while the marketplace
controls revocation Individual apps do not control their own
lifecycle on the phone
Slide 11
Applications and licenses Application install folders App
Isolation and Execution Phone only runs apps that have a valid
marketplace license Apps are sandboxed into separate security
accounts while installed and at runtime Resource allocation policy
keeps the foreground app responsive Resource management policy
ensures the user can always use Start to run a new app Running
applications
Slide 12
Sandbox enforced for host process based on declared
capabilities System provides host process for app code App Hosting
and Runtime Each app executes inside an isolated, least-privileged
host process All app code is transparent and CLS-verifiable,
mitigating impact of common attacks Frameworks enable app code to
interact with app model, UI model, phone functionality App Domain
XNA Game Object CLR App Model Host SilverlightXNA HTML/JavaScript
Silverlight Application Object Frameworks Kernel Hardware BSP App
ModelUI ModelCloud Integration App management Licensing Chamber
isolation Software updates Shell frame Session manager Direct3D
Compositor Xbox LIVE Bing Location Push notifications Windows Live
ID Security Networking Storage Hardware Foundation Push
Notifications Location A-GPS Accelerometer Compass Light Proximity
Media Wi-Fi Radio Graphics CompassA-GPS
Slide 13
Windows Phone 7 Series Frameworks At-a-glance
Slide 14
Windows Phone 7 Series Frameworks Details Common Base Class
Library Collections ComponentModelConfiguration Diagnostics
Reflection IO Security Threading RuntimeResources GlobalizationText
Location Net ServiceModel Linq Application Object Silverlight
Presentation and MediaXNA Frameworks for Games Windows Phone
Frameworks Navigation ShapesMarkup Media
ControlsDrawingIsolatedStorage Audio Media Graphics Input
DrawingGamerServices Content
PhoneApplicationPagePushNotificationWebBrowserControlSensorsPhoneApplicationFrame
CameraDevice Integration Launchers & Choosers Windows Phone
Controls
Slide 15
3 Screens and Cloud Common Base Class Library Silverlight
Presentation and Media XNA Frameworks Windows Phone 7 Series
Frameworks XNA Frameworks Cloud Notification Service Location
Service Windows Phone Windows Desktop Xbox
Slide 16
Software Architecture App Model Cloud Integration Services
Hardware Foundation UI Model
Slide 17
UI Model: Concepts Application UI and logic for functionality
exposed through pages Page A single screen of user interaction
elements Session An ordered workflow of user interactions spanning
applications
Slide 18
Phone application Provides UI represented as XAML pages
connected into cross-app flows by URIs UI Model: Familiar Web
Concepts Web application Provide media represented as HTTP
resources linked by URLs Shell frame Requests pages, renders UI,
and handles navigation across apps Sessions and back stack Groups
together sequences of pages corresponding to a users activity
across apps Web browser Requests HTTP resources, renders them, and
handles navigation across sites History and tabs Groups together
sequences of HTTP resources corresponding to a users activity
across sites
Slide 19
Active sessions Pictures Take a look at recent photos People
Look up the status for a contact Pictures Continue looking at
recent photos UI Navigation: Example
Slide 20
Retained in shell frame to support resuming paused sessions
Discarded while the session is paused UI and State Management:
Concepts Page UI Describes the visual appearance of a page Page
State Contains data that describes an instance of a page, analogous
to browser cookie
Slide 21
Apps restarted and UI rehydrated as the user navigates thru the
phone UI and State Management: Example Running Applications
Dehydrated and rehydrated on demand from saved state Shell Frame
Monitors resource usage to decide when to pause sessions
Slide 22
DEMO: UI MODEL
Slide 23
Graphics Composition Shell frame composes all UI into a single
screen Central page management enables cross app UI transitions and
other effects System wide Z order enforcement emphasizes core phone
functionality
Slide 24
Graphics Architecture App UI and logic Graphics driver Window
manager Direct3D Compositor Shell frame HTML/JavaScript XNA
Silverlight
Slide 25
Software Architecture App Model Cloud Integration Services
Hardware Foundation UI Model
Slide 26
Cloud Integration: Concepts Built-in user experiences and APIs
integrated with key Microsoft services Familiar API frameworks for
interacting with existing Web 2.0 services Rich support for
incorporating custom web services into app-specific experiences
Windows Phone Cloud integration client services Frameworks Windows
Phone Application Your Web Service Custom Web Service Existing Web
Services Microsoft Services Notification ServiceLocation
Service
Slide 27
Windows Phone Location Service Built-in support for consuming
GPS, AGPS and Wi-Fi- based location data Managed APIs for
location-based interaction Microsoft managed Wi-Fi access point
data as part of Windows Phone Services Location client service
System.Device.Location Existing Web Services Microsoft Services
Location Service
Slide 28
Location Client Architecture Location client service App UI and
logic Radio Wi-Fi A-GPS Microsoft Services Security Windows Phone
Location Service
Slide 29
Push Notification Service Built-in support for efficient,
battery-aware mobile push notifications Managed APIs for
notification-driven interaction with existing Web 2.0 sites Windows
Phone Your Web Service Custom Web Service Existing Web Services
Microsoft Services Push client service Microsoft.Phone.Notification
Notification Service
Slide 30
Push Client Architecture Microsoft Services Microsoft Push
Notification Service Push client service
Microsoft.Phone.Notification Download Manager Live Tiles service
Networking Radio Wi-Fi App UI and logic
Slide 31
DEMO: PUSH NOTIFICATION
Slide 32
Authenticated Xbox LIVE calls Game specific web requests
Windows Phone XBOX Live Game Foundation handles auth, caching,
& partial connectivity for Xbox LIVE Third party token allows
secure integration with game-specific services Your Web Service
Custom Web Service Microsoft Services Gamer Services APIs for Xbox
LIVE Profiles, Achievements, and Leaderboards Game Foundation
XNA
Slide 33
Gamer Services Architecture Microsoft Services Xbox LIVE App UI
and logic Windows Live ID Download Manager XNA Gamer Services APIs
Live ID client service Game Foundation Storage Networking
Slide 34
A different kind of phone Designed for life in motion So you
can build integrated experiences & profit from it
Slide 35
Call to Action Download the Windows Phone Developer Tools
http://developer.windowsphone.com Create awesome apps and
games!