Mike Ormond: Developing for Windows Phone 7

40
Windows Phone 7

Transcript of Mike Ormond: Developing for Windows Phone 7

Page 1: Mike Ormond: Developing for Windows Phone 7

Windows Phone 7

Page 2: Mike Ormond: Developing for Windows Phone 7

Mike OrmondDeveloper EvangelistMicrosoft

A Lap Around Windows Phone 7

@MikeOrmondhttp://bit.ly/mikeormond

[email protected]

Page 3: Mike Ormond: Developing for Windows Phone 7

Three Red Threads

Relevant – your people, your location

Personal – your day, your way

Connected – your stuff, your peace

of mind

Page 4: Mike Ormond: Developing for Windows Phone 7

Hardware PlatformCapacitive touch4 or more contact points

SensorsA-GPS, Accelerometer, Compass, Light, Proximity

Camera5 mega pixels or more

MultimediaCommon detailed specs, Codec acceleration

Memory256MB RAM or more, 8GB Flash or more

GPUDirectX 9 acceleration

CPUARMv7 Cortex/Scorpion or better

80

0 (

48

0)

480 (320)

Hardware buttons | Back, Start, Search

Page 5: Mike Ormond: Developing for Windows Phone 7

The Platform

CLOUD

SCREEN

Notifications

Location Identity Feeds

MapsSocial

App Deployment

Cloud Services

Phone Emulator

Samples Documentation

Guides Community

Packaging and Verification Tools

Tools

Registration

Validation

Certification

Publishing

Marketplace

MO and CC Billing

Business Intelligence

Update Management

Portal Services

Sensors Media Data

Xbox LIVE Notifications

.NET Framework managed code sandbox

Location

Phone

Runtime

Page 6: Mike Ormond: Developing for Windows Phone 7

Building Applications

High performance game framework

Rapid creation of multi-screen 2D and 3D games

Rich content pipeline Mature, robust, widely adopted

technology Xbox 360 Windows Zune

Modern application UI framework

Rapid creation of visually stunning apps

Metro-themed UI controls

500,000 developers spanning Windows and web

Page 7: Mike Ormond: Developing for Windows Phone 7

Silverlight Recipe Start with Silverlight 3 Take away a few bits and pieces

Eg DLR, HTML DOM Bridge, Sockets, JS Programmability

Add in some extra bits Eg SIP, Manipulations, Launchers and other phone

specific features And…

Access to XNA libraries

Page 8: Mike Ormond: Developing for Windows Phone 7

XNA Recipe XNA Game Studio 4 Access to most namespaces And…

Access to Silverlight libraries

Page 9: Mike Ormond: Developing for Windows Phone 7

The Platform

CLOUD

SCREEN

Notifications

Location Identity Feeds

MapsSocial

App Deployment

Cloud Services

Phone Emulator

Samples Documentation

Guides Community

Packaging and Verification Tools

Tools

Registration

Validation

Certification

Publishing

Marketplace

MO and CC Billing

Business Intelligence

Update Management

Portal Services

Sensors Media Data

Xbox LIVE Notifications

.NET Framework managed code sandbox

Location

Phone

Runtime

Page 10: Mike Ormond: Developing for Windows Phone 7

Development Tools

Expres

sBlen

d

for

Phon

e

Emulator

Windows Phone Developer Tools

(WPDT)

Visual Studio Debug Silverlight & XNA Project Types

- Emulator

- Device

Developer Registration Tool

XAP Deployment ToolRTW

Page 11: Mike Ormond: Developing for Windows Phone 7

The Windows Phone Developer Tools

demo

Page 12: Mike Ormond: Developing for Windows Phone 7

The Platform

CLOUD

SCREEN

Notifications

Location Identity Feeds

MapsSocial

App Deployment

Cloud Services

Phone Emulator

Samples Documentation

Guides Community

Packaging and Verification Tools

Tools

Registration

Validation

Certification

Publishing

Marketplace

MO and CC Billing

Business Intelligence

Update Management

Portal Services

Sensors Media Data

Xbox LIVE Notifications

.NET Framework managed code sandbox

Location

Phone

Runtime

Page 13: Mike Ormond: Developing for Windows Phone 7

Push Notification Service

MicrosoftPush

NotificationServices

My CloudApplicatio

n

Push Client

Push Library

My Phone Applicatio

n

Push NotificationPush NotificationPush Notification

Page 14: Mike Ormond: Developing for Windows Phone 7

Push Notifications

Raw Live Tile Toast

Page 15: Mike Ormond: Developing for Windows Phone 7

Push Notifications Code

Page 16: Mike Ormond: Developing for Windows Phone 7

Where am I?

Location services

WiFi

+ Accuracy- Power- Speed- Indoors

- Accuracy+ Power+ Speed- Wilderness

- Accuracy+/- Power+/- Speed+/- Urban areas

GPS

Towers

where am i?

Page 17: Mike Ormond: Developing for Windows Phone 7

Location Service

Cloud Servic

eManaged API

My Phone Application

Native Layer

GPS

WiFi

Cellular

Radio

Page 18: Mike Ormond: Developing for Windows Phone 7

Connected Applications

REST WebClient HttpWebRequest

WCF (BasicHttpBinding) No custom bindings No sockets

XboxLive

MappingLocation Service

NotificationServices

Your Hosted Service

Windows Azure

SearchExisting Hosted

Service

Page 19: Mike Ormond: Developing for Windows Phone 7

Development Process

C# XAML+

XAP

ManifestAssembliesResources

Page 20: Mike Ormond: Developing for Windows Phone 7

Cloud Services

demo

Page 21: Mike Ormond: Developing for Windows Phone 7

The Platform

CLOUD

SCREEN

Notifications

Location Identity Feeds

MapsSocial

App Deployment

Cloud Services

Phone Emulator

Samples Documentation

Guides Community

Packaging and Verification Tools

Tools

Registration

Validation

Certification

Publishing

Marketplace

MO and CC Billing

Business Intelligence

Update Management

Portal Services

Sensors Media Data

Xbox LIVE Notifications

.NET Framework managed code sandbox

Location

Phone

Runtime

Page 22: Mike Ormond: Developing for Windows Phone 7

Application MarketPlace

DEEPEN CUSTOMER CONNECTIONTrial APIBroad business model & billing supportPush Notification, update & glance able tiles

EASILY MANAGE YOUR BUSINESSSingle self-service portalTransparent policies, open to 3rd party services

INCREASED DISCOVERABILITY

Single easy-to-find marketplace on device & PCReach all WP7 consumers with worldwide distributionLocalized merchandising to promote the best apps Unlimited Paid Apps

£67 + VAT

5 Free Apps

70% Revenue Share

Credit Card & Mobile Operator Billing Device Unlock Support for Trial Mode

Details

Page 23: Mike Ormond: Developing for Windows Phone 7

Some Platform Specifics

Page 24: Mike Ormond: Developing for Windows Phone 7

Navigation(Silverlight) Phone apps are

navigation apps

System.Windows.Application

Microsoft.Phone.Controls.PhoneApplicationFrame

RootVisual

Microsoft.Phone.Controls.PhoneApplicationPage

Page2

Microsoft.Phone.Controls.PhoneApplicationPage

Page1

Microsoft.Phone.Controls.PhoneApplicationPage

MainPageN

avig

atio

nServi

ce

MyApp

Page 25: Mike Ormond: Developing for Windows Phone 7

App Lifecycle and Tombstoning

Not Starte

d

Launching

ClosingTerminat

edRunnin

g

Deactivated

Tombstoned

Activated

ApplicationBack-Stack

Page 26: Mike Ormond: Developing for Windows Phone 7

Navigation and Lifecycle

demo

Page 27: Mike Ormond: Developing for Windows Phone 7

Launchers, Choosers EmailComposeTask MarketplaceDetailTask MarketplaceHubTask MarketplaceReviewTask MarketplaceSearchTask MediaPlayerLauncher PhoneCallTask SearchTask SmsComposeTask WebBrowserTask

CameraCaptureTask EmailAddressChooserTask PhoneNumberChooserTask PhotoChooserTask SaveEmailAddressTask SavePhoneNumberTask

Data

retu

rned

San

dbo

x

Page 28: Mike Ormond: Developing for Windows Phone 7

Launchers and Choosers

demo

Page 29: Mike Ormond: Developing for Windows Phone 7

Input

Touch

Soft Input PanelApplicat

ion BarHardwareButtons

Accelerometer

Page 30: Mike Ormond: Developing for Windows Phone 7

Handling Input

demo

Page 31: Mike Ormond: Developing for Windows Phone 7

The Hub Experience

Page 32: Mike Ormond: Developing for Windows Phone 7

Hub Extensibility

demo

Page 33: Mike Ormond: Developing for Windows Phone 7

New Controls for RTW

Page 34: Mike Ormond: Developing for Windows Phone 7

Silverlight for Windows Phone Toolkit GestureService/GestureListener ContextMenu DatePicker TimePicker ToggleSwitch WrapPanel

Page 35: Mike Ormond: Developing for Windows Phone 7

New Controls

demo

Page 36: Mike Ormond: Developing for Windows Phone 7

Orientation

Page 37: Mike Ormond: Developing for Windows Phone 7

Themes

Purple

Magenta

Teal

Lime

Brown

Pink

Orange

Blue

Red

Green

Page 38: Mike Ormond: Developing for Windows Phone 7

Orientation & Theming

demo

Page 39: Mike Ormond: Developing for Windows Phone 7

Windows Phone 7

http://bit.ly/wp7resources

http://developer.windowsphone.com

@MikeOrmond

http://bit.ly/mikeormond [email protected]

Page 40: Mike Ormond: Developing for Windows Phone 7

© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows 7 and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to

be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.