SlideShare a Scribd company logo
Live Tiles and
Push
Notifications
Dave Bost
dave.bost@microsoft.com
http://davebost.com | @davebost
Topics
• End-User Experience
• Tile 101
• Multiple Live Tiles
• Updating a Live Tile from a background process
• Push Notifications




Windows Phone
Consumer Experience
                      Notifications offer
Windows phone has
                      developers a way to
the unique ability to
                      send timely
provide the end
                      information to the
user glanceable
                      end user’s device
access to the
                      even when the
information they
                      application is not
care most about, via
                      running, including
Live Tiles
                      Tile updates



 Windows Phone
Tiles 101
• Shortcuts to apps
• Static or dynamic
• 2 sizes: small & large
     –   Large only for 1st party
         apps
• End-user is in control




Windows Phone
Data Driven Template Model
• A fixed set of data properties
• Each property corresponds to a UI element
• Each UI element has a fixed position on screen
• Not all elements need to be used
• Animations are not extensible




    Background       Title   Count
       Image
  (173 x 173 .png)
Windows Phone
Scenarios/Popular Applications

   Weather Apps            Send to WP7
        Weather Tile          Link Tile
        Warning Toast         Link Toast
   Chess by Post           AlphaJax
      Turn Tile               Turn Tile
      Move Toast              Move Toast
   Beezz                   Seattle Traffic Map
      Unread Tile               Traffic Tile
      Direct Toast




Windows Phone
Primary and Secondary Tiles
• Application Tile                                         Fron
                                                           t
     –   Pinned from App List
     –   Properties are set initially in the Application
         Manifest

                                                           Ba
• Secondary Tile                                           ck
     –   New in Windows Phone 7.5!
     –   Created as a result of user input in an
         application



Windows Phone
Live Tiles – Local Tile API
• Local tile updates (these are *not* push)
   – Full control of all properties when your app
     is in the foreground or background
   – Calorie counter, sticky notes

• Multi-Tile!
   – Deep-link to specific application sections
   – Launch directly to page/experience




Windows Phone
Live Tiles – Local Tile API
Continued…
• Back of tile updates
     –   Full control of all properties when your app
         is in the foreground or background
     –   Content, Title, Background

     Content     Content
     string is                                 Background
     bigger
                           Title   Title


     – Flips from front to back at random interval
     – Smart logic to make flips asynchronous



Windows Phone
Demo


Demo 1: Live Tiles – Local Tile API
Tile Schedule
• Periodically updates the tile image without pushing
  message though
• Updates images only from the web, not from the app
  local store
• Sets up notification channel and binds it to a tile
  notification
• Few limitations
   – Image size must be less than 80 KB
   – Download time must not exceed 60 seconds
   – Lowest update time resolution is 60 minutes
   – If the schedule for an indefinite or finite number of updates
     fails too many times, OS will cancel it
• Update recurrence can by Onetime, EveryHour,
Windows Phone
Scheduling Tile Update
public partial class MainPage : PhoneApplicationPage {
    private ShellTileSchedule _mySchedule;
    public MainPage() {
        InitializeComponent();
        ScheduleTile();
    }

     private void ScheduleTile()    {
        _mySchedule = new ShellTileSchedule();
        _mySchedule.Recurrence = UpdateRecurrence.Onetime;
        _mySchedule.StartTime = DateTime.Now;
        _mySchedule.RemoteImageUri = new
                          Uri("http://cdn3.afterdawn.fi/news/small/windows-phone-7-series.png");
        _mySchedule.Start();
    }
}




Windows Phone
Updating Tiles from a
Background Agent
• In Windows Phone OS 7.0, only way of updating Live Tiles
  was from a Tile Schedule or from Notifications
    – Tile Schedule needs to fetch images from a web URI
    – Notifications require you to implement a backend
      service
• To have control of shell tiles when the app is not running
  without using Push Notifications, a good solution is a
  Background Agent
   – Use the ShellTile API to locate and update tiles




Windows Phone
Demo


Demo 2: Updating Tiles from a
Background Agent
Push Notifications
• Server-initiated communication
• Enable key background scenarios
• Preserve battery life and user experience
• Prevent polling for updates




Windows Phone
Push Notification Data Flow

                                2                 URI to the service:
                                    "http://notify.live.com/throttledthirdparty/01.00/AAFRQH        3rd party
            Push enabled                               giiMWNTYrRDXAHQtz-                            service
                                    AgrNpzcDAwAAAAQOMDAwMDAwMDAwMDAwMDA
             applications                                          "
                                                                                                    3
                Notifications
                  service                                                                      HTTP POST the
                                                              4                                  message
                                                                       Send PN
                                                                       Message
1
       Push endpoint is established. URI is
            created for the endpoint.
                                                                                                   Microsoft
                                                                                                     hosted
                                                                                                     server




Windows Phone
Three Kinds of Notifications
• Raw
     –   Notification message content is application-specific
     –   Delivered directly to app only if it is running
• Toast
     –   Specific XML schema
     –   Content delivered to app if it is running
     –   If app is not running, system displays Toast popup using notification
         message content
• Tile
     –   Specific XML schema
     –   Never delivered to app
     –   If user has pinned app tile to Start screen, system updates it using
         notification message content

Windows Phone
Push Notifications – New
Features
• Multi-Tile/Back of Tile Support
     –   Multiple weather locations, news categories, sports
         team scores, twitter favorites
     –   Can update all tiles belonging to your application
• No API Change for binding tiles
     –   BindToShellTile now binds you to all tiles
     –   Send Tile ID to service and use new attribute to direct
         update
• Three new elements for back of tile properties


Windows Phone
Toast Notification
• App icon and two text fields
• Time critical and personally relevant
• Users must opt-in via app UI




Windows Phone
Demo


Demo 3: Push Notifications
Response Custom Headers
• Response Code: HTTP status code (200 OK)
• Notification Status
     –   Notification received by the Push Notification Service
     –   For example: “X-NotificationStatus:Received”
• DeviceConnectionStatus
     –   The connection status of the device
     –   //For example: X-DeviceConnectionStatus:Connected
• SubscriptionStatus
     –   The subscription status
     –   //For example: X-SubscriptionStatus:Active
• More information
     –   http://msdn.microsoft.com/en-us/library/ff402545(v=VS.92).aspx

Windows Phone
Security Technical Details
Two levels of trust
Authentication:
– Phone Client – MS server :
– TLS + WL Device ID
– MS Server – 3rd party service:
– HTTPs (for third-party)
– Throttling for unauthenticated services

Authorization:
– Token (notification URI) validated with each PUSH
notification

Windows Phone
Summary
• In this session we covered how tiles work, live
  tiles, shell tiles as well as how to support multiple
  tiles from a single application.
• We also covered updating a Live Tile from a
  Background Application as well as via Push
  Notifications




Windows Phone
Q&A
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.

More Related Content

Similar to Live Tiles and Notifications in Windows Phone (20)

PDF
follow-app BOOTCAMP 2 - Windows Phone: Tiles and Notifications
QIRIS
 
PPTX
Windows Phone 8 - 9 Push Notifications
Oliver Scheer
 
PDF
08.Push Notifications
Nguyen Tuan
 
PPTX
Developing Apps for Windows Phone 8
KMS Technology
 
PPT
What's New with Windows Phone - FoxCon Talk
Sam Basu
 
PPTX
Techdays 2012 - Windows Phone Push notifications & Life tiles
Geert van der Cruijsen
 
PPTX
Engaging users with live tiles and notifications
Alex Golesh
 
PPTX
Windows Phone 8 - 8 Tiles and Lock Screen Notifications
Oliver Scheer
 
PPTX
Enhancing Engagement via Windows Phone Mango
Andy Chiang
 
PDF
07.Notifications & Reminder, Contact
Nguyen Tuan
 
PPTX
Cool Stuff Your App Can Do
Ed Donahue
 
PPTX
A Day in the Life of a Metro-veloper
Ducas Francis
 
PPTX
Windows Phone Code Camp Montreal - Push Notifications and Live Tiles
Frédéric Harper
 
PPT
Azure WP7 fire starter
Sam Basu
 
PDF
SeaBeyond 2011 ProcessOne - Nokia: Jukka Alakontiola - Notifications API
ProcessOne
 
PPTX
Windows Phone 7 Unleashed Session 2
Wes Yanaga
 
PPT
WP7 & Azure
Sam Basu
 
PPTX
Tiles and Notifications by Jason Fox
Nathalie Goh-Livorness
 
PPTX
Tiles and Notifications by Jason Fox
Nathalie Goh-Livorness
 
PDF
LUMIA APP LABS: WINDOWS PHONE 8 FOR NOKIA DEVELOPERS
Microsoft Mobile Developer
 
follow-app BOOTCAMP 2 - Windows Phone: Tiles and Notifications
QIRIS
 
Windows Phone 8 - 9 Push Notifications
Oliver Scheer
 
08.Push Notifications
Nguyen Tuan
 
Developing Apps for Windows Phone 8
KMS Technology
 
What's New with Windows Phone - FoxCon Talk
Sam Basu
 
Techdays 2012 - Windows Phone Push notifications & Life tiles
Geert van der Cruijsen
 
Engaging users with live tiles and notifications
Alex Golesh
 
Windows Phone 8 - 8 Tiles and Lock Screen Notifications
Oliver Scheer
 
Enhancing Engagement via Windows Phone Mango
Andy Chiang
 
07.Notifications & Reminder, Contact
Nguyen Tuan
 
Cool Stuff Your App Can Do
Ed Donahue
 
A Day in the Life of a Metro-veloper
Ducas Francis
 
Windows Phone Code Camp Montreal - Push Notifications and Live Tiles
Frédéric Harper
 
Azure WP7 fire starter
Sam Basu
 
SeaBeyond 2011 ProcessOne - Nokia: Jukka Alakontiola - Notifications API
ProcessOne
 
Windows Phone 7 Unleashed Session 2
Wes Yanaga
 
WP7 & Azure
Sam Basu
 
Tiles and Notifications by Jason Fox
Nathalie Goh-Livorness
 
Tiles and Notifications by Jason Fox
Nathalie Goh-Livorness
 
LUMIA APP LABS: WINDOWS PHONE 8 FOR NOKIA DEVELOPERS
Microsoft Mobile Developer
 

More from Dave Bost (15)

PPTX
Developing for Windows Phone 8 and Windows 8
Dave Bost
 
PPTX
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for Developers
Dave Bost
 
PPTX
Microsoft+PHP: Make Web Not War
Dave Bost
 
PPTX
The Windows Azure Platform (MSDN Events Series)
Dave Bost
 
PPTX
Azure - The Next Frontier
Dave Bost
 
PPTX
Internet Explorer 8 Developer Overview
Dave Bost
 
PPTX
Windows 7 Developer Overview
Dave Bost
 
PPT
Shine a Light with Prism (the Composite Application Guidance for WPF and Silv...
Dave Bost
 
PPT
ASP.NET 3.5 SP1 (VSLive San Francisco 2009)
Dave Bost
 
PPT
Silverlight 2
Dave Bost
 
PPT
Building Applications for SQL Server 2008
Dave Bost
 
PPT
A Lap Around Windows Azure
Dave Bost
 
PPT
MSDN Unleashed: WPF Demystified
Dave Bost
 
PPT
A Tour of CodePlex
Dave Bost
 
PPT
WPF Applications, It's all about XAML these days
Dave Bost
 
Developing for Windows Phone 8 and Windows 8
Dave Bost
 
MSDN Presents: Visual Studio 2010, .NET 4, SharePoint 2010 for Developers
Dave Bost
 
Microsoft+PHP: Make Web Not War
Dave Bost
 
The Windows Azure Platform (MSDN Events Series)
Dave Bost
 
Azure - The Next Frontier
Dave Bost
 
Internet Explorer 8 Developer Overview
Dave Bost
 
Windows 7 Developer Overview
Dave Bost
 
Shine a Light with Prism (the Composite Application Guidance for WPF and Silv...
Dave Bost
 
ASP.NET 3.5 SP1 (VSLive San Francisco 2009)
Dave Bost
 
Silverlight 2
Dave Bost
 
Building Applications for SQL Server 2008
Dave Bost
 
A Lap Around Windows Azure
Dave Bost
 
MSDN Unleashed: WPF Demystified
Dave Bost
 
A Tour of CodePlex
Dave Bost
 
WPF Applications, It's all about XAML these days
Dave Bost
 
Ad

Recently uploaded (20)

PPTX
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
PDF
Market Insight : ETH Dominance Returns
CIFDAQ
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
introduction to computer hardware and sofeware
chauhanshraddha2007
 
PDF
Per Axbom: The spectacular lies of maps
Nexer Digital
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
PDF
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
PDF
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
Researching The Best Chat SDK Providers in 2025
Ray Fields
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Farrell_Programming Logic and Design slides_10e_ch02_PowerPoint.pptx
bashnahara11
 
Market Insight : ETH Dominance Returns
CIFDAQ
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
introduction to computer hardware and sofeware
chauhanshraddha2007
 
Per Axbom: The spectacular lies of maps
Nexer Digital
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
RAT Builders - How to Catch Them All [DeepSec 2024]
malmoeb
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
GDG Cloud Munich - Intro - Luiz Carneiro - #BuildWithAI - July - Abdel.pdf
Luiz Carneiro
 
State-Dependent Conformal Perception Bounds for Neuro-Symbolic Verification
Ivan Ruchkin
 
Generative AI vs Predictive AI-The Ultimate Comparison Guide
Lily Clark
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Researching The Best Chat SDK Providers in 2025
Ray Fields
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Ad

Live Tiles and Notifications in Windows Phone

  • 1. Live Tiles and Push Notifications Dave Bost [email protected] http://davebost.com | @davebost
  • 2. Topics • End-User Experience • Tile 101 • Multiple Live Tiles • Updating a Live Tile from a background process • Push Notifications Windows Phone
  • 3. Consumer Experience Notifications offer Windows phone has developers a way to the unique ability to send timely provide the end information to the user glanceable end user’s device access to the even when the information they application is not care most about, via running, including Live Tiles Tile updates Windows Phone
  • 4. Tiles 101 • Shortcuts to apps • Static or dynamic • 2 sizes: small & large – Large only for 1st party apps • End-user is in control Windows Phone
  • 5. Data Driven Template Model • A fixed set of data properties • Each property corresponds to a UI element • Each UI element has a fixed position on screen • Not all elements need to be used • Animations are not extensible Background Title Count Image (173 x 173 .png) Windows Phone
  • 6. Scenarios/Popular Applications  Weather Apps  Send to WP7  Weather Tile  Link Tile  Warning Toast  Link Toast  Chess by Post  AlphaJax  Turn Tile  Turn Tile  Move Toast  Move Toast  Beezz  Seattle Traffic Map  Unread Tile  Traffic Tile  Direct Toast Windows Phone
  • 7. Primary and Secondary Tiles • Application Tile Fron t – Pinned from App List – Properties are set initially in the Application Manifest Ba • Secondary Tile ck – New in Windows Phone 7.5! – Created as a result of user input in an application Windows Phone
  • 8. Live Tiles – Local Tile API • Local tile updates (these are *not* push) – Full control of all properties when your app is in the foreground or background – Calorie counter, sticky notes • Multi-Tile! – Deep-link to specific application sections – Launch directly to page/experience Windows Phone
  • 9. Live Tiles – Local Tile API Continued… • Back of tile updates – Full control of all properties when your app is in the foreground or background – Content, Title, Background Content Content string is Background bigger Title Title – Flips from front to back at random interval – Smart logic to make flips asynchronous Windows Phone
  • 10. Demo Demo 1: Live Tiles – Local Tile API
  • 11. Tile Schedule • Periodically updates the tile image without pushing message though • Updates images only from the web, not from the app local store • Sets up notification channel and binds it to a tile notification • Few limitations – Image size must be less than 80 KB – Download time must not exceed 60 seconds – Lowest update time resolution is 60 minutes – If the schedule for an indefinite or finite number of updates fails too many times, OS will cancel it • Update recurrence can by Onetime, EveryHour, Windows Phone
  • 12. Scheduling Tile Update public partial class MainPage : PhoneApplicationPage { private ShellTileSchedule _mySchedule; public MainPage() { InitializeComponent(); ScheduleTile(); } private void ScheduleTile() { _mySchedule = new ShellTileSchedule(); _mySchedule.Recurrence = UpdateRecurrence.Onetime; _mySchedule.StartTime = DateTime.Now; _mySchedule.RemoteImageUri = new Uri("http://cdn3.afterdawn.fi/news/small/windows-phone-7-series.png"); _mySchedule.Start(); } } Windows Phone
  • 13. Updating Tiles from a Background Agent • In Windows Phone OS 7.0, only way of updating Live Tiles was from a Tile Schedule or from Notifications – Tile Schedule needs to fetch images from a web URI – Notifications require you to implement a backend service • To have control of shell tiles when the app is not running without using Push Notifications, a good solution is a Background Agent – Use the ShellTile API to locate and update tiles Windows Phone
  • 14. Demo Demo 2: Updating Tiles from a Background Agent
  • 15. Push Notifications • Server-initiated communication • Enable key background scenarios • Preserve battery life and user experience • Prevent polling for updates Windows Phone
  • 16. Push Notification Data Flow 2 URI to the service: "http://notify.live.com/throttledthirdparty/01.00/AAFRQH 3rd party Push enabled giiMWNTYrRDXAHQtz- service AgrNpzcDAwAAAAQOMDAwMDAwMDAwMDAwMDA applications " 3 Notifications service HTTP POST the 4 message Send PN Message 1 Push endpoint is established. URI is created for the endpoint. Microsoft hosted server Windows Phone
  • 17. Three Kinds of Notifications • Raw – Notification message content is application-specific – Delivered directly to app only if it is running • Toast – Specific XML schema – Content delivered to app if it is running – If app is not running, system displays Toast popup using notification message content • Tile – Specific XML schema – Never delivered to app – If user has pinned app tile to Start screen, system updates it using notification message content Windows Phone
  • 18. Push Notifications – New Features • Multi-Tile/Back of Tile Support – Multiple weather locations, news categories, sports team scores, twitter favorites – Can update all tiles belonging to your application • No API Change for binding tiles – BindToShellTile now binds you to all tiles – Send Tile ID to service and use new attribute to direct update • Three new elements for back of tile properties Windows Phone
  • 19. Toast Notification • App icon and two text fields • Time critical and personally relevant • Users must opt-in via app UI Windows Phone
  • 20. Demo Demo 3: Push Notifications
  • 21. Response Custom Headers • Response Code: HTTP status code (200 OK) • Notification Status – Notification received by the Push Notification Service – For example: “X-NotificationStatus:Received” • DeviceConnectionStatus – The connection status of the device – //For example: X-DeviceConnectionStatus:Connected • SubscriptionStatus – The subscription status – //For example: X-SubscriptionStatus:Active • More information – http://msdn.microsoft.com/en-us/library/ff402545(v=VS.92).aspx Windows Phone
  • 22. Security Technical Details Two levels of trust Authentication: – Phone Client – MS server : – TLS + WL Device ID – MS Server – 3rd party service: – HTTPs (for third-party) – Throttling for unauthenticated services Authorization: – Token (notification URI) validated with each PUSH notification Windows Phone
  • 23. Summary • In this session we covered how tiles work, live tiles, shell tiles as well as how to support multiple tiles from a single application. • We also covered updating a Live Tile from a Background Application as well as via Push Notifications Windows Phone
  • 24. Q&A
  • 25. 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.