soft-shake.ch - Windows Phone 7 „Mango“ – what’s new for Developers?
-
Upload
soft-shakech -
Category
Technology
-
view
1.263 -
download
5
description
Transcript of 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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-