390 likes | 535 Views
WPH308. Multi-tasking and Application Switching for Windows Phone. Peter Torr (http://blogs.msdn.com/ptorr) Program Manager Microsoft Corporation. During this Session You have a Chance to Win a Windows Phone. announcement. Windows Phone Multitasking Features.
E N D
WPH308 Multi-tasking and Application Switching for Windows Phone Peter Torr (http://blogs.msdn.com/ptorr) Program Manager Microsoft Corporation
During this Session Youhave a Chance to Win a Windows Phone announcement
Windows Phone Multitasking Features Switching between applications Alarms and reminders Background file transfers Playing audio in the background General-purpose background tasks
Windows Phone Harmony Delightful and Responsive UX Battery Friendly Health Never Regret Installing an App Network Conscience Integrated Experiences Hardened Services UX
Multitasking and Phone Health New OS services Processing on demand Balance foreground and background Align with system and user activity Monitor resource usage
Fast Application Switching Support User Control Compile and test for Mango . . . . . App Dormancy Load or refresh state* Resuming… OS Windows Phone 7 Compatible Reattach resources* * Only if needed.
Application Lifecycle Reload / refresh state only if needed Activated Running Tombstoned Dormant Deactivated Application is resident in memory; system detaches resources and pauses threads Save state but do not discard it
Multitasking Components Services Agents Resource Management
Alarms and Reminders Demo
Background Transfer Service Upload or download content in the background API modeled on WebClient / HttpWebRequest • Custom headers • Download progress events • Download completion event Balance of experience, health, and “bill shock” • 5 MB upload • 20 MB download over cellular • 50 MB download over wifi (unlimited with A/C power)
Background Audio Playback HTML 5 Audio from Internet Explorer Track-based playback API • Local or remote content • Supports metadata and integration with 1st-party UX • Uses background agent to complete work Streaming playback API • Based on MediaStreamSource • Supports custom protocols, containers, or encryption formats
Background Audio Demo
End-to-End Architecture Developer Application OS myapp.dll Single App UX Logic Different Processes System Services ISO Store Cloud Logic myappagent.dll
Background Agent Functionality Allowed Restricted • Tiles • Toast • Location • Network • Isolated storage • Structured storage • Sockets • Most framework APIs • Display UI • XNA libraries • Microphone and camera • Sensors • Play audio (other than background audio APIs)
Additional Scenarios Data Sync Social Location Tracking Others…
Generic Background Agents Agents • Periodic • Resource-intensive • May have one or both Limits are subject to change Initialized in foreground, run in background • Persisted across reboots User control through control panel • Up to a maximum of 18 Synchronize with foreground through mutex Agent runs for up to 14 days (can be renewed)
Generic Background Agents Periodic Agents Resource-Intensive Agents • Occurrence • Every 30 min • Duration • 15 seconds • Scenarios • Incremental data sync • Location • Others… • Occurrence • External power, non-cell network • Duration • 10 minutes • Scenarios • Data feasting • Initial sync • Others… Limits are subject to change
Background Agents Demo
Windows Phone Harmony – UX Delightful and Responsive UX CPU • Balance foreground and background • Monitor usage Never Regret Installing an App Working Set Limits are subject to change • Maximize number of dormant apps • 5 MB for periodic • 10 MB for audio • BTS limits per app Integrated Experiences Periodic agents run serially when screen is on App isolation is maintained No app execution on install Additional ingestion rules
Windows Phone Harmony – Health New System Services Battery Friendly • Secure • Performant • Reliable • Stress tested Network Conscience Efficient Network Usage Limits are subject to change • Aligned with radio • Resource-intensive agents don’t use radio Hardened Services Periodic Agents • Control Panel provides user control • Expire after 14 days • Run 15 seconds every 30 minutes • Cache GPS • Execute in parallel when screen is off • Participate in battery saver mode
Multitasking Summary Natural extension of Windows Phone 7 Fast application switching New system services Background audio Background processing through agents
Health UX
Windows Phone Related Content Monday, May 16 WPH201: Windows Phone: What’s New? WPH371-INT: Building a Mobile Message Queue for Windows Phone WPH312: What’s New for Windows Phone Development with Microsoft Silverlight? WPH302: Windows Phone Productivity Scenarios with Microsoft Exchange Server 2010 and Microsoft Office 365 WPH373: Meet the Windows Phone Application Platform Engineering Team
Windows Phone Related Content Tuesday, May 17 WPH308: Multi-tasking and Application Switching for Windows Phone OSP312: Developing Microsoft Office Business Solutions that Span the PC, Windows Phone, and the Web WPH309: Enhanced Push Notifications and Live Tiles for Windows Phone WPH303: Understanding the Windows Phone Development Tools COS315: Building Windows Phone Applications with the Windows Azure Platform
Windows Phone Related Content Tuesday, May 17 WPH305: Internet Explorer 9 on Windows Phone OSP209 Building Your First Windows Phone Application for Microsoft SharePoint 2010 WPH203: Understanding Windows Phone Marketplace WPH375-INT: Building Multi-tasking Enabled Windows Phone Applications
Windows Phone Related Content Wednesday, May 18 WPH202: Windows Phone at Microsoft DEV317: Using Microsoft Visual Basic to Build Windows Phone Applications WPH310: Building Your First Windows Phone Game with XNA WPH374-INT: Hardcore Windows Phone Development Questions DEV205: Microsoft Expression for Developers: Demystifying User Interface Design WPH306: Building Windows Phone Applications with Microsoft Silverlight and XNA WPH304: New Windows Phone Data Access Features
Windows Phone Related Content Thursday, May 19 WPH301: Deploying Windows Phone in the Enterprise DPR303: Developing Enterprise-Grade Mobile Solutions WPH307: Connecting Windows Phones and Slates to Windows Azure WPH372-INT: Windows Phone Marketplace: Interactive WPH311: Lessons Learned about Application Performance on Windows Phone WPH311: Lessons Learned about Application Performance on Windows Phone SIM323: User Identity and Authentication for Desktop and Phone Applications
Windows Phone ResourcesQuestions? Demos? The latest phones? Visit the Windows Phone Technical Learning Center for demos and more… • Business IT resources blogs.technet.com/b/windows_phone_4_it_pros Developer resources craete.msdn.com Experience Windows Phone 7 on-line and get a backstage pass www.windowsphone.com
Win a Windows Phone Contest • SESSION CONTEST* • HAT CONTEST* QUESTIONS? Go to theWPC Information Counter at the TLC How do you enter? • During each Windows Phone session the moderator will post a question;the first person to correctly answer the question and is called on by the moderator will potentially win Enter by visiting the Windows Phone booth, accepting a free Windows Phone branded hat, and wearing that hat during the Event • How am I selected? * Restrictions apply please see contest rules for eligibility and restrictions. Contest rules are displayed in the Technical Learning Center at the WPH info counter • Each day of the event, a Windows Phone representative will randomly select up to 5 people who are observed wearing their Windows Phone branded hat
Resources • Connect. Share. Discuss. http://northamerica.msteched.com Learning • Sessions On-Demand & Community • Microsoft Certification & Training Resources www.microsoft.com/teched www.microsoft.com/learning • Resources for IT Professionals • Resources for Developers • http://microsoft.com/technet • http://microsoft.com/msdn
© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. Microsoft makes no warranties, express, implied or statutory, as to the information in this presentation.
© 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.