Windows Phone 7 Series Architecture Deep Dive Istvan Cseri Distinguished Engineer Windows Phone [email protected]

Embed Size (px)

Citation preview

  • Slide 1
  • 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!
  • Slide 36