Date published: 2/29/2012
Whitepaper_BackgroundNetworking.docx, 2.2 MB
This paper provides information about an app lifecycle management model for apps that require real-time connectivity between the client and server. To address the lifecycle limitations for real-time connected apps, Windows 8 Consumer Preview introduces a new set of APIs that allow users to build always reachable apps.
Here's a snip from the introduction;
"Windows 8 introduces a new app lifecycle model in which Metro style apps are suspended when they are moved to the background. This new model improves both foreground app responsiveness and the power efficiency of Windows. Windows 8 also provides two customer promises:
- Always reachable. Apps like Voice over Internet Protocol (VoIP), instant messaging (IM), and email must work in the background and provide an always-connected experience for the end user.
- Improved battery life. Batteries stay charged for multiple weeks on standby or all day in active use.
Meeting the always reachable promise in the new app lifecycle model requires a long-running connection to a remote endpoint server when the app is suspended, which in turn affects the battery life. There is a tension between the two customer promises of always reachable apps and improved battery life. In order to enable real-time scenarios such as VoIP, IM, and email for Windows 8, two new capabilities have been introduced: Windows Push Notification Services (WNS) and the network trigger API.
Although these two capabilities support receipt of incoming notifications while the app is suspended, there are other triggers available in Windows 8. The time trigger is used when an app does not require real-time connectivity, and the system event trigger is used when app code must execute on events like availability of Internet connectivity or user presence. You can use a mixture of these features to enable your scenarios.
At the same time, however, most apps will not need the capabilities described in this document. An application can give the user the impression that it is always running in the background by using a live tile with push notifications from WNS. Your app does not need to be a lock screen app (described later in this document) or run in the background in order to update or have a live tile.
This paper is primarily for developers trying to build Metro style apps such as VoIP, IM, and email. The focus here will be to outline how a developer can use either WNS or the network trigger API to build a real-time connected app, also known as a lock screen app.
I thought this one whitepaper delivered a good deal of content that I've not seen all in one place. While there's no way we're going to get deep information in 33 pages, this will project pointers and a good starting point (to help you know what you don't know...)