You are on page 1of 39

Windows Mobile / Phone 7 Development

Ujjwal Kumar/Prateek Dubey

Slide 1

Changing our Game


A new approach with WP7

DESIGN:
END USER COMES FIRST

PLATFORM:
RICHER, DEEPER, EASIER APPS

HARDWARE:
FASTER TO MARKET, LESS HEAVY LIFTING

Slide 2

Integrated Experiences

PEOPLE OFFICE PICTURES MUSIC+VIDEO MARKETPLACE GAMES

Slide 3

Session Outline
Cloud Integration Services
App Model UI Model

Software Architecture Hardware Foundation

Slide 4

Hardware Foundation

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

Slide 7

Software Architecture
Applications Your App UI and logic Frameworks XNA HTML/JavaScript CLR Cloud Integration
Xbox LIVE Bing Location Push notifications Windows Live ID

Silverlight App Model


App management Licensing Chamber isolation Software updates

UI Model
Shell frame Session manager Direct3D Compositor

Kernel
Security Networking Storage A-GPS Media Accelerometer Wi-Fi

Hardware BSP
Compass Light Proximity Radio Graphics

Hardware Foundation
Slide 8

App 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
Windows Phone Marketplace

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

App Isolation and Execution


Applications and licenses
Application install folders

Running applications

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
Slide 12

App Hosting and Runtime


App Domain
Silverlight Application Object
Frameworks Silverlight XNA CLR App Model Host HTML/JavaScript

XNA Game Object

System provides host process for app code


App Model
App management Licensing Chamber isolation Software updates

UI Model
Shell frame Session manager Direct3D Compositor

Cloud Integration
Xbox LIVE Bing Location Push notifications Windows Live ID

Location Push Notifications


Proximity

Sandbox enforced for host process based on declared capabilities

Kernel
Security Networking Storage

A-GPS Accelerometer Compass Light A-GPS Compass Media Wi-Fi Radio Graphics

Hardware BSP

Hardware Foundation

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
Slide 13

Windows Phone 7 Series Frameworks At-a-glance

Slide 14

Windows Phone 7 Series Frameworks Details


Windows Phone Frameworks
Camera PhoneApplicationFrame Device Integration Launchers & Choosers Windows Phone Controls WebBrowserControl Sensors

PhoneApplicationPage

PushNotification

Silverlight Presentation and Media


Controls Shapes Drawing Markup IsolatedStorage Media Navigation

XNA Frameworks for Games


Drawing Media Input GamerServices Graphics Audio Content

Application Object Common Base Class Library


Runtime Security Resources Threading
Slide 15

Globalization Collections

Reflection

Location

Text Configuration

IO

Net

Diagnostics Linq

ComponentModel

ServiceModel

3 Screens and Cloud


Windows Phone
XNA Frameworks Silverlight Presentation and Media Windows Phone 7 Series Frameworks

Windows Desktop
XNA Frameworks Silverlight Presentation and Media

Xbox

Cloud

XNA Frameworks

Location Service

Notification Service

Common Base Class Library


Slide 16

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

UI Model: Familiar Web Concepts


Phone application
Provides UI represented as XAML pages connected into cross-app flows by URIs

Web application
Provide media represented as HTTP resources linked by URLs

Shell frame
Requests pages, renders UI, and handles navigation across apps

Web browser
Requests HTTP resources, renders them, and handles navigation across sites

Sessions and back stack


Groups together sequences of pages corresponding to a users activity across apps

History and tabs


Groups together sequences of HTTP resources corresponding to a users activity across sites

Slide 19

UI Navigation: Example
Pictures
Take a look at recent photos

People
Look up the status for a contact

Pictures
Continue looking at recent photos

Active sessions

Slide 20

UI and State Management: Concepts


Discarded while the session is paused

Page UI Describes the visual appearance of a page

Page State Contains data that describes an instance of a page, analogous to browser cookie

Retained in shell frame to support resuming paused sessions

Slide 21

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 Apps restarted and UI rehydrated as the user navigates thru the phone
Slide 22

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 23

Graphics Architecture
App UI and logic

Silverlight

XNA

HTML/JavaScript

Shell frame

Compositor
Direct3D Window manager

Graphics driver

Slide 24

Cloud Integration Services

Slide 25

Cloud Integration: Concepts


Windows Phone

Your Web Service


Custom Web Service

Windows Phone Application

Existing Web Services

Microsoft Services
Frameworks

Cloud integration client services


Location Service

Notification Service

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
Slide 26

Location Service
Windows Phone

Existing Web Services

Microsoft Services
System.Device.Location Location client service
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
Slide 27

Location Client Architecture


Microsoft Services
Windows Phone Location Service

App UI and logic

Location client service

Security

A-GPS

Wi-Fi

Radio

Slide 28

Push Notification Service


Windows Phone

Your Web Service


Custom Web Service

Existing Web Services

Microsoft Services
Microsoft.Phone.Notification
Notification Service

Push client service

Built-in support for efficient, battery-aware mobile push notifications Managed APIs for notification-driven interaction with existing Web 2.0 sites
Slide 29

Push Client Architecture


Microsoft Services
Microsoft Push Notification Service

App UI and logic


Microsoft.Phone.Notification

Live Tiles service Download Manager Push client service

Networking

Wi-Fi

Radio

Slide 30

XBOX Live
Windows Phone
Game specific web requests

Your Web Service


Custom Web Service

Microsoft Services
XNA Authenticated Xbox LIVE calls

Game Foundation

Gamer Services APIs for Xbox LIVE Profiles, Achievements, and Leaderboards Game Foundation handles auth, caching, & partial connectivity for Xbox LIVE Third party token allows secure integration with game-specific services
Slide 31

Gamer Services Architecture


Microsoft Services

App UI and logic


Xbox LIVE

XNA Gamer Services APIs

Windows Live ID

Game Foundation Download Manager Live ID client service

Networking Storage

Slide 32

Windows Phone Developer Tools


Tools
Phone Emulator Samples Documentation Guides Community Packaging and Verification Tools Windows Phone device

myapp.xap

Windows Phone Emulator

Slide 33

Deployment Process

Develop & Debug

Submit & Validate

Certify & Sign

Windows Phone Application Deployment Service

Marketplace

Slide 34

Application Marketplace
Enhanced Discovery
Easy to find great applications, games Fun to browse the marketplace

Simple, Reliable Acquisition

Try before you buy Buying and downloading content is a breeze Payment flexibility Easy application updates

Slide 35

Call to Action
Get started!!
Download the tools! Read and understand the design guidelines

Give us feedback

Resources:
http://developer.windowsphone.com Team blog: http://windowsteamblog.com/blog/wpdev

Slide 36

A different kind of phone

So you can build

Designed for
life in motion

integrated experiences
& profit from it

Slide 37

Q&A

Slide 38

You might also like