52
cocktail d’expérience informatiques Genève 3 & 4 octobre 2011 Seconde édition Track Auteur Session Microsoft Sascha P. CORTI Windows Phone 7 Mango Overview for Developers soft -shake.ch

soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Embed Size (px)

DESCRIPTION

Sascha CortiJust a year after Windows Phone 7 was released to the market, Microsoft is updating the already widely popular platform to a new release called “Mango”, which adds a lot of highly anticipated features, especially for developers.This session will introduce you to what’s new in the Mango platform for you as a developer. Many samples will show you the latest additions including background agents, the new on-device database, how to make your application run in the background and how to create augmented-reality applications or create multiple live tiles per application, that can be easily updated from within the running app.http://soft-shake.ch/2011/conference/sessions/microsoft/2011/09/06/windows-phone-7-mango.html

Citation preview

Page 1: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

cocktail drsquoexpeacuterience informatiquesGenegraveve 3 amp 4 octobre 2011

Seconde eacutedition

Track

Auteur

Session

Microsoft

Sascha P CORTI

Windows Phone 7 Mango Overview for Developers

soft-shakech

Sascha P Corti Developer Evangelist Microsoft Switzerland saschacortimicrosoftcom | blog | twitter

Windows Phone 7 Mango Overview for Developers

Windows Phone 7 ldquoMangordquo

Windows Phone

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Gyro

Camera Sensors amp Motion

Fast App Switch Silverlight and XNA

Integration

Silverlight 40

Flexible chassis

SQL CE Gen GC

Push Alerts

Multitasking

Calendar Contacts

Maps

Extras Tiles

ldquoMangordquo

Sockets

Multi-Tasking

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Start in Foreground

Continue in Background

Multitasking

current

Words ByPaul van Dyk

009

fav

010 011 012

900 AM Friday October 21 TechDays 2011 Fall Bern 900 AM ndash 600 PM

Background Notification Service

Alarms

Modal

Snooze and Dismiss

Sound Customization

No App Invocation

No Stacking

using MicrosoftPhoneScheduler private void AddAlarm(object sender RoutedEventArgs e) Alarm alarm = new Alarm(Long Day) alarmBeginTime = DateTimeNowAddSeconds(15) alarmContent = Its been a long day Go to bed alarmTitle = Alarm ScheduledActionServiceAdd(alarm)

Background Notification Service

using MicrosoftPhoneScheduler private void AddReminder(object sender RoutedEventArgs e) Reminder reminder = new Reminder(CompanyMeeting) reminderBeginTime = DateTimeNowAddSeconds(15) reminderContent = Soccer Fields by The Commons reminderTitle = Microsoft Annual Company Product Fair 2009 reminderRecurrenceType = RecurrenceIntervalYearly reminderNavigationUri = new Uri(Reminderxaml UriKindRelative) ScheduledActionServiceAdd(reminder)

Reminders

Persisted Across Reboots

Rich Information

Integrates with other Reminders

Snooze and Dismiss

Launch App

Follows Phone Global Settings

Background Transfer Service

download My WP Book App

Ready Player One

Jpod

WP7 for Devs

Great Mysteries o

Cloud Background

Transfer

Service lt 100 MB

lt20 MB

lt~30 MB

GET

POST

void DownloadWithBTS(Uri sourceUri Uri destinationPath) btr = new BackgroundTransferRequest(sourceUri destinationUri) btrTransferStatusChanged += BtsStatusChanged btrTransferProgressChanged += BtsProgressChanged BackgroundTransferServiceAdd(btr)

void BtsProgressChanged(object sender BackgroundTransferEventArgs e) DrawProgressBar(eRequestBytesReceived)

using MicrosoftPhoneBackgroundTransfer

void GetCurrentProgress() DrawProgressBar(btrBytesReceived)

completed

My WP

Book App

ISO Store

Background Transfer Service

demohellip

Agents

Periodic

On Idle

May have One or Both

Initialized in Foreground Run in Background

Persisted across Reboots

User control through Control Panel

Up to a Maximum of 18 periodic agents

Synchronize with Foreground through Mutex

Agent runs for up to 14 Days (can be renewed)

Generic Background Agents Occurrence Every 30 min Duration 15 seconds Scenarios Incremental Data Sync

Occurrence External power non-cell network Duration 10 minutes Scenarios Data Feasting

Background Agents

demohellip

Application Lifecycle

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Faster user experience

Enabled for all Mango apps

Recompile amp Test your WP7 application

New Application Resume UX

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Phone resources detached Threads amp timers suspended

Fast App Resume

Save App State

State is Preserved

Tomb stoned

Tomb stoned

Tomb stoned

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Tombstone the oldest

app

tomb stoned

Restore State

Tomb stoned

running

deacti vated

dormant

activated

Application Lifecycle

tomb stoned

Tomb stoned

Multitasking Cheat Sheet Job Tool

Resume quickly from the lock screen Fast App Switching

Set an alarm or reminder at a precise time Background Notification

Upload or download files Background Transfer

Event-based toasttile updates Push Notifications

Location-based services regular toasttile updates data pre-caching etc

Periodic Background Agent

Play music in the background Background Audio Player

Synchronize data SETIhome etc Resource-Intensive Agent

Real-time GPS tracking Run under the lock screen

New Sensor Capabilites

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

New Scenarios Enabled

Hardware Sensors amp API

Accelerometer

Compass

Not Mandatory in HW

(but present if Gyro is)

Gyro

Not Mandatory in HW

MotionSensor

All the Sensor + Math

Use whenever available

Also works wo Gyro

Individual APIs available for all Sensors

HARDWARE APIs

Motion amp Accelerometer

demohellip

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 2: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Sascha P Corti Developer Evangelist Microsoft Switzerland saschacortimicrosoftcom | blog | twitter

Windows Phone 7 Mango Overview for Developers

Windows Phone 7 ldquoMangordquo

Windows Phone

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Gyro

Camera Sensors amp Motion

Fast App Switch Silverlight and XNA

Integration

Silverlight 40

Flexible chassis

SQL CE Gen GC

Push Alerts

Multitasking

Calendar Contacts

Maps

Extras Tiles

ldquoMangordquo

Sockets

Multi-Tasking

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Start in Foreground

Continue in Background

Multitasking

current

Words ByPaul van Dyk

009

fav

010 011 012

900 AM Friday October 21 TechDays 2011 Fall Bern 900 AM ndash 600 PM

Background Notification Service

Alarms

Modal

Snooze and Dismiss

Sound Customization

No App Invocation

No Stacking

using MicrosoftPhoneScheduler private void AddAlarm(object sender RoutedEventArgs e) Alarm alarm = new Alarm(Long Day) alarmBeginTime = DateTimeNowAddSeconds(15) alarmContent = Its been a long day Go to bed alarmTitle = Alarm ScheduledActionServiceAdd(alarm)

Background Notification Service

using MicrosoftPhoneScheduler private void AddReminder(object sender RoutedEventArgs e) Reminder reminder = new Reminder(CompanyMeeting) reminderBeginTime = DateTimeNowAddSeconds(15) reminderContent = Soccer Fields by The Commons reminderTitle = Microsoft Annual Company Product Fair 2009 reminderRecurrenceType = RecurrenceIntervalYearly reminderNavigationUri = new Uri(Reminderxaml UriKindRelative) ScheduledActionServiceAdd(reminder)

Reminders

Persisted Across Reboots

Rich Information

Integrates with other Reminders

Snooze and Dismiss

Launch App

Follows Phone Global Settings

Background Transfer Service

download My WP Book App

Ready Player One

Jpod

WP7 for Devs

Great Mysteries o

Cloud Background

Transfer

Service lt 100 MB

lt20 MB

lt~30 MB

GET

POST

void DownloadWithBTS(Uri sourceUri Uri destinationPath) btr = new BackgroundTransferRequest(sourceUri destinationUri) btrTransferStatusChanged += BtsStatusChanged btrTransferProgressChanged += BtsProgressChanged BackgroundTransferServiceAdd(btr)

void BtsProgressChanged(object sender BackgroundTransferEventArgs e) DrawProgressBar(eRequestBytesReceived)

using MicrosoftPhoneBackgroundTransfer

void GetCurrentProgress() DrawProgressBar(btrBytesReceived)

completed

My WP

Book App

ISO Store

Background Transfer Service

demohellip

Agents

Periodic

On Idle

May have One or Both

Initialized in Foreground Run in Background

Persisted across Reboots

User control through Control Panel

Up to a Maximum of 18 periodic agents

Synchronize with Foreground through Mutex

Agent runs for up to 14 Days (can be renewed)

Generic Background Agents Occurrence Every 30 min Duration 15 seconds Scenarios Incremental Data Sync

Occurrence External power non-cell network Duration 10 minutes Scenarios Data Feasting

Background Agents

demohellip

Application Lifecycle

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Faster user experience

Enabled for all Mango apps

Recompile amp Test your WP7 application

New Application Resume UX

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Phone resources detached Threads amp timers suspended

Fast App Resume

Save App State

State is Preserved

Tomb stoned

Tomb stoned

Tomb stoned

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Tombstone the oldest

app

tomb stoned

Restore State

Tomb stoned

running

deacti vated

dormant

activated

Application Lifecycle

tomb stoned

Tomb stoned

Multitasking Cheat Sheet Job Tool

Resume quickly from the lock screen Fast App Switching

Set an alarm or reminder at a precise time Background Notification

Upload or download files Background Transfer

Event-based toasttile updates Push Notifications

Location-based services regular toasttile updates data pre-caching etc

Periodic Background Agent

Play music in the background Background Audio Player

Synchronize data SETIhome etc Resource-Intensive Agent

Real-time GPS tracking Run under the lock screen

New Sensor Capabilites

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

New Scenarios Enabled

Hardware Sensors amp API

Accelerometer

Compass

Not Mandatory in HW

(but present if Gyro is)

Gyro

Not Mandatory in HW

MotionSensor

All the Sensor + Math

Use whenever available

Also works wo Gyro

Individual APIs available for all Sensors

HARDWARE APIs

Motion amp Accelerometer

demohellip

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 3: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Windows Phone 7 ldquoMangordquo

Windows Phone

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Gyro

Camera Sensors amp Motion

Fast App Switch Silverlight and XNA

Integration

Silverlight 40

Flexible chassis

SQL CE Gen GC

Push Alerts

Multitasking

Calendar Contacts

Maps

Extras Tiles

ldquoMangordquo

Sockets

Multi-Tasking

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Start in Foreground

Continue in Background

Multitasking

current

Words ByPaul van Dyk

009

fav

010 011 012

900 AM Friday October 21 TechDays 2011 Fall Bern 900 AM ndash 600 PM

Background Notification Service

Alarms

Modal

Snooze and Dismiss

Sound Customization

No App Invocation

No Stacking

using MicrosoftPhoneScheduler private void AddAlarm(object sender RoutedEventArgs e) Alarm alarm = new Alarm(Long Day) alarmBeginTime = DateTimeNowAddSeconds(15) alarmContent = Its been a long day Go to bed alarmTitle = Alarm ScheduledActionServiceAdd(alarm)

Background Notification Service

using MicrosoftPhoneScheduler private void AddReminder(object sender RoutedEventArgs e) Reminder reminder = new Reminder(CompanyMeeting) reminderBeginTime = DateTimeNowAddSeconds(15) reminderContent = Soccer Fields by The Commons reminderTitle = Microsoft Annual Company Product Fair 2009 reminderRecurrenceType = RecurrenceIntervalYearly reminderNavigationUri = new Uri(Reminderxaml UriKindRelative) ScheduledActionServiceAdd(reminder)

Reminders

Persisted Across Reboots

Rich Information

Integrates with other Reminders

Snooze and Dismiss

Launch App

Follows Phone Global Settings

Background Transfer Service

download My WP Book App

Ready Player One

Jpod

WP7 for Devs

Great Mysteries o

Cloud Background

Transfer

Service lt 100 MB

lt20 MB

lt~30 MB

GET

POST

void DownloadWithBTS(Uri sourceUri Uri destinationPath) btr = new BackgroundTransferRequest(sourceUri destinationUri) btrTransferStatusChanged += BtsStatusChanged btrTransferProgressChanged += BtsProgressChanged BackgroundTransferServiceAdd(btr)

void BtsProgressChanged(object sender BackgroundTransferEventArgs e) DrawProgressBar(eRequestBytesReceived)

using MicrosoftPhoneBackgroundTransfer

void GetCurrentProgress() DrawProgressBar(btrBytesReceived)

completed

My WP

Book App

ISO Store

Background Transfer Service

demohellip

Agents

Periodic

On Idle

May have One or Both

Initialized in Foreground Run in Background

Persisted across Reboots

User control through Control Panel

Up to a Maximum of 18 periodic agents

Synchronize with Foreground through Mutex

Agent runs for up to 14 Days (can be renewed)

Generic Background Agents Occurrence Every 30 min Duration 15 seconds Scenarios Incremental Data Sync

Occurrence External power non-cell network Duration 10 minutes Scenarios Data Feasting

Background Agents

demohellip

Application Lifecycle

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Faster user experience

Enabled for all Mango apps

Recompile amp Test your WP7 application

New Application Resume UX

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Phone resources detached Threads amp timers suspended

Fast App Resume

Save App State

State is Preserved

Tomb stoned

Tomb stoned

Tomb stoned

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Tombstone the oldest

app

tomb stoned

Restore State

Tomb stoned

running

deacti vated

dormant

activated

Application Lifecycle

tomb stoned

Tomb stoned

Multitasking Cheat Sheet Job Tool

Resume quickly from the lock screen Fast App Switching

Set an alarm or reminder at a precise time Background Notification

Upload or download files Background Transfer

Event-based toasttile updates Push Notifications

Location-based services regular toasttile updates data pre-caching etc

Periodic Background Agent

Play music in the background Background Audio Player

Synchronize data SETIhome etc Resource-Intensive Agent

Real-time GPS tracking Run under the lock screen

New Sensor Capabilites

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

New Scenarios Enabled

Hardware Sensors amp API

Accelerometer

Compass

Not Mandatory in HW

(but present if Gyro is)

Gyro

Not Mandatory in HW

MotionSensor

All the Sensor + Math

Use whenever available

Also works wo Gyro

Individual APIs available for all Sensors

HARDWARE APIs

Motion amp Accelerometer

demohellip

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 4: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Windows Phone

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Gyro

Camera Sensors amp Motion

Fast App Switch Silverlight and XNA

Integration

Silverlight 40

Flexible chassis

SQL CE Gen GC

Push Alerts

Multitasking

Calendar Contacts

Maps

Extras Tiles

ldquoMangordquo

Sockets

Multi-Tasking

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Start in Foreground

Continue in Background

Multitasking

current

Words ByPaul van Dyk

009

fav

010 011 012

900 AM Friday October 21 TechDays 2011 Fall Bern 900 AM ndash 600 PM

Background Notification Service

Alarms

Modal

Snooze and Dismiss

Sound Customization

No App Invocation

No Stacking

using MicrosoftPhoneScheduler private void AddAlarm(object sender RoutedEventArgs e) Alarm alarm = new Alarm(Long Day) alarmBeginTime = DateTimeNowAddSeconds(15) alarmContent = Its been a long day Go to bed alarmTitle = Alarm ScheduledActionServiceAdd(alarm)

Background Notification Service

using MicrosoftPhoneScheduler private void AddReminder(object sender RoutedEventArgs e) Reminder reminder = new Reminder(CompanyMeeting) reminderBeginTime = DateTimeNowAddSeconds(15) reminderContent = Soccer Fields by The Commons reminderTitle = Microsoft Annual Company Product Fair 2009 reminderRecurrenceType = RecurrenceIntervalYearly reminderNavigationUri = new Uri(Reminderxaml UriKindRelative) ScheduledActionServiceAdd(reminder)

Reminders

Persisted Across Reboots

Rich Information

Integrates with other Reminders

Snooze and Dismiss

Launch App

Follows Phone Global Settings

Background Transfer Service

download My WP Book App

Ready Player One

Jpod

WP7 for Devs

Great Mysteries o

Cloud Background

Transfer

Service lt 100 MB

lt20 MB

lt~30 MB

GET

POST

void DownloadWithBTS(Uri sourceUri Uri destinationPath) btr = new BackgroundTransferRequest(sourceUri destinationUri) btrTransferStatusChanged += BtsStatusChanged btrTransferProgressChanged += BtsProgressChanged BackgroundTransferServiceAdd(btr)

void BtsProgressChanged(object sender BackgroundTransferEventArgs e) DrawProgressBar(eRequestBytesReceived)

using MicrosoftPhoneBackgroundTransfer

void GetCurrentProgress() DrawProgressBar(btrBytesReceived)

completed

My WP

Book App

ISO Store

Background Transfer Service

demohellip

Agents

Periodic

On Idle

May have One or Both

Initialized in Foreground Run in Background

Persisted across Reboots

User control through Control Panel

Up to a Maximum of 18 periodic agents

Synchronize with Foreground through Mutex

Agent runs for up to 14 Days (can be renewed)

Generic Background Agents Occurrence Every 30 min Duration 15 seconds Scenarios Incremental Data Sync

Occurrence External power non-cell network Duration 10 minutes Scenarios Data Feasting

Background Agents

demohellip

Application Lifecycle

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Faster user experience

Enabled for all Mango apps

Recompile amp Test your WP7 application

New Application Resume UX

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Phone resources detached Threads amp timers suspended

Fast App Resume

Save App State

State is Preserved

Tomb stoned

Tomb stoned

Tomb stoned

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Tombstone the oldest

app

tomb stoned

Restore State

Tomb stoned

running

deacti vated

dormant

activated

Application Lifecycle

tomb stoned

Tomb stoned

Multitasking Cheat Sheet Job Tool

Resume quickly from the lock screen Fast App Switching

Set an alarm or reminder at a precise time Background Notification

Upload or download files Background Transfer

Event-based toasttile updates Push Notifications

Location-based services regular toasttile updates data pre-caching etc

Periodic Background Agent

Play music in the background Background Audio Player

Synchronize data SETIhome etc Resource-Intensive Agent

Real-time GPS tracking Run under the lock screen

New Sensor Capabilites

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

New Scenarios Enabled

Hardware Sensors amp API

Accelerometer

Compass

Not Mandatory in HW

(but present if Gyro is)

Gyro

Not Mandatory in HW

MotionSensor

All the Sensor + Math

Use whenever available

Also works wo Gyro

Individual APIs available for all Sensors

HARDWARE APIs

Motion amp Accelerometer

demohellip

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 5: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Multi-Tasking

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Start in Foreground

Continue in Background

Multitasking

current

Words ByPaul van Dyk

009

fav

010 011 012

900 AM Friday October 21 TechDays 2011 Fall Bern 900 AM ndash 600 PM

Background Notification Service

Alarms

Modal

Snooze and Dismiss

Sound Customization

No App Invocation

No Stacking

using MicrosoftPhoneScheduler private void AddAlarm(object sender RoutedEventArgs e) Alarm alarm = new Alarm(Long Day) alarmBeginTime = DateTimeNowAddSeconds(15) alarmContent = Its been a long day Go to bed alarmTitle = Alarm ScheduledActionServiceAdd(alarm)

Background Notification Service

using MicrosoftPhoneScheduler private void AddReminder(object sender RoutedEventArgs e) Reminder reminder = new Reminder(CompanyMeeting) reminderBeginTime = DateTimeNowAddSeconds(15) reminderContent = Soccer Fields by The Commons reminderTitle = Microsoft Annual Company Product Fair 2009 reminderRecurrenceType = RecurrenceIntervalYearly reminderNavigationUri = new Uri(Reminderxaml UriKindRelative) ScheduledActionServiceAdd(reminder)

Reminders

Persisted Across Reboots

Rich Information

Integrates with other Reminders

Snooze and Dismiss

Launch App

Follows Phone Global Settings

Background Transfer Service

download My WP Book App

Ready Player One

Jpod

WP7 for Devs

Great Mysteries o

Cloud Background

Transfer

Service lt 100 MB

lt20 MB

lt~30 MB

GET

POST

void DownloadWithBTS(Uri sourceUri Uri destinationPath) btr = new BackgroundTransferRequest(sourceUri destinationUri) btrTransferStatusChanged += BtsStatusChanged btrTransferProgressChanged += BtsProgressChanged BackgroundTransferServiceAdd(btr)

void BtsProgressChanged(object sender BackgroundTransferEventArgs e) DrawProgressBar(eRequestBytesReceived)

using MicrosoftPhoneBackgroundTransfer

void GetCurrentProgress() DrawProgressBar(btrBytesReceived)

completed

My WP

Book App

ISO Store

Background Transfer Service

demohellip

Agents

Periodic

On Idle

May have One or Both

Initialized in Foreground Run in Background

Persisted across Reboots

User control through Control Panel

Up to a Maximum of 18 periodic agents

Synchronize with Foreground through Mutex

Agent runs for up to 14 Days (can be renewed)

Generic Background Agents Occurrence Every 30 min Duration 15 seconds Scenarios Incremental Data Sync

Occurrence External power non-cell network Duration 10 minutes Scenarios Data Feasting

Background Agents

demohellip

Application Lifecycle

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Faster user experience

Enabled for all Mango apps

Recompile amp Test your WP7 application

New Application Resume UX

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Phone resources detached Threads amp timers suspended

Fast App Resume

Save App State

State is Preserved

Tomb stoned

Tomb stoned

Tomb stoned

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Tombstone the oldest

app

tomb stoned

Restore State

Tomb stoned

running

deacti vated

dormant

activated

Application Lifecycle

tomb stoned

Tomb stoned

Multitasking Cheat Sheet Job Tool

Resume quickly from the lock screen Fast App Switching

Set an alarm or reminder at a precise time Background Notification

Upload or download files Background Transfer

Event-based toasttile updates Push Notifications

Location-based services regular toasttile updates data pre-caching etc

Periodic Background Agent

Play music in the background Background Audio Player

Synchronize data SETIhome etc Resource-Intensive Agent

Real-time GPS tracking Run under the lock screen

New Sensor Capabilites

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

New Scenarios Enabled

Hardware Sensors amp API

Accelerometer

Compass

Not Mandatory in HW

(but present if Gyro is)

Gyro

Not Mandatory in HW

MotionSensor

All the Sensor + Math

Use whenever available

Also works wo Gyro

Individual APIs available for all Sensors

HARDWARE APIs

Motion amp Accelerometer

demohellip

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 6: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Start in Foreground

Continue in Background

Multitasking

current

Words ByPaul van Dyk

009

fav

010 011 012

900 AM Friday October 21 TechDays 2011 Fall Bern 900 AM ndash 600 PM

Background Notification Service

Alarms

Modal

Snooze and Dismiss

Sound Customization

No App Invocation

No Stacking

using MicrosoftPhoneScheduler private void AddAlarm(object sender RoutedEventArgs e) Alarm alarm = new Alarm(Long Day) alarmBeginTime = DateTimeNowAddSeconds(15) alarmContent = Its been a long day Go to bed alarmTitle = Alarm ScheduledActionServiceAdd(alarm)

Background Notification Service

using MicrosoftPhoneScheduler private void AddReminder(object sender RoutedEventArgs e) Reminder reminder = new Reminder(CompanyMeeting) reminderBeginTime = DateTimeNowAddSeconds(15) reminderContent = Soccer Fields by The Commons reminderTitle = Microsoft Annual Company Product Fair 2009 reminderRecurrenceType = RecurrenceIntervalYearly reminderNavigationUri = new Uri(Reminderxaml UriKindRelative) ScheduledActionServiceAdd(reminder)

Reminders

Persisted Across Reboots

Rich Information

Integrates with other Reminders

Snooze and Dismiss

Launch App

Follows Phone Global Settings

Background Transfer Service

download My WP Book App

Ready Player One

Jpod

WP7 for Devs

Great Mysteries o

Cloud Background

Transfer

Service lt 100 MB

lt20 MB

lt~30 MB

GET

POST

void DownloadWithBTS(Uri sourceUri Uri destinationPath) btr = new BackgroundTransferRequest(sourceUri destinationUri) btrTransferStatusChanged += BtsStatusChanged btrTransferProgressChanged += BtsProgressChanged BackgroundTransferServiceAdd(btr)

void BtsProgressChanged(object sender BackgroundTransferEventArgs e) DrawProgressBar(eRequestBytesReceived)

using MicrosoftPhoneBackgroundTransfer

void GetCurrentProgress() DrawProgressBar(btrBytesReceived)

completed

My WP

Book App

ISO Store

Background Transfer Service

demohellip

Agents

Periodic

On Idle

May have One or Both

Initialized in Foreground Run in Background

Persisted across Reboots

User control through Control Panel

Up to a Maximum of 18 periodic agents

Synchronize with Foreground through Mutex

Agent runs for up to 14 Days (can be renewed)

Generic Background Agents Occurrence Every 30 min Duration 15 seconds Scenarios Incremental Data Sync

Occurrence External power non-cell network Duration 10 minutes Scenarios Data Feasting

Background Agents

demohellip

Application Lifecycle

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Faster user experience

Enabled for all Mango apps

Recompile amp Test your WP7 application

New Application Resume UX

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Phone resources detached Threads amp timers suspended

Fast App Resume

Save App State

State is Preserved

Tomb stoned

Tomb stoned

Tomb stoned

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Tombstone the oldest

app

tomb stoned

Restore State

Tomb stoned

running

deacti vated

dormant

activated

Application Lifecycle

tomb stoned

Tomb stoned

Multitasking Cheat Sheet Job Tool

Resume quickly from the lock screen Fast App Switching

Set an alarm or reminder at a precise time Background Notification

Upload or download files Background Transfer

Event-based toasttile updates Push Notifications

Location-based services regular toasttile updates data pre-caching etc

Periodic Background Agent

Play music in the background Background Audio Player

Synchronize data SETIhome etc Resource-Intensive Agent

Real-time GPS tracking Run under the lock screen

New Sensor Capabilites

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

New Scenarios Enabled

Hardware Sensors amp API

Accelerometer

Compass

Not Mandatory in HW

(but present if Gyro is)

Gyro

Not Mandatory in HW

MotionSensor

All the Sensor + Math

Use whenever available

Also works wo Gyro

Individual APIs available for all Sensors

HARDWARE APIs

Motion amp Accelerometer

demohellip

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 7: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Background Notification Service

Alarms

Modal

Snooze and Dismiss

Sound Customization

No App Invocation

No Stacking

using MicrosoftPhoneScheduler private void AddAlarm(object sender RoutedEventArgs e) Alarm alarm = new Alarm(Long Day) alarmBeginTime = DateTimeNowAddSeconds(15) alarmContent = Its been a long day Go to bed alarmTitle = Alarm ScheduledActionServiceAdd(alarm)

Background Notification Service

using MicrosoftPhoneScheduler private void AddReminder(object sender RoutedEventArgs e) Reminder reminder = new Reminder(CompanyMeeting) reminderBeginTime = DateTimeNowAddSeconds(15) reminderContent = Soccer Fields by The Commons reminderTitle = Microsoft Annual Company Product Fair 2009 reminderRecurrenceType = RecurrenceIntervalYearly reminderNavigationUri = new Uri(Reminderxaml UriKindRelative) ScheduledActionServiceAdd(reminder)

Reminders

Persisted Across Reboots

Rich Information

Integrates with other Reminders

Snooze and Dismiss

Launch App

Follows Phone Global Settings

Background Transfer Service

download My WP Book App

Ready Player One

Jpod

WP7 for Devs

Great Mysteries o

Cloud Background

Transfer

Service lt 100 MB

lt20 MB

lt~30 MB

GET

POST

void DownloadWithBTS(Uri sourceUri Uri destinationPath) btr = new BackgroundTransferRequest(sourceUri destinationUri) btrTransferStatusChanged += BtsStatusChanged btrTransferProgressChanged += BtsProgressChanged BackgroundTransferServiceAdd(btr)

void BtsProgressChanged(object sender BackgroundTransferEventArgs e) DrawProgressBar(eRequestBytesReceived)

using MicrosoftPhoneBackgroundTransfer

void GetCurrentProgress() DrawProgressBar(btrBytesReceived)

completed

My WP

Book App

ISO Store

Background Transfer Service

demohellip

Agents

Periodic

On Idle

May have One or Both

Initialized in Foreground Run in Background

Persisted across Reboots

User control through Control Panel

Up to a Maximum of 18 periodic agents

Synchronize with Foreground through Mutex

Agent runs for up to 14 Days (can be renewed)

Generic Background Agents Occurrence Every 30 min Duration 15 seconds Scenarios Incremental Data Sync

Occurrence External power non-cell network Duration 10 minutes Scenarios Data Feasting

Background Agents

demohellip

Application Lifecycle

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Faster user experience

Enabled for all Mango apps

Recompile amp Test your WP7 application

New Application Resume UX

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Phone resources detached Threads amp timers suspended

Fast App Resume

Save App State

State is Preserved

Tomb stoned

Tomb stoned

Tomb stoned

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Tombstone the oldest

app

tomb stoned

Restore State

Tomb stoned

running

deacti vated

dormant

activated

Application Lifecycle

tomb stoned

Tomb stoned

Multitasking Cheat Sheet Job Tool

Resume quickly from the lock screen Fast App Switching

Set an alarm or reminder at a precise time Background Notification

Upload or download files Background Transfer

Event-based toasttile updates Push Notifications

Location-based services regular toasttile updates data pre-caching etc

Periodic Background Agent

Play music in the background Background Audio Player

Synchronize data SETIhome etc Resource-Intensive Agent

Real-time GPS tracking Run under the lock screen

New Sensor Capabilites

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

New Scenarios Enabled

Hardware Sensors amp API

Accelerometer

Compass

Not Mandatory in HW

(but present if Gyro is)

Gyro

Not Mandatory in HW

MotionSensor

All the Sensor + Math

Use whenever available

Also works wo Gyro

Individual APIs available for all Sensors

HARDWARE APIs

Motion amp Accelerometer

demohellip

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 8: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Background Notification Service

using MicrosoftPhoneScheduler private void AddReminder(object sender RoutedEventArgs e) Reminder reminder = new Reminder(CompanyMeeting) reminderBeginTime = DateTimeNowAddSeconds(15) reminderContent = Soccer Fields by The Commons reminderTitle = Microsoft Annual Company Product Fair 2009 reminderRecurrenceType = RecurrenceIntervalYearly reminderNavigationUri = new Uri(Reminderxaml UriKindRelative) ScheduledActionServiceAdd(reminder)

Reminders

Persisted Across Reboots

Rich Information

Integrates with other Reminders

Snooze and Dismiss

Launch App

Follows Phone Global Settings

Background Transfer Service

download My WP Book App

Ready Player One

Jpod

WP7 for Devs

Great Mysteries o

Cloud Background

Transfer

Service lt 100 MB

lt20 MB

lt~30 MB

GET

POST

void DownloadWithBTS(Uri sourceUri Uri destinationPath) btr = new BackgroundTransferRequest(sourceUri destinationUri) btrTransferStatusChanged += BtsStatusChanged btrTransferProgressChanged += BtsProgressChanged BackgroundTransferServiceAdd(btr)

void BtsProgressChanged(object sender BackgroundTransferEventArgs e) DrawProgressBar(eRequestBytesReceived)

using MicrosoftPhoneBackgroundTransfer

void GetCurrentProgress() DrawProgressBar(btrBytesReceived)

completed

My WP

Book App

ISO Store

Background Transfer Service

demohellip

Agents

Periodic

On Idle

May have One or Both

Initialized in Foreground Run in Background

Persisted across Reboots

User control through Control Panel

Up to a Maximum of 18 periodic agents

Synchronize with Foreground through Mutex

Agent runs for up to 14 Days (can be renewed)

Generic Background Agents Occurrence Every 30 min Duration 15 seconds Scenarios Incremental Data Sync

Occurrence External power non-cell network Duration 10 minutes Scenarios Data Feasting

Background Agents

demohellip

Application Lifecycle

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Faster user experience

Enabled for all Mango apps

Recompile amp Test your WP7 application

New Application Resume UX

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Phone resources detached Threads amp timers suspended

Fast App Resume

Save App State

State is Preserved

Tomb stoned

Tomb stoned

Tomb stoned

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Tombstone the oldest

app

tomb stoned

Restore State

Tomb stoned

running

deacti vated

dormant

activated

Application Lifecycle

tomb stoned

Tomb stoned

Multitasking Cheat Sheet Job Tool

Resume quickly from the lock screen Fast App Switching

Set an alarm or reminder at a precise time Background Notification

Upload or download files Background Transfer

Event-based toasttile updates Push Notifications

Location-based services regular toasttile updates data pre-caching etc

Periodic Background Agent

Play music in the background Background Audio Player

Synchronize data SETIhome etc Resource-Intensive Agent

Real-time GPS tracking Run under the lock screen

New Sensor Capabilites

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

New Scenarios Enabled

Hardware Sensors amp API

Accelerometer

Compass

Not Mandatory in HW

(but present if Gyro is)

Gyro

Not Mandatory in HW

MotionSensor

All the Sensor + Math

Use whenever available

Also works wo Gyro

Individual APIs available for all Sensors

HARDWARE APIs

Motion amp Accelerometer

demohellip

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 9: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Background Transfer Service

download My WP Book App

Ready Player One

Jpod

WP7 for Devs

Great Mysteries o

Cloud Background

Transfer

Service lt 100 MB

lt20 MB

lt~30 MB

GET

POST

void DownloadWithBTS(Uri sourceUri Uri destinationPath) btr = new BackgroundTransferRequest(sourceUri destinationUri) btrTransferStatusChanged += BtsStatusChanged btrTransferProgressChanged += BtsProgressChanged BackgroundTransferServiceAdd(btr)

void BtsProgressChanged(object sender BackgroundTransferEventArgs e) DrawProgressBar(eRequestBytesReceived)

using MicrosoftPhoneBackgroundTransfer

void GetCurrentProgress() DrawProgressBar(btrBytesReceived)

completed

My WP

Book App

ISO Store

Background Transfer Service

demohellip

Agents

Periodic

On Idle

May have One or Both

Initialized in Foreground Run in Background

Persisted across Reboots

User control through Control Panel

Up to a Maximum of 18 periodic agents

Synchronize with Foreground through Mutex

Agent runs for up to 14 Days (can be renewed)

Generic Background Agents Occurrence Every 30 min Duration 15 seconds Scenarios Incremental Data Sync

Occurrence External power non-cell network Duration 10 minutes Scenarios Data Feasting

Background Agents

demohellip

Application Lifecycle

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Faster user experience

Enabled for all Mango apps

Recompile amp Test your WP7 application

New Application Resume UX

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Phone resources detached Threads amp timers suspended

Fast App Resume

Save App State

State is Preserved

Tomb stoned

Tomb stoned

Tomb stoned

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Tombstone the oldest

app

tomb stoned

Restore State

Tomb stoned

running

deacti vated

dormant

activated

Application Lifecycle

tomb stoned

Tomb stoned

Multitasking Cheat Sheet Job Tool

Resume quickly from the lock screen Fast App Switching

Set an alarm or reminder at a precise time Background Notification

Upload or download files Background Transfer

Event-based toasttile updates Push Notifications

Location-based services regular toasttile updates data pre-caching etc

Periodic Background Agent

Play music in the background Background Audio Player

Synchronize data SETIhome etc Resource-Intensive Agent

Real-time GPS tracking Run under the lock screen

New Sensor Capabilites

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

New Scenarios Enabled

Hardware Sensors amp API

Accelerometer

Compass

Not Mandatory in HW

(but present if Gyro is)

Gyro

Not Mandatory in HW

MotionSensor

All the Sensor + Math

Use whenever available

Also works wo Gyro

Individual APIs available for all Sensors

HARDWARE APIs

Motion amp Accelerometer

demohellip

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 10: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Background Transfer Service

demohellip

Agents

Periodic

On Idle

May have One or Both

Initialized in Foreground Run in Background

Persisted across Reboots

User control through Control Panel

Up to a Maximum of 18 periodic agents

Synchronize with Foreground through Mutex

Agent runs for up to 14 Days (can be renewed)

Generic Background Agents Occurrence Every 30 min Duration 15 seconds Scenarios Incremental Data Sync

Occurrence External power non-cell network Duration 10 minutes Scenarios Data Feasting

Background Agents

demohellip

Application Lifecycle

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Faster user experience

Enabled for all Mango apps

Recompile amp Test your WP7 application

New Application Resume UX

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Phone resources detached Threads amp timers suspended

Fast App Resume

Save App State

State is Preserved

Tomb stoned

Tomb stoned

Tomb stoned

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Tombstone the oldest

app

tomb stoned

Restore State

Tomb stoned

running

deacti vated

dormant

activated

Application Lifecycle

tomb stoned

Tomb stoned

Multitasking Cheat Sheet Job Tool

Resume quickly from the lock screen Fast App Switching

Set an alarm or reminder at a precise time Background Notification

Upload or download files Background Transfer

Event-based toasttile updates Push Notifications

Location-based services regular toasttile updates data pre-caching etc

Periodic Background Agent

Play music in the background Background Audio Player

Synchronize data SETIhome etc Resource-Intensive Agent

Real-time GPS tracking Run under the lock screen

New Sensor Capabilites

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

New Scenarios Enabled

Hardware Sensors amp API

Accelerometer

Compass

Not Mandatory in HW

(but present if Gyro is)

Gyro

Not Mandatory in HW

MotionSensor

All the Sensor + Math

Use whenever available

Also works wo Gyro

Individual APIs available for all Sensors

HARDWARE APIs

Motion amp Accelerometer

demohellip

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 11: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Agents

Periodic

On Idle

May have One or Both

Initialized in Foreground Run in Background

Persisted across Reboots

User control through Control Panel

Up to a Maximum of 18 periodic agents

Synchronize with Foreground through Mutex

Agent runs for up to 14 Days (can be renewed)

Generic Background Agents Occurrence Every 30 min Duration 15 seconds Scenarios Incremental Data Sync

Occurrence External power non-cell network Duration 10 minutes Scenarios Data Feasting

Background Agents

demohellip

Application Lifecycle

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Faster user experience

Enabled for all Mango apps

Recompile amp Test your WP7 application

New Application Resume UX

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Phone resources detached Threads amp timers suspended

Fast App Resume

Save App State

State is Preserved

Tomb stoned

Tomb stoned

Tomb stoned

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Tombstone the oldest

app

tomb stoned

Restore State

Tomb stoned

running

deacti vated

dormant

activated

Application Lifecycle

tomb stoned

Tomb stoned

Multitasking Cheat Sheet Job Tool

Resume quickly from the lock screen Fast App Switching

Set an alarm or reminder at a precise time Background Notification

Upload or download files Background Transfer

Event-based toasttile updates Push Notifications

Location-based services regular toasttile updates data pre-caching etc

Periodic Background Agent

Play music in the background Background Audio Player

Synchronize data SETIhome etc Resource-Intensive Agent

Real-time GPS tracking Run under the lock screen

New Sensor Capabilites

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

New Scenarios Enabled

Hardware Sensors amp API

Accelerometer

Compass

Not Mandatory in HW

(but present if Gyro is)

Gyro

Not Mandatory in HW

MotionSensor

All the Sensor + Math

Use whenever available

Also works wo Gyro

Individual APIs available for all Sensors

HARDWARE APIs

Motion amp Accelerometer

demohellip

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 12: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Background Agents

demohellip

Application Lifecycle

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Faster user experience

Enabled for all Mango apps

Recompile amp Test your WP7 application

New Application Resume UX

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Phone resources detached Threads amp timers suspended

Fast App Resume

Save App State

State is Preserved

Tomb stoned

Tomb stoned

Tomb stoned

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Tombstone the oldest

app

tomb stoned

Restore State

Tomb stoned

running

deacti vated

dormant

activated

Application Lifecycle

tomb stoned

Tomb stoned

Multitasking Cheat Sheet Job Tool

Resume quickly from the lock screen Fast App Switching

Set an alarm or reminder at a precise time Background Notification

Upload or download files Background Transfer

Event-based toasttile updates Push Notifications

Location-based services regular toasttile updates data pre-caching etc

Periodic Background Agent

Play music in the background Background Audio Player

Synchronize data SETIhome etc Resource-Intensive Agent

Real-time GPS tracking Run under the lock screen

New Sensor Capabilites

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

New Scenarios Enabled

Hardware Sensors amp API

Accelerometer

Compass

Not Mandatory in HW

(but present if Gyro is)

Gyro

Not Mandatory in HW

MotionSensor

All the Sensor + Math

Use whenever available

Also works wo Gyro

Individual APIs available for all Sensors

HARDWARE APIs

Motion amp Accelerometer

demohellip

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 13: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Application Lifecycle

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Faster user experience

Enabled for all Mango apps

Recompile amp Test your WP7 application

New Application Resume UX

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Phone resources detached Threads amp timers suspended

Fast App Resume

Save App State

State is Preserved

Tomb stoned

Tomb stoned

Tomb stoned

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Tombstone the oldest

app

tomb stoned

Restore State

Tomb stoned

running

deacti vated

dormant

activated

Application Lifecycle

tomb stoned

Tomb stoned

Multitasking Cheat Sheet Job Tool

Resume quickly from the lock screen Fast App Switching

Set an alarm or reminder at a precise time Background Notification

Upload or download files Background Transfer

Event-based toasttile updates Push Notifications

Location-based services regular toasttile updates data pre-caching etc

Periodic Background Agent

Play music in the background Background Audio Player

Synchronize data SETIhome etc Resource-Intensive Agent

Real-time GPS tracking Run under the lock screen

New Sensor Capabilites

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

New Scenarios Enabled

Hardware Sensors amp API

Accelerometer

Compass

Not Mandatory in HW

(but present if Gyro is)

Gyro

Not Mandatory in HW

MotionSensor

All the Sensor + Math

Use whenever available

Also works wo Gyro

Individual APIs available for all Sensors

HARDWARE APIs

Motion amp Accelerometer

demohellip

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 14: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Faster user experience

Enabled for all Mango apps

Recompile amp Test your WP7 application

New Application Resume UX

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Phone resources detached Threads amp timers suspended

Fast App Resume

Save App State

State is Preserved

Tomb stoned

Tomb stoned

Tomb stoned

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Tombstone the oldest

app

tomb stoned

Restore State

Tomb stoned

running

deacti vated

dormant

activated

Application Lifecycle

tomb stoned

Tomb stoned

Multitasking Cheat Sheet Job Tool

Resume quickly from the lock screen Fast App Switching

Set an alarm or reminder at a precise time Background Notification

Upload or download files Background Transfer

Event-based toasttile updates Push Notifications

Location-based services regular toasttile updates data pre-caching etc

Periodic Background Agent

Play music in the background Background Audio Player

Synchronize data SETIhome etc Resource-Intensive Agent

Real-time GPS tracking Run under the lock screen

New Sensor Capabilites

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

New Scenarios Enabled

Hardware Sensors amp API

Accelerometer

Compass

Not Mandatory in HW

(but present if Gyro is)

Gyro

Not Mandatory in HW

MotionSensor

All the Sensor + Math

Use whenever available

Also works wo Gyro

Individual APIs available for all Sensors

HARDWARE APIs

Motion amp Accelerometer

demohellip

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 15: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

running

deacti vated

dormant

activated

Application Lifecycle

Phone resources detached Threads amp timers suspended

Fast App Resume

Save App State

State is Preserved

Tomb stoned

Tomb stoned

Tomb stoned

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Tombstone the oldest

app

tomb stoned

Restore State

Tomb stoned

running

deacti vated

dormant

activated

Application Lifecycle

tomb stoned

Tomb stoned

Multitasking Cheat Sheet Job Tool

Resume quickly from the lock screen Fast App Switching

Set an alarm or reminder at a precise time Background Notification

Upload or download files Background Transfer

Event-based toasttile updates Push Notifications

Location-based services regular toasttile updates data pre-caching etc

Periodic Background Agent

Play music in the background Background Audio Player

Synchronize data SETIhome etc Resource-Intensive Agent

Real-time GPS tracking Run under the lock screen

New Sensor Capabilites

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

New Scenarios Enabled

Hardware Sensors amp API

Accelerometer

Compass

Not Mandatory in HW

(but present if Gyro is)

Gyro

Not Mandatory in HW

MotionSensor

All the Sensor + Math

Use whenever available

Also works wo Gyro

Individual APIs available for all Sensors

HARDWARE APIs

Motion amp Accelerometer

demohellip

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 16: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Resuming

running

deacti vated

dormant

activated

Application Lifecycle

Tombstone the oldest

app

tomb stoned

Restore State

Tomb stoned

running

deacti vated

dormant

activated

Application Lifecycle

tomb stoned

Tomb stoned

Multitasking Cheat Sheet Job Tool

Resume quickly from the lock screen Fast App Switching

Set an alarm or reminder at a precise time Background Notification

Upload or download files Background Transfer

Event-based toasttile updates Push Notifications

Location-based services regular toasttile updates data pre-caching etc

Periodic Background Agent

Play music in the background Background Audio Player

Synchronize data SETIhome etc Resource-Intensive Agent

Real-time GPS tracking Run under the lock screen

New Sensor Capabilites

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

New Scenarios Enabled

Hardware Sensors amp API

Accelerometer

Compass

Not Mandatory in HW

(but present if Gyro is)

Gyro

Not Mandatory in HW

MotionSensor

All the Sensor + Math

Use whenever available

Also works wo Gyro

Individual APIs available for all Sensors

HARDWARE APIs

Motion amp Accelerometer

demohellip

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 17: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

running

deacti vated

dormant

activated

Application Lifecycle

tomb stoned

Tomb stoned

Multitasking Cheat Sheet Job Tool

Resume quickly from the lock screen Fast App Switching

Set an alarm or reminder at a precise time Background Notification

Upload or download files Background Transfer

Event-based toasttile updates Push Notifications

Location-based services regular toasttile updates data pre-caching etc

Periodic Background Agent

Play music in the background Background Audio Player

Synchronize data SETIhome etc Resource-Intensive Agent

Real-time GPS tracking Run under the lock screen

New Sensor Capabilites

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

New Scenarios Enabled

Hardware Sensors amp API

Accelerometer

Compass

Not Mandatory in HW

(but present if Gyro is)

Gyro

Not Mandatory in HW

MotionSensor

All the Sensor + Math

Use whenever available

Also works wo Gyro

Individual APIs available for all Sensors

HARDWARE APIs

Motion amp Accelerometer

demohellip

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 18: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Multitasking Cheat Sheet Job Tool

Resume quickly from the lock screen Fast App Switching

Set an alarm or reminder at a precise time Background Notification

Upload or download files Background Transfer

Event-based toasttile updates Push Notifications

Location-based services regular toasttile updates data pre-caching etc

Periodic Background Agent

Play music in the background Background Audio Player

Synchronize data SETIhome etc Resource-Intensive Agent

Real-time GPS tracking Run under the lock screen

New Sensor Capabilites

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

New Scenarios Enabled

Hardware Sensors amp API

Accelerometer

Compass

Not Mandatory in HW

(but present if Gyro is)

Gyro

Not Mandatory in HW

MotionSensor

All the Sensor + Math

Use whenever available

Also works wo Gyro

Individual APIs available for all Sensors

HARDWARE APIs

Motion amp Accelerometer

demohellip

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 19: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

New Sensor Capabilites

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

New Scenarios Enabled

Hardware Sensors amp API

Accelerometer

Compass

Not Mandatory in HW

(but present if Gyro is)

Gyro

Not Mandatory in HW

MotionSensor

All the Sensor + Math

Use whenever available

Also works wo Gyro

Individual APIs available for all Sensors

HARDWARE APIs

Motion amp Accelerometer

demohellip

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 20: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

New Scenarios Enabled

Hardware Sensors amp API

Accelerometer

Compass

Not Mandatory in HW

(but present if Gyro is)

Gyro

Not Mandatory in HW

MotionSensor

All the Sensor + Math

Use whenever available

Also works wo Gyro

Individual APIs available for all Sensors

HARDWARE APIs

Motion amp Accelerometer

demohellip

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 21: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Hardware Sensors amp API

Accelerometer

Compass

Not Mandatory in HW

(but present if Gyro is)

Gyro

Not Mandatory in HW

MotionSensor

All the Sensor + Math

Use whenever available

Also works wo Gyro

Individual APIs available for all Sensors

HARDWARE APIs

Motion amp Accelerometer

demohellip

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 22: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Motion amp Accelerometer

demohellip

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 23: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Local Database

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 24: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Local Data Storage Overview Apps store private data in Isolated Storage

Settings and properties in the app dictionary

Unstructured data in Isolated Storage files

Structured data in database files

Application Settings File

App CreatesManages files and settings

Application Files

App Data Folder

Creates root folder sandboxed to App

Package Manager

App Root Folder

WP7 Isolated Storage APIs

Install

DB

Database file

DB Database File (ro)

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 25: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

ldquoMangordquo Updated Developer Tools

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 26: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Emulator amp Developer Tools Emulator Enhancements

Memory model improvements

Emulator can handle physical memory fragmentations

Media support for H264 AAC

Sensor Support

Accelerometer and Location

Multi-Touch

Tools Enhancements Integrated Profiler

Visual Code and Memory profiler

Performance Analysis

Built-in anti-pattern analyzer

Guides through step-by-step

Background Agent Debugging

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 27: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Marketplace Test Kit

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 28: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Developer Tools Simulating GPS Data amp Sensors Profiling Marketplace Test Kit

demohellip

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 29: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Live Tile Improvements

Software Architecture

App Model

Cloud and Integration

Services

Hardware Foundation

UI Model

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 30: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Local Tile APIs Full Control of ALL Properties

Multiple Tiles per app Create Update Delete Query

Launches directly to In App URI

Live Tile Improvements

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 31: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Back of Tile Updates Full Control of all Properties when your App is in Foreground or Background

Content Title Background

Flips from Front to Back at random Interval

Smart Logic make Flips Asynchronous

Live Tiles ndash Local Tile API

Title

Content

Title

Background Content string is bigger

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 32: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

The New Market Place

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 33: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Whatrsquos New on the Marketplace

httpwindowsphonecomsappid= 8bda38b9-619e-4368-b849-d25630266c4b

ITIN

Resubmit Apps to Reach New Markets

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 34: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Marketplace Distribution Options

People who obtain deeplink can access

ldquoBetardquo Private Public

of users 100 unlimited unlimited

App Price Must be ldquofreerdquo Can be ldquopaidrdquo Can be ldquopaidrdquo

Time Limited Expires after 90d No No

Updateable No Yes Yes

Certification Required

No Yes Yes

Discoverable No No Yes

Access Control Limited to test user WLIDs provided

No No

Target Users Beta Users Private Users Public Users

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 35: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Marketplace New Regions 18 Billion More Potential Users

Resubmit your App to reach New Markets

Hong Kong

Singapore

Today (16)

+19 New (35)

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 36: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Resources

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 37: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Online Resources I The Basics App Hub httpcreatemsdncom

Tools httpwpdevmswpsdk71rc

WP on MSDN Library httpwpdevmswponmsdn

WP ldquoHow Tordquo Index httpwpdevmswphowtos

WP UX Guide httpwpdevmswpuxguide

WP PampP Guide httpwpdevmswppnpguide

WP Dev Blog httpwpdevmsdeveloperblog

Porting to WP httpwpdevmsporting

WP Labs (RTM) httpwpdevmswprtmhols

WP Labs (Mango) httpwpdevmsmangohol

WP SL Quick Starts httpwpdevmsxamlquick

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 38: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Online Resources II Videos

WP Jumpstart httpwpdevmsjumpstarts

WP How To Videos httpwpdevmshowvids

WP ldquoAbsolute Beginnersrdquo httpwpdevmsbeginvids

Inside WP on C9 httpwpdevmsinsidewp

Design Toolbox httpwpdevmsdesigntb

WP Game Dev Vids httpwpdevmsgamevids

WP at MIX 11 Vids httpwpdevmswpmix11

WP at TENA 11 Vids httpwpdevmswptena11

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 39: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Online Resources III Other

App Hub FAQ httpwpdevmsapphubfaq

App Hub Forums httpwpdevmsahforum

Registration Walkthrough httpwpdevmsregwalk

Submission Walkthrough httpwpdevmssubwalk

Cert Requirements httpwpdevmscertreq

WP Samples on MSDN httpwpdevmsofficialsamples

SL Toolkit for WP httpwpdevmswpsltk

Azure Toolkit for WP httpwpdevmswpwaztk

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 40: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Online Resources IV 3rd Party

Silverlight Show on WP httpwwwsilverlightshownetSearchaspxq=5Bwindows-phone-75D

Windows Phone Geek httpwwwwindowsphonegeekcom

WPDEV on Twitter httptwittercomsearchq=wp7dev

WPDEV on REDDIT httpwwwredditcomrwp7dev

WPDEV on Stack Overflow

httpstackoverflowcomquestionstaggedwindows-phone-7

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 41: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

copy 2011 Microsoft Corporation All rights reserved Microsoft Windows Windows Vista and other product names are or may be registered trademarks andor trademarks in the US andor 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

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 42: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Contacts Hello World Contacts contacts = new Contacts() contactsSearchCompleted += new EventHandlerltContactsSearchEventArgsgt((sender e) =gt = eResults ) Eg search for all contacts contactsSearchAsync(stringEmpty FilterKindNone null)

filter expression (not a regex)

Filter kind name email phone or pinned to start)

state

Eg search for all contacts with display name matching Sa contactsSearchAsync(Sa FilterKindDisplayName null)

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 43: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Appointments Hello World Appointments appointments = new Appointments() appointmentsSearchCompleted += new EventHandlerltAppointmentsSearchEventArgsgt((sender e) =gt = eResults ) Eg get next appointment (up to 1 week away) appointmentsSearchAsync(DateTimeNow DateTimeNow + TimeSpanFromDays(7) 1 null)

start date and time

Maximum items to return state

end date and time

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 44: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Be responsible

Your privacy policy should cover how you use the userrsquos contact information

Keep out of the way

Users have widely varying contact list sizes

Your UI should handle delays gracefully

Donrsquot let data get stale

Data returned is a snapshot

Refresh state when reasonable

Performance and Best Practices

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 45: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

New Choosers and Launchers

New SaveRingtoneTask AddressChooseTask BingMapsTask BingMapsDirectionsTask GameInviteTask

Updates EmailAddressChooserTask PhoneNumberChooserTask

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 46: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

AddressChooserTask private AddressChooserTask addressChooserTask Constructor public MainPage() thisaddressChooserTask = new AddressChooserTask() thisaddressChooserTaskCompleted += new

EventHandlerltAddressResultgt( addressChooserTask_Completed)

private void addressChooserTask_Completed(object sender AddressResult e) if (null == eError ampamp TaskResultOK == eTaskResult) = eDisplayName = eAddress

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 47: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

MicrosoftPhoneUserData

Important points

Contacts and Appointments APIs are read only

Third party social network data cannot be shared

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 48: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

ContactsAppointments Data Shared

Contact Name

and Picture

Other Contact

Data

Appointments

Events

Windows Live Social YES YES YES

Windows Live Rolodex

(user created and SIM import) YES YES na

Exchange accounts

(corporate plus Google etc) YES YES YES

Operator Address Books YES YES na

Facebook YES NO NO

Other networks in the People

Hub (eg Twitter) NO NO NO

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 49: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

The New Market Place

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 50: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

MarketPlace Improvements

Challenges Fixed

Support Responsiveness 98 of support inquiries are now responded to within 24 hours

Free app submission limits Increased limit from 5 to 100 per year

Market-specific registration challenges Fixed registration form and postal code validation logic

Registration problems due to Xbox profile Fixed the linking of developer profile information between App hub and xboxcom

Blank or incomplete test results Now providing complete certification failure report

Challenges Remaining

App certification consistency and test results feedback

ID validation process is cumbersome Revamping individual validation process

W-8 form requirement (for non-US developers) Working to simplify and automate

Submission process has errors Working to eliminate bottlenecks and streamline process

Registration payment failures for some Fixing remaining payment exception scenarios

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango
Page 51: soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?

Distribute pre-certified Apps to a Set of Beta Users

Capabilities Developer selects List of Testers (up to 100)

Developer sends Email with Private Deeplink to the Testers

Only Testers selected in App Hub can test the Application and provide Feedback for 90 days

Beta cannot be updated

Benefits No need to unlock Phones to test Apps

New Beta Distribution Service

  • covers
  • sos11-schedule
  • Sascha_SoftShake2k11_Mango