SlideShare a Scribd company logo
1 of 127
http://netponto.org 14ª Reunião Presencial - 18/09/2010 Construir Aplicações Silverlight para Windows Phone 7Nuno Silva
Nuno Silva Developer Evangelist @ Microsoft “Phone Champ” nuno.silva@microsoft.com http://blogs.msdn.com/nunos http://twitter.com/nuno_ms
Perguntas “da praxe” Sim, trouxe um device Sim, é mesmo o Windows Phone 7 Não, não o podem levar para casa
Windows Phone 7 Smart Design Integrated Experiences Photo by: Andrew Butitta, Founder, Talisman Digital Photography
Metro
Windows Phone 7 demonstração
Windows PhoneHardware Common Hardware Elements Consistent Platform Quality Focus 800 or 480 Consistent set of hardware capabilities defined by Microsoft One resolution at launch Second resolution added later Same touch input Consistent processor / GPU Same available RAM Optional keyboard 480 or 320
Objectivos da Plataforma Modern, powerful run-times and tooling Help developers be profitable Enable cloud powered experiences
Tools Runtime – On “Screen” Phone Emulator Sensors Media Data Location Samples Documentation Xbox LIVE Notifications Phone Guides Community .NET Framework managed code sandbox Packaging and Verification Tools SCREEN CLOUD Portal Services Cloud Services Notifications App Deployment Registration Marketplace Validation MO and CC Billing Location Identity Feeds Certification Business Intelligence Maps Social Publishing Update Management Application Platform
Application Platform Runtime – On “Screen” Sensors Media Data Location Xbox LIVE Notifications Phone .NET Framework managed code sandbox SCREEN CLOUD
DuasEscolhas ,[object Object]
Rapid creation of visually stunning apps
Metro-themed UI controls
HTML/JavaScript
500,000 developers spanning Windows and web,[object Object]
Rapid creation of multi-screen 2D and 3D games
Rich content pipeline
Mature, robust, widely adopted technology spanning Xbox 360, Windows, and Zune
Modern XAML/event-driven application UI framework
Rapid creation of visually stunning apps
Metro-themed UI controls
HTML/JavaScript
500,000 developers spanning Windows and web,[object Object]
Tools Gratuitas RTM jádisponível Training Kit e JumpStart http://developer.windowsphone.com Phone Emulator Samples Documentation Guides Community Packaging and Verification Tools Windows Phone Developer Tools
Windows Phone Developer Tools Tools Phone Emulator Samples Documentation Guides Community Packaging and Verification Tools
Windows Phone Developer Tools Tools Phone Emulator Samples Documentation Guides Community Packaging and Verification Tools myapp.xap
Windows Phone Developer Tools Tools Phone Emulator Windows Phone Emulator Samples Documentation Guides Community Windows Phone device Packaging and Verification Tools myapp.xap
Windows Phone Developer Tools Tools Phone Emulator Windows Phone Emulator Samples Documentation Packaging & Verification Tools Guides Community Windows Phone device Packaging and Verification Tools myapp.xap
Windows Phone 7 Developer ToolsSimple Twitter Client demonstração
Default control templates Simples e Elegantes Hit-Targets de dimensãoconsiderável Utilização de transparências
Temas Permitemaoutilizadorcustomizar o telefone Temas dark e light, com váriasescolhas de côr Built-in controls são “theme-aware”
Customização do UI demonstração
Input Silverlight TextBoxintegra com SIP  Supports and scrolling Password has a delay SIP permite a utilização de scopes Text, Url, Number, Time, TelephoneNumber, EmailNameOrAddress ScrollViewersuporta pan e flick Manipulation events expõem pinch and stretch
Accelerometer +Y Mede forçaaplicada sobrecada um dos eixos aolongo do tempo -Z -X +X +Z -Y
Media Suporte a media H/W decode MediaStreamSource PlayReady DRM Algumaslimitações Apenas um MediaElement Ausência de VideoBrush XNA sound effect API
Input e Output demonstração
Integração com o OS Hub integration Podemoscontribuirparaos hubs Launchers (fire and forget) SMS, email, web browser, maps, dialer, search, etc Choosers (retorno de informação) Picture, contact, camera, etc
Launchers & Choosers Choosers Launchers CameraCaptureTask BingMapsTask MarketplaceLauncher MediaPlayerLauncher PhoneCallTask SaveEmailAddressTask SavePhoneNumberTask SearchTask EmailComposeTask SMSComposeTask WebBrowserTask PhoneNumberChooserTask PhotoChooserTask EmailAddressChooserTask
Launchers and ChoosersCamera Application demonstração
default silverlight application Application UserControl Content
default silverlight application Application UserControl Content Content
default silverlight application Application UserControl Content Content Content
default silverlight application Application UserControl Content Content Content
silverlight 3 navigation application Application UserControl Content Content Content
silverlight 3 navigation application Application UserControl Frame Page 3 Page 1 Page 2
silverlight 3 navigation application Application UserControl Frame Page 3 Page 1 Page 2
? Windows Phone application
Windows Phone application Application UserControl Frame Page 3 Page 1 Page 2
Windows Phone application Application Frame Page 3 Page 1 Page 2
Windows Phone application Application Frame Page 3 Page 1 Page 2
Back key Permiteaoutilizadornavegarpara o últimoecran
Back key Permiteaoutilizadornavegarpara o últimoecran Podeatravessaraplicaçõesdiferentes
Back key Permiteaoutilizadornavegarpara o últimoecran Podeatravessaraplicaçõesdiferentes Nãodeveser “overriden” nasaplicações
Navegação e Estrutura demonstração
Um mundo de interrupçõesconstantes
Um mundo de interrupçõesconstantes phone calls
Um mundo de interrupçõesconstantes phone calls low battery
Um mundo de interrupçõesconstantes phone calls low battery txt msgs :-)
Um mundo de interrupçõesconstantes phone calls low battery App switch txt msgs :-)
Um mundo de interrupçõesconstantes phone calls low battery reminders App switch txt msgs :-)
Um mundo de interrupçõesconstantes phone calls low battery lock screen reminders App switch txt msgs :-)
basic application lifetime Not running ,[object Object]
App constructor
Startup event
Exit event,[object Object]
App constructor
Startup event
Exit event,[object Object]
App constructor
Startup event
Exit eventStart
basic application lifetime Not running ,[object Object]
App constructor
Startup event
Exit eventStart
basic application lifetime Not running ,[object Object]
App constructor
Startup event
Exit eventStart Running
basic application lifetime Not running ,[object Object]
App constructor
Startup event
Exit eventStart Running
basic application lifetime Not running ,[object Object]
App constructor
Startup event
Exit eventStart Exit Running
basic application lifetime Not running ,[object Object]
App constructor
Startup event
Exit eventStart Exit Running
basic application lifetime Not running ,[object Object]
App constructor
Startup event
Exit eventStart Exit Running ,[object Object]
Paused,[object Object]
obscured: popup ui from shell Not in the Mix build Running What if they answer the phone?
obscured: popup ui from shell Not in the Mix build Running ,[object Object]
Reminder
Battery lowWhat if they answer the phone?
obscured: popup ui from shell Not in the Mix build Running ,[object Object]
Reminder
Battery lowWhat if they answer the phone? Obscured Running
obscured: popup ui from shell Not in the Mix build Running What if they answer the phone? Obscured Running
obscured: popup ui from shell Not in the Mix build Running What if they answer the phone? Obscured Unobscured Running
obscured: popup ui from shell Not in the Mix build Running Games could auto-pause What if they answer the phone? Obscured Unobscured Running
obscured: popup ui from shell Not in the Mix build Running Games could auto-pause Game could auto-resume What if they answer the phone? Obscured Unobscured Running
paused: jump to another app Not in the Mix build
paused: jump to another app Not in the Mix build Running
paused: jump to another app Not in the Mix build Running ,[object Object]
Accept call
Open toast,[object Object]
Accept call
Open toastPause Suspended
paused: jump to another app Not in the Mix build Running Pause Suspended
paused: jump to another app Not in the Mix build Running Pause Resume Suspended
paused: jump to another app Not in the Mix build Running Pause Resume Suspended Assume your process is killed
paused: jump to another app Not in the Mix build Running Pause Resume Suspended Assume your process is killed Save state for later use
paused: jump to another app Not in the Mix build Running Load state to continue where you left off Pause Resume Suspended Assume your process is killed Save state for later use
paused: jump to another app Not in the Mix build Running Load state to continue where you left off User never knows what happened :-) Pause Resume Suspended Assume your process is killed Save state for later use
Push Notifications Comunicaçãoiniciada no servidor
Push Notifications Comunicaçãoiniciada no servidor Permitecenários de “background execution”
Push Notifications Comunicaçãoiniciada no servidor Permitecenários de “background execution” Preservabateria e melhora a experiência do utilizador
14 New photos online! Tipos de notificações
15 New photos online! Tipos de notificações
Tipos de notificações 15 New photos online!

More Related Content

What's hot

TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014Andrew McElroy
 
Live Source - an Agile Toolkit
Live Source - an Agile ToolkitLive Source - an Agile Toolkit
Live Source - an Agile ToolkitAlline Oliveira
 
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...John Head
 
MeeGo 1.2 Harmattan - Development & Community Processes
MeeGo 1.2 Harmattan - Development & Community ProcessesMeeGo 1.2 Harmattan - Development & Community Processes
MeeGo 1.2 Harmattan - Development & Community ProcessesUwe Kaminski
 
Lewis brady engine terminology (edited version)
Lewis brady engine terminology (edited version)Lewis brady engine terminology (edited version)
Lewis brady engine terminology (edited version)LewisB2013
 
Beginning Android Flash Development
Beginning Android Flash DevelopmentBeginning Android Flash Development
Beginning Android Flash DevelopmentStephen Chin
 
Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...
Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...
Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...Alan Mendelevich
 
Talk tomepart1 2perpage
Talk tomepart1 2perpageTalk tomepart1 2perpage
Talk tomepart1 2perpageSilvio Cazella
 
Porting unity games to windows - London Unity User Group
Porting unity games to windows - London Unity User GroupPorting unity games to windows - London Unity User Group
Porting unity games to windows - London Unity User GroupLee Stott
 
Windows Phone Developer Story
Windows Phone Developer StoryWindows Phone Developer Story
Windows Phone Developer StoryAlan Mendelevich
 
Android Flash Development
Android Flash DevelopmentAndroid Flash Development
Android Flash DevelopmentStephen Chin
 
Solutions For App Prototyping
Solutions For App PrototypingSolutions For App Prototyping
Solutions For App PrototypingLin BH
 
The Ultimate Developer Collaboration Technique: Ping Pong Pair Programming
The Ultimate Developer Collaboration Technique: Ping Pong Pair ProgrammingThe Ultimate Developer Collaboration Technique: Ping Pong Pair Programming
The Ultimate Developer Collaboration Technique: Ping Pong Pair ProgrammingAnthony Sciamanna
 
App inventor week4(technovation)
App inventor week4(technovation)App inventor week4(technovation)
App inventor week4(technovation)than sare
 
Lewis brady engine_terminology (edited version)
Lewis brady engine_terminology (edited version)Lewis brady engine_terminology (edited version)
Lewis brady engine_terminology (edited version)LewisB2013
 
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1huyzing
 
Parrot anafi work-manual-completo_v6.7.0.1_en
Parrot anafi work-manual-completo_v6.7.0.1_enParrot anafi work-manual-completo_v6.7.0.1_en
Parrot anafi work-manual-completo_v6.7.0.1_enRandyMuchaV
 

What's hot (19)

TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
TiCalabash: Fully automated Acceptance Testing @ TiConf EU 2014
 
Live Source - an Agile Toolkit
Live Source - an Agile ToolkitLive Source - an Agile Toolkit
Live Source - an Agile Toolkit
 
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
 
MeeGo 1.2 Harmattan - Development & Community Processes
MeeGo 1.2 Harmattan - Development & Community ProcessesMeeGo 1.2 Harmattan - Development & Community Processes
MeeGo 1.2 Harmattan - Development & Community Processes
 
Lewis brady engine terminology (edited version)
Lewis brady engine terminology (edited version)Lewis brady engine terminology (edited version)
Lewis brady engine terminology (edited version)
 
Beginning Android Flash Development
Beginning Android Flash DevelopmentBeginning Android Flash Development
Beginning Android Flash Development
 
Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...
Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...
Developer's Guide to Windows Phone App Marketing and Monetization (AppCampus ...
 
Talk tomepart1 2perpage
Talk tomepart1 2perpageTalk tomepart1 2perpage
Talk tomepart1 2perpage
 
Porting unity games to windows - London Unity User Group
Porting unity games to windows - London Unity User GroupPorting unity games to windows - London Unity User Group
Porting unity games to windows - London Unity User Group
 
Windows Phone Developer Story
Windows Phone Developer StoryWindows Phone Developer Story
Windows Phone Developer Story
 
Android Flash Development
Android Flash DevelopmentAndroid Flash Development
Android Flash Development
 
Solutions For App Prototyping
Solutions For App PrototypingSolutions For App Prototyping
Solutions For App Prototyping
 
Summary Of Polycom Cast App
Summary Of Polycom Cast AppSummary Of Polycom Cast App
Summary Of Polycom Cast App
 
How to make a #madebyapprentices Vine
How to make a #madebyapprentices VineHow to make a #madebyapprentices Vine
How to make a #madebyapprentices Vine
 
The Ultimate Developer Collaboration Technique: Ping Pong Pair Programming
The Ultimate Developer Collaboration Technique: Ping Pong Pair ProgrammingThe Ultimate Developer Collaboration Technique: Ping Pong Pair Programming
The Ultimate Developer Collaboration Technique: Ping Pong Pair Programming
 
App inventor week4(technovation)
App inventor week4(technovation)App inventor week4(technovation)
App inventor week4(technovation)
 
Lewis brady engine_terminology (edited version)
Lewis brady engine_terminology (edited version)Lewis brady engine_terminology (edited version)
Lewis brady engine_terminology (edited version)
 
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
iPhone App Dev Overview - Mobile Dev Camp Vietnam 1
 
Parrot anafi work-manual-completo_v6.7.0.1_en
Parrot anafi work-manual-completo_v6.7.0.1_enParrot anafi work-manual-completo_v6.7.0.1_en
Parrot anafi work-manual-completo_v6.7.0.1_en
 

Viewers also liked

MVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara SilvaMVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara SilvaComunidade NetPonto
 
Deep dive into Windows Azure Mobile Services - Ricardo Costa
Deep dive into Windows Azure Mobile Services - Ricardo CostaDeep dive into Windows Azure Mobile Services - Ricardo Costa
Deep dive into Windows Azure Mobile Services - Ricardo CostaComunidade NetPonto
 
Exchange Web Services API - Introducao
Exchange Web Services API - IntroducaoExchange Web Services API - Introducao
Exchange Web Services API - IntroducaoComunidade NetPonto
 
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...Comunidade NetPonto
 
SharePoint 2013, Powershell Install from Development to Production.
SharePoint 2013, Powershell Install from Development to Production.SharePoint 2013, Powershell Install from Development to Production.
SharePoint 2013, Powershell Install from Development to Production.Joao Livio
 
Como ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noiteComo ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noiteComunidade NetPonto
 
Who Needs Stored Procedures Anyway?
Who Needs Stored Procedures Anyway?Who Needs Stored Procedures Anyway?
Who Needs Stored Procedures Anyway?Comunidade NetPonto
 

Viewers also liked (7)

MVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara SilvaMVVM Light e Cimbalino Toolkits - Sara Silva
MVVM Light e Cimbalino Toolkits - Sara Silva
 
Deep dive into Windows Azure Mobile Services - Ricardo Costa
Deep dive into Windows Azure Mobile Services - Ricardo CostaDeep dive into Windows Azure Mobile Services - Ricardo Costa
Deep dive into Windows Azure Mobile Services - Ricardo Costa
 
Exchange Web Services API - Introducao
Exchange Web Services API - IntroducaoExchange Web Services API - Introducao
Exchange Web Services API - Introducao
 
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
Criando aplicações para windows phone 8.1 e windows 8.1 com o app studio da...
 
SharePoint 2013, Powershell Install from Development to Production.
SharePoint 2013, Powershell Install from Development to Production.SharePoint 2013, Powershell Install from Development to Production.
SharePoint 2013, Powershell Install from Development to Production.
 
Como ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noiteComo ser programador durante o dia e mesmo assim dormir bem à noite
Como ser programador durante o dia e mesmo assim dormir bem à noite
 
Who Needs Stored Procedures Anyway?
Who Needs Stored Procedures Anyway?Who Needs Stored Procedures Anyway?
Who Needs Stored Procedures Anyway?
 

Similar to Construir Aplicações Silverlight para Windows Phone 7

Windows Phone 7.5 Mango - What's New
Windows Phone 7.5 Mango - What's NewWindows Phone 7.5 Mango - What's New
Windows Phone 7.5 Mango - What's NewSascha Corti
 
An end-to-end experience of Windows Phone 7 development (Part 1)
An end-to-end experience of Windows Phone 7 development (Part 1)An end-to-end experience of Windows Phone 7 development (Part 1)
An end-to-end experience of Windows Phone 7 development (Part 1)rudigrobler
 
An end-to-end experience of Windows Phone 7 development (Part 2)
An end-to-end experience of Windows Phone 7 development (Part 2)An end-to-end experience of Windows Phone 7 development (Part 2)
An end-to-end experience of Windows Phone 7 development (Part 2)rudigrobler
 
Dev windows phone_apps_getting_started_guide
Dev windows phone_apps_getting_started_guideDev windows phone_apps_getting_started_guide
Dev windows phone_apps_getting_started_guideTrioBlack Trioblack
 
Blending Delicious User Experiences For Windows Phone 7 (by VerySoftware)
Blending Delicious User Experiences For Windows Phone 7 (by VerySoftware)Blending Delicious User Experiences For Windows Phone 7 (by VerySoftware)
Blending Delicious User Experiences For Windows Phone 7 (by VerySoftware)VerySoftware
 
Developing Interactive Applications Using Windows Live Robots, Activities, an...
Developing Interactive Applications Using Windows Live Robots, Activities, an...Developing Interactive Applications Using Windows Live Robots, Activities, an...
Developing Interactive Applications Using Windows Live Robots, Activities, an...goodfriday
 
01 wp7 introduction
01 wp7   introduction01 wp7   introduction
01 wp7 introductionTao Wang
 
Windows Presentation Foundation
Windows Presentation FoundationWindows Presentation Foundation
Windows Presentation FoundationTran Ngoc Son
 
Introduction To Mobile-Automation
Introduction To Mobile-AutomationIntroduction To Mobile-Automation
Introduction To Mobile-AutomationMindfire Solutions
 
What's New in Windows Phone "Mango"
What's New in Windows Phone "Mango"What's New in Windows Phone "Mango"
What's New in Windows Phone "Mango"mdc11
 
Windows phone 7 development
Windows phone 7 developmentWindows phone 7 development
Windows phone 7 developmentChris Coneybeer
 
Application compatibility final
Application compatibility finalApplication compatibility final
Application compatibility finalHarold Wong
 
Building Windows 10 Universal Apps with Speech and Cortana
Building Windows 10 Universal Apps with Speech and CortanaBuilding Windows 10 Universal Apps with Speech and Cortana
Building Windows 10 Universal Apps with Speech and CortanaNick Landry
 
Code Camp - Presentation - Windows 10 - (Cortana)
Code Camp - Presentation - Windows 10 - (Cortana)Code Camp - Presentation - Windows 10 - (Cortana)
Code Camp - Presentation - Windows 10 - (Cortana)Edward Moemeka
 
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...DataArt
 

Similar to Construir Aplicações Silverlight para Windows Phone 7 (20)

Windows Phone 7.5 Mango - What's New
Windows Phone 7.5 Mango - What's NewWindows Phone 7.5 Mango - What's New
Windows Phone 7.5 Mango - What's New
 
An end-to-end experience of Windows Phone 7 development (Part 1)
An end-to-end experience of Windows Phone 7 development (Part 1)An end-to-end experience of Windows Phone 7 development (Part 1)
An end-to-end experience of Windows Phone 7 development (Part 1)
 
An end-to-end experience of Windows Phone 7 development (Part 2)
An end-to-end experience of Windows Phone 7 development (Part 2)An end-to-end experience of Windows Phone 7 development (Part 2)
An end-to-end experience of Windows Phone 7 development (Part 2)
 
Dev windows phone_apps_getting_started_guide
Dev windows phone_apps_getting_started_guideDev windows phone_apps_getting_started_guide
Dev windows phone_apps_getting_started_guide
 
Blending Delicious User Experiences For Windows Phone 7 (by VerySoftware)
Blending Delicious User Experiences For Windows Phone 7 (by VerySoftware)Blending Delicious User Experiences For Windows Phone 7 (by VerySoftware)
Blending Delicious User Experiences For Windows Phone 7 (by VerySoftware)
 
Developing Interactive Applications Using Windows Live Robots, Activities, an...
Developing Interactive Applications Using Windows Live Robots, Activities, an...Developing Interactive Applications Using Windows Live Robots, Activities, an...
Developing Interactive Applications Using Windows Live Robots, Activities, an...
 
01 wp7 introduction
01 wp7   introduction01 wp7   introduction
01 wp7 introduction
 
Windows Presentation Foundation
Windows Presentation FoundationWindows Presentation Foundation
Windows Presentation Foundation
 
Introduction To Mobile-Automation
Introduction To Mobile-AutomationIntroduction To Mobile-Automation
Introduction To Mobile-Automation
 
Pc03
Pc03Pc03
Pc03
 
What's New in Windows Phone "Mango"
What's New in Windows Phone "Mango"What's New in Windows Phone "Mango"
What's New in Windows Phone "Mango"
 
Windows phone 7 development
Windows phone 7 developmentWindows phone 7 development
Windows phone 7 development
 
Application compatibility final
Application compatibility finalApplication compatibility final
Application compatibility final
 
MoMo Oct Event
MoMo Oct EventMoMo Oct Event
MoMo Oct Event
 
Windows 8 BootCamp
Windows 8 BootCampWindows 8 BootCamp
Windows 8 BootCamp
 
Building Windows 10 Universal Apps with Speech and Cortana
Building Windows 10 Universal Apps with Speech and CortanaBuilding Windows 10 Universal Apps with Speech and Cortana
Building Windows 10 Universal Apps with Speech and Cortana
 
Code Camp - Presentation - Windows 10 - (Cortana)
Code Camp - Presentation - Windows 10 - (Cortana)Code Camp - Presentation - Windows 10 - (Cortana)
Code Camp - Presentation - Windows 10 - (Cortana)
 
Windows 7 mobile
Windows 7 mobileWindows 7 mobile
Windows 7 mobile
 
Stc ftn-wp7-intro
Stc ftn-wp7-introStc ftn-wp7-intro
Stc ftn-wp7-intro
 
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...
 

More from Comunidade NetPonto

Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...Comunidade NetPonto
 
The power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno CanceloThe power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno CanceloComunidade NetPonto
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 
NoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor TomazNoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor TomazComunidade NetPonto
 
De Zero a Produção - João Jesus
De Zero a Produção - João JesusDe Zero a Produção - João Jesus
De Zero a Produção - João JesusComunidade NetPonto
 
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComo deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComunidade NetPonto
 
Case studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store AppsCase studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store AppsComunidade NetPonto
 
Aspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharpAspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharpComunidade NetPonto
 
Utilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes UnitáriosUtilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes UnitáriosComunidade NetPonto
 
Dinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de ProjectoDinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de ProjectoComunidade NetPonto
 
KnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida realKnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida realComunidade NetPonto
 
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto ProieteWindows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto ProieteComunidade NetPonto
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIComunidade NetPonto
 
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8Comunidade NetPonto
 
Sessão Especial: PowerPivot com Alberto Ferrari
Sessão Especial: PowerPivot com Alberto FerrariSessão Especial: PowerPivot com Alberto Ferrari
Sessão Especial: PowerPivot com Alberto FerrariComunidade NetPonto
 
Arquitectura dos Serviços da plataforma Windows Azure
Arquitectura dos Serviços da plataforma Windows AzureArquitectura dos Serviços da plataforma Windows Azure
Arquitectura dos Serviços da plataforma Windows AzureComunidade NetPonto
 

More from Comunidade NetPonto (20)

Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
Continuous Delivery for Desktop Applications: a case study - Miguel Alho & Jo...
 
The power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno CanceloThe power of templating.... with NVelocity - Nuno Cancelo
The power of templating.... with NVelocity - Nuno Cancelo
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
ASP.NET Signal R - Glauco Godoi
ASP.NET Signal R - Glauco GodoiASP.NET Signal R - Glauco Godoi
ASP.NET Signal R - Glauco Godoi
 
NoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor TomazNoSQL em Windows Azure Table Storage - Vitor Tomaz
NoSQL em Windows Azure Table Storage - Vitor Tomaz
 
HTML5 - Pedro Rosa
HTML5 - Pedro RosaHTML5 - Pedro Rosa
HTML5 - Pedro Rosa
 
De Zero a Produção - João Jesus
De Zero a Produção - João JesusDe Zero a Produção - João Jesus
De Zero a Produção - João Jesus
 
OData – Super Cola W3
OData – Super Cola W3OData – Super Cola W3
OData – Super Cola W3
 
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone AppsComo deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
Como deixar de fazer "copy and paste" entre Windows Store e Windows Phone Apps
 
Case studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store AppsCase studies about Layout & View States & Scale in Windows 8 Store Apps
Case studies about Layout & View States & Scale in Windows 8 Store Apps
 
Aspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharpAspect-oriented Programming (AOP) com PostSharp
Aspect-oriented Programming (AOP) com PostSharp
 
Utilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes UnitáriosUtilização de Mock Objects em Testes Unitários
Utilização de Mock Objects em Testes Unitários
 
Dinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de ProjectoDinâmica e Motivacao de Equipas de Projecto
Dinâmica e Motivacao de Equipas de Projecto
 
KnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida realKnockoutJS com ASP.NET MVC3: Utilização na vida real
KnockoutJS com ASP.NET MVC3: Utilização na vida real
 
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto ProieteWindows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
Windows 8: Desenvolvimento de Metro Style Apps - C. Augusto Proiete
 
Uma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web APIUma Introdução a ASP.NET Web API
Uma Introdução a ASP.NET Web API
 
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
Como não entalar os dedos nas janelas: Finger-based apps no Windows 8
 
Sessão Especial: PowerPivot com Alberto Ferrari
Sessão Especial: PowerPivot com Alberto FerrariSessão Especial: PowerPivot com Alberto Ferrari
Sessão Especial: PowerPivot com Alberto Ferrari
 
NuGet no Contexto Empresarial
NuGet no Contexto EmpresarialNuGet no Contexto Empresarial
NuGet no Contexto Empresarial
 
Arquitectura dos Serviços da plataforma Windows Azure
Arquitectura dos Serviços da plataforma Windows AzureArquitectura dos Serviços da plataforma Windows Azure
Arquitectura dos Serviços da plataforma Windows Azure
 

Recently uploaded

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Recently uploaded (20)

Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 

Construir Aplicações Silverlight para Windows Phone 7

Editor's Notes

  1. As we set out to re-define what a Windows Phone Experience should be, we knew we would have to come up with some thing different from what we had done before. That said, this is not being different for the sake of it; we had some very smart reasons on improvements we wanted to include on Windows Phone, amongst these: our design had to be smart, and we wanted to build truly integrated experiences so our could get the most out of the phone.
  2. In the beginning of 2009 a new approach was taken. How did this transition from the previous slide to this slide happen?During designing Windows Phone 7 Series, the designers did not exclusively have phones in mind, even though a great phone experience is important for the end result. However, finding information fast and easy in a beautiful environment was more important for the design of the Windows Phone 7 Series.This is where Metro came in. Metro as a design language is based on a foundation (or set of principals).
  3. The Panoramic ExperienceWindows Phone 7 ‘broke’ out of its frameMost current screens display a canvas in a frame (the real estate is limited to the canvas)Windows Phone 7 gives you a panoramic frameworkA bit more work to create for application developersGives the end user a very rich experienceThe canvas is much bigger than the frameWorks great to get users engaged, combine client information in your application with services
  4. Our game changing philosophy is so deep, you see it even on our hardware platform, where we have merged both the smart design and integrated experiences by having a best of breed, bleeding edge hardware specification for our OEMs and Mobile Operators. This will drive consistency for developers. You are coding to a single hardware platform. The experience is consistent with integrated Windows, Back and search button, so users can easily navigate across tasks. At the same time, we need to give consumer choice and we need to give OEMs the ability to differentiate their offerings, but again we have done this with this zen-like balance that is going to drive consistency and a single platform to code for. On resolution, we do have two resolutions: 800x480 will be available at launch and HVGA 480x320 will be added a bit later. The drivers are provided by Microsoft, ensuring great quality and reliability and letting our partners focus on innovation instead of drivers. Touch is capacity; all devices have four touch points.
  5. Smart Design and integrated experiences is our promise to end-users.Microsoft knows too well that we also must deliver a great platform for the developers to innovate on. Without a solid platform we have no apps, and there fore less value to our customers. As such, we set out to create a modern platform. We offer the best run-times: Silverlight and XNA; both of these have the best, most RAD tooling experiences so our developers can be proactive and quick to market. We also made sure we embraced the cloud; there is things we can’t (or don’t want to) do on the phone, but we have APIs and services for developers to compliment our client-side offerings and make the best applications without compromising the user experience. Beyond run-times of course we need for our developers to be profitable; a market place where consumers can easily and securely purchase applications, so developers and content providers can get paid. Win-win-win for consumers, for Microsoft and for developers.
  6. As you can see a comprehensive platform. The ones on the bottom are on the cloud. That is mostly free services you will get. The top are both the tools you will use and the API you will use to create your amazing apps.
  7. Moving on to the code that runs on the device, Notice that as a developer you are creating applications that can run across multiple channels: Windows Phone, XBOX Live, and/or Windows … It is Silverlight or XNA on all these platform.
  8. We have our best two frameworks for you to choose from when creating a client app. Silverlight is microsoft’s already established RIA offering. A very comprehensive and powerful App UI framework and run-time with huge innovation around media, controls, etc.. XNA is our high performance gaming framework; another well established framework, already proven on XBOX 360 and Zune. These APIs not only provide you the best of breed
  9. We have our best two frameworks for you to choose from when creating a client app. Silverlight is microsoft’s already established RIA offering. A very comprehensive and powerful App UI framework and run-time with huge innovation around media, controls, etc.. XNA is our high performance gaming framework; another well established framework, already proven on XBOX 360 and Zune. These APIs not only provide you the best of breed
  10. Moving onto tools, we have visual studio and XNA Game Studio 4.0.
  11. Our tools are Free. This includes Visual Studio, Game Studio, and Expression Blend. They will continue to be free even after V1 of the tools RTM. Though we don’t have this as a single download today, that is the goal. Go get the tools at developer.windowsphone.com
  12. This is the process of getting an app from the tools into the marketplace. The emulator is what you can use to test now (until you have a phone).It is an x86 emulator. It is blazing fast, faster than the phone. It is hardware accelerated for graphics ( and so is the phone). Emulator also supports multitouch if you are running on Windows 7. It is the actual OS, but compiled for x86. Deploying to the phone is just as easy. You literally change a combobox in the tools and can now deploy to the phone, get an integrated debugger with break points, etc.. Your phone will have to be developer unlocked; you can do that by registering your phone as a developer phone. It is a friction-free process. Later we will have a few extra tools for verifying your application. These are not in the current CTP. These are what you will use to get ingested into the market place.
  13. This is the process of getting an app from the tools into the marketplace. The emulator is what you can use to test now (until you have a phone).It is an x86 emulator. It is blazing fast, faster than the phone. It is hardware accelerated for graphics ( and so is the phone). Emulator also supports multitouch if you are running on Windows 7. It is the actual OS, but compiled for x86. Deploying to the phone is just as easy. You literally change a combobox in the tools and can now deploy to the phone, get an integrated debugger with break points, etc.. Your phone will have to be developer unlocked; you can do that by registering your phone as a developer phone. It is a friction-free process. Later we will have a few extra tools for verifying your application. These are not in the current CTP. These are what you will use to get ingested into the market place.
  14. This is the process of getting an app from the tools into the marketplace. The emulator is what you can use to test now (until you have a phone).It is an x86 emulator. It is blazing fast, faster than the phone. It is hardware accelerated for graphics ( and so is the phone). Emulator also supports multitouch if you are running on Windows 7. It is the actual OS, but compiled for x86. Deploying to the phone is just as easy. You literally change a combobox in the tools and can now deploy to the phone, get an integrated debugger with break points, etc.. Your phone will have to be developer unlocked; you can do that by registering your phone as a developer phone. It is a friction-free process. Later we will have a few extra tools for verifying your application. These are not in the current CTP. These are what you will use to get ingested into the market place.
  15. This is the process of getting an app from the tools into the marketplace. The emulator is what you can use to test now (until you have a phone).It is an x86 emulator. It is blazing fast, faster than the phone. It is hardware accelerated for graphics ( and so is the phone). Emulator also supports multitouch if you are running on Windows 7. It is the actual OS, but compiled for x86. Deploying to the phone is just as easy. You literally change a combobox in the tools and can now deploy to the phone, get an integrated debugger with break points, etc.. Your phone will have to be developer unlocked; you can do that by registering your phone as a developer phone. It is a friction-free process. Later we will have a few extra tools for verifying your application. These are not in the current CTP. These are what you will use to get ingested into the market place.
  16. The Windows Phone 7 look & feel is added to the Silverlight default controlsThe UI that is available on the phone is very simple and very elegant. Silverlight can do super flashy things, great media, 3D perspectives but nothing is overdone on a Windows Phone.It is important to have oversized hit targets for those elements that users can select on the phone. This is necessary because the phone will be finger controlled because it makes use of capacitive touch.Inside the templates, there is a big use of transparency. On a Windows Phone, everything is centered around content, not around chrome. The user should be able to see as much content as possible. Transparency will help with that.
  17. Theming is another important part of the different controls on a Windows Phone.The user can pick a theme. The two major differences are:Dark background with light textLight background with dark textBesides the dark / light themes, the user can also select different accent colors. There are four different accent colors to choose from:RedOrangeGreenBlueThe built-in controls are automatically themed, according to the user selection. The user selected theme can be used inside your own application as well to make your application match everything else on the phone:Your own user controls can tap into the theming system to make their appearance consistent over applicationsYour application’s content can tap into the theming system to make it consistent with other applications on the phoneThe look of your content can change when the user selects another theme or another accent color
  18. As you saw in the demo, the TextBox really integrates with the Operating System software keyboardThere is also a password obfuscation delay. When you enter data on a password textbox, you can see the entered character for a second before it turns into a dot. This is what you expect on a phone because entering passwords is kind of tricky when you are using the software keyboard.You also saw that built-in controls have gesture support. There are also new events available on controls that are called “Manipulation Events”. They are fired when manipulations are started and ended or when a particular delta is reached. Using these events on controls you are able to influence gestures.
  19. The accelerometer is pretty much straight forward. You get force in units of gravity applied in every dimension over time. Every sample comes with an x, y and z force and a time stamp.If the device is just laying flat on a surface, it has -1 unit of gravity in the Z-direction.X and Y coordinates are similar to screen coordinates, Z gets into the device.When you shake the device, you will get readings containing values larger than 1 unit of gravity.
  20. As far as media goes we have:Hardware decodeAudio + Video on the deviceSilverlight media are available on the device, also protected media can be played with the right authenticationThere are a couple of limitations for media on the deviceYou can only have one MediaElement at a timeThis is due to limited hardware resources on the deviceThere is no support for video brushesYou can make use of transforms with the MediaElement, meaning you can animate the media surfaceYou can make use of the XNA Sound Effect APIOptimized for game type of sound, but works pretty good in Silverlight for short looping sounds (consisting of plain wave data)
  21. The remainder of this presentation concentrates on what you can do specifically with the phone from inside your own applications.There are three main buckets to discuss:Hub integrationApplications can add (through specific API’s) history information to a hub to make the hub more personalized for a particular userYour application also has the possibility to register as a photo application and get access to the photo hubLaunchers allow an application to go to the background and fire up an existing built-in application, for instance to allow sending text messages from ‘inside’ your own application or to display a dialer to make phone calls from inside your own application.Choosers are pieces of functionality that act similar to an open file dialog to select some locally stored data of a particular format for use inside your own application.
  22. This is just a list of all launchers and choosers that are available on Windows Phone 7.Again: A launcher starts an existing Operating System application and puts your application (temporarily) to the background.A chooser is a piece of Operating System functionality that can select some stored data and return it to your application.
  23. A Silverlight application consists of a root visual which is typically a user control.The user control typically contains some content.This application model worked great for building applications on the web (widgets, rich media applications)[Animate]Silverlight applications add more and more content that eventually leads to problems. The application appears more and more as a complete web page to the user. This implies that the user wants to navigate through the application in the same way they navigate over web pages.[Animate]This does not work well with the browser though. If the user uses the browser back button on such a Silverlight application, instead of returning to the previous content, the user will return to the previous web page, tearing down the Silverlight application.
  24. A Silverlight application consists of a root visual which is typically a user control.The user control typically contains some content.This application model worked great for building applications on the web (widgets, rich media applications)[Animate]Silverlight applications add more and more content that eventually leads to problems. The application appears more and more as a complete web page to the user. This implies that the user wants to navigate through the application in the same way they navigate over web pages.[Animate]This does not work well with the browser though. If the user uses the browser back button on such a Silverlight application, instead of returning to the previous content, the user will return to the previous web page, tearing down the Silverlight application.
  25. A Silverlight application consists of a root visual which is typically a user control.The user control typically contains some content.This application model worked great for building applications on the web (widgets, rich media applications)[Animate]Silverlight applications add more and more content that eventually leads to problems. The application appears more and more as a complete web page to the user. This implies that the user wants to navigate through the application in the same way they navigate over web pages.[Animate]This does not work well with the browser though. If the user uses the browser back button on such a Silverlight application, instead of returning to the previous content, the user will return to the previous web page, tearing down the Silverlight application.
  26. A Silverlight application consists of a root visual which is typically a user control.The user control typically contains some content.This application model worked great for building applications on the web (widgets, rich media applications)[Animate]Silverlight applications add more and more content that eventually leads to problems. The application appears more and more as a complete web page to the user. This implies that the user wants to navigate through the application in the same way they navigate over web pages.[Animate]This does not work well with the browser though. If the user uses the browser back button on such a Silverlight application, instead of returning to the previous content, the user will return to the previous web page, tearing down the Silverlight application.
  27. In Silverlight 3, this problem was recognized and solved.[Animate]It is solved by introducing the notion of a frame control which can navigate between pages. With this added functionality, a Silverlight application behaves like a ‘normal’ web application containing multiple pages.[Animate]Navigation through the Silverlight application now works great with the Browser back button.
  28. In Silverlight 3, this problem was recognized and solved.[Animate]It is solved by introducing the notion of a frame control which can navigate between pages. With this added functionality, a Silverlight application behaves like a ‘normal’ web application containing multiple pages.[Animate]Navigation through the Silverlight application now works great with the Browser back button.
  29. In Silverlight 3, this problem was recognized and solved.[Animate]It is solved by introducing the notion of a frame control which can navigate between pages. With this added functionality, a Silverlight application behaves like a ‘normal’ web application containing multiple pages.[Animate]Navigation through the Silverlight application now works great with the Browser back button.
  30. Which application model is used for Windows Phone 7?[Animate]Windows Phone 7 uses a similar Silverlight 3 application model, however, there is not really any need for the user control in the middle.[Animate]Therefore, the structure of a Silverlight application on the phone is very simple. The Application has a Frame as its visual root and the Frame can contain multiple Pages.[Animate]A Windows Phone 7 has a hardware back button that allows navigating, similar to the Browser back button.
  31. Which application model is used for Windows Phone 7?[Animate]Windows Phone 7 uses a similar Silverlight 3 application model, however, there is not really any need for the user control in the middle.[Animate]Therefore, the structure of a Silverlight application on the phone is very simple. The Application has a Frame as its visual root and the Frame can contain multiple Pages.[Animate]A Windows Phone 7 has a hardware back button that allows navigating, similar to the Browser back button.
  32. Which application model is used for Windows Phone 7?[Animate]Windows Phone 7 uses a similar Silverlight 3 application model, however, there is not really any need for the user control in the middle.[Animate]Therefore, the structure of a Silverlight application on the phone is very simple. The Application has a Frame as its visual root and the Frame can contain multiple Pages.[Animate]A Windows Phone 7 has a hardware back button that allows navigating, similar to the Browser back button.
  33. Which application model is used for Windows Phone 7?[Animate]Windows Phone 7 uses a similar Silverlight 3 application model, however, there is not really any need for the user control in the middle.[Animate]Therefore, the structure of a Silverlight application on the phone is very simple. The Application has a Frame as its visual root and the Frame can contain multiple Pages.[Animate]A Windows Phone 7 has a hardware back button that allows navigating, similar to the Browser back button.
  34. The back key allows the user to go back to screens that they have seen before, in other words, there is a whole stack of screens that the user can walk back through. This is completely independent from applications, so hitting the back button, a user might end up in another application.Applications should not override the meaning of the back key. Even if you can do it, it is a bad idea because the user expects this key to behave consistent. So don’t even do it in games. However, every rule has one or two exceptions, so lets take a look at one of the exceptions in a little demo.
  35. The back key allows the user to go back to screens that they have seen before, in other words, there is a whole stack of screens that the user can walk back through. This is completely independent from applications, so hitting the back button, a user might end up in another application.Applications should not override the meaning of the back key. Even if you can do it, it is a bad idea because the user expects this key to behave consistent. So don’t even do it in games. However, every rule has one or two exceptions, so lets take a look at one of the exceptions in a little demo.
  36. The back key allows the user to go back to screens that they have seen before, in other words, there is a whole stack of screens that the user can walk back through. This is completely independent from applications, so hitting the back button, a user might end up in another application.Applications should not override the meaning of the back key. Even if you can do it, it is a bad idea because the user expects this key to behave consistent. So don’t even do it in games. However, every rule has one or two exceptions, so lets take a look at one of the exceptions in a little demo.
  37. Unique to a Silverlight application on the phone is that a lot of things can happen while the user is working with your application.Phone calls will come in and text messages and the lock screen might be active if the user stops working with your application.All of this activity effects the way your application runs on the device.
  38. Unique to a Silverlight application on the phone is that a lot of things can happen while the user is working with your application.Phone calls will come in and text messages and the lock screen might be active if the user stops working with your application.All of this activity effects the way your application runs on the device.
  39. Unique to a Silverlight application on the phone is that a lot of things can happen while the user is working with your application.Phone calls will come in and text messages and the lock screen might be active if the user stops working with your application.All of this activity effects the way your application runs on the device.
  40. Unique to a Silverlight application on the phone is that a lot of things can happen while the user is working with your application.Phone calls will come in and text messages and the lock screen might be active if the user stops working with your application.All of this activity effects the way your application runs on the device.
  41. Unique to a Silverlight application on the phone is that a lot of things can happen while the user is working with your application.Phone calls will come in and text messages and the lock screen might be active if the user stops working with your application.All of this activity effects the way your application runs on the device.
  42. Unique to a Silverlight application on the phone is that a lot of things can happen while the user is working with your application.Phone calls will come in and text messages and the lock screen might be active if the user stops working with your application.All of this activity effects the way your application runs on the device.
  43. Unique to a Silverlight application on the phone is that a lot of things can happen while the user is working with your application.Phone calls will come in and text messages and the lock screen might be active if the user stops working with your application.All of this activity effects the way your application runs on the device.
  44. The application life time on a phone is basically similar to any other application. An application that is not running can be started, therefore becomes running and after some time it might be terminated, reentering the not running state.A phone application differs slightly from a ‘normal’ application. [Animate]While you are running on the phone two things can happen, each with their own behavior that we will cover in detail: The application can be obscuredThe application can be paused
  45. The application life time on a phone is basically similar to any other application. An application that is not running can be started, therefore becomes running and after some time it might be terminated, reentering the not running state.A phone application differs slightly from a ‘normal’ application. [Animate]While you are running on the phone two things can happen, each with their own behavior that we will cover in detail: The application can be obscuredThe application can be paused
  46. The application life time on a phone is basically similar to any other application. An application that is not running can be started, therefore becomes running and after some time it might be terminated, reentering the not running state.A phone application differs slightly from a ‘normal’ application. [Animate]While you are running on the phone two things can happen, each with their own behavior that we will cover in detail: The application can be obscuredThe application can be paused
  47. The application life time on a phone is basically similar to any other application. An application that is not running can be started, therefore becomes running and after some time it might be terminated, reentering the not running state.A phone application differs slightly from a ‘normal’ application. [Animate]While you are running on the phone two things can happen, each with their own behavior that we will cover in detail: The application can be obscuredThe application can be paused
  48. The application life time on a phone is basically similar to any other application. An application that is not running can be started, therefore becomes running and after some time it might be terminated, reentering the not running state.A phone application differs slightly from a ‘normal’ application. [Animate]While you are running on the phone two things can happen, each with their own behavior that we will cover in detail: The application can be obscuredThe application can be paused
  49. The application life time on a phone is basically similar to any other application. An application that is not running can be started, therefore becomes running and after some time it might be terminated, reentering the not running state.A phone application differs slightly from a ‘normal’ application. [Animate]While you are running on the phone two things can happen, each with their own behavior that we will cover in detail: The application can be obscuredThe application can be paused
  50. The application life time on a phone is basically similar to any other application. An application that is not running can be started, therefore becomes running and after some time it might be terminated, reentering the not running state.A phone application differs slightly from a ‘normal’ application. [Animate]While you are running on the phone two things can happen, each with their own behavior that we will cover in detail: The application can be obscuredThe application can be paused
  51. The application life time on a phone is basically similar to any other application. An application that is not running can be started, therefore becomes running and after some time it might be terminated, reentering the not running state.A phone application differs slightly from a ‘normal’ application. [Animate]While you are running on the phone two things can happen, each with their own behavior that we will cover in detail: The application can be obscuredThe application can be paused
  52. The application life time on a phone is basically similar to any other application. An application that is not running can be started, therefore becomes running and after some time it might be terminated, reentering the not running state.A phone application differs slightly from a ‘normal’ application. [Animate]While you are running on the phone two things can happen, each with their own behavior that we will cover in detail: The application can be obscuredThe application can be paused
  53. The behavior of an obscured application is not implemented in the MIX CTP, so we can’t show this on the device emulator. Each numbered item explains the situation after an animation:An application is runningSomething happens on the device (e.g. A phone call, a low battery warning, a calendar reminder)This means that the user cannot see your application anymoreIn this situation the OS tells you that it has been obscuredGives the app the opportunity to do somethingThe application keeps runningNo resources are being taken from the applicationAfter some time the event that happened on the device goes away (e.g. the user confirmed a dialog), resulting in an unobscured notification to your appThe application knows it is entirely visible againFor instance, if the application is a game, it can pause itself when it is obscured. However, anything that does not require user interaction can simply continue.Then when the application (game) becomes unobscured again, you could resume it.
  54. The behavior of an obscured application is not implemented in the MIX CTP, so we can’t show this on the device emulator. Each numbered item explains the situation after an animation:An application is runningSomething happens on the device (e.g. A phone call, a low battery warning, a calendar reminder)This means that the user cannot see your application anymoreIn this situation the OS tells you that it has been obscuredGives the app the opportunity to do somethingThe application keeps runningNo resources are being taken from the applicationAfter some time the event that happened on the device goes away (e.g. the user confirmed a dialog), resulting in an unobscured notification to your appThe application knows it is entirely visible againFor instance, if the application is a game, it can pause itself when it is obscured. However, anything that does not require user interaction can simply continue.Then when the application (game) becomes unobscured again, you could resume it.
  55. The behavior of an obscured application is not implemented in the MIX CTP, so we can’t show this on the device emulator. Each numbered item explains the situation after an animation:An application is runningSomething happens on the device (e.g. A phone call, a low battery warning, a calendar reminder)This means that the user cannot see your application anymoreIn this situation the OS tells you that it has been obscuredGives the app the opportunity to do somethingThe application keeps runningNo resources are being taken from the applicationAfter some time the event that happened on the device goes away (e.g. the user confirmed a dialog), resulting in an unobscured notification to your appThe application knows it is entirely visible againFor instance, if the application is a game, it can pause itself when it is obscured. However, anything that does not require user interaction can simply continue.Then when the application (game) becomes unobscured again, you could resume it.
  56. The behavior of an obscured application is not implemented in the MIX CTP, so we can’t show this on the device emulator. Each numbered item explains the situation after an animation:An application is runningSomething happens on the device (e.g. A phone call, a low battery warning, a calendar reminder)This means that the user cannot see your application anymoreIn this situation the OS tells you that it has been obscuredGives the app the opportunity to do somethingThe application keeps runningNo resources are being taken from the applicationAfter some time the event that happened on the device goes away (e.g. the user confirmed a dialog), resulting in an unobscured notification to your appThe application knows it is entirely visible againFor instance, if the application is a game, it can pause itself when it is obscured. However, anything that does not require user interaction can simply continue.Then when the application (game) becomes unobscured again, you could resume it.
  57. The behavior of an obscured application is not implemented in the MIX CTP, so we can’t show this on the device emulator. Each numbered item explains the situation after an animation:An application is runningSomething happens on the device (e.g. A phone call, a low battery warning, a calendar reminder)This means that the user cannot see your application anymoreIn this situation the OS tells you that it has been obscuredGives the app the opportunity to do somethingThe application keeps runningNo resources are being taken from the applicationAfter some time the event that happened on the device goes away (e.g. the user confirmed a dialog), resulting in an unobscured notification to your appThe application knows it is entirely visible againFor instance, if the application is a game, it can pause itself when it is obscured. However, anything that does not require user interaction can simply continue.Then when the application (game) becomes unobscured again, you could resume it.
  58. The behavior of an obscured application is not implemented in the MIX CTP, so we can’t show this on the device emulator. Each numbered item explains the situation after an animation:An application is runningSomething happens on the device (e.g. A phone call, a low battery warning, a calendar reminder)This means that the user cannot see your application anymoreIn this situation the OS tells you that it has been obscuredGives the app the opportunity to do somethingThe application keeps runningNo resources are being taken from the applicationAfter some time the event that happened on the device goes away (e.g. the user confirmed a dialog), resulting in an unobscured notification to your appThe application knows it is entirely visible againFor instance, if the application is a game, it can pause itself when it is obscured. However, anything that does not require user interaction can simply continue.Then when the application (game) becomes unobscured again, you could resume it.
  59. The behavior of an obscured application is not implemented in the MIX CTP, so we can’t show this on the device emulator. Each numbered item explains the situation after an animation:An application is runningSomething happens on the device (e.g. A phone call, a low battery warning, a calendar reminder)This means that the user cannot see your application anymoreIn this situation the OS tells you that it has been obscuredGives the app the opportunity to do somethingThe application keeps runningNo resources are being taken from the applicationAfter some time the event that happened on the device goes away (e.g. the user confirmed a dialog), resulting in an unobscured notification to your appThe application knows it is entirely visible againFor instance, if the application is a game, it can pause itself when it is obscured. However, anything that does not require user interaction can simply continue.Then when the application (game) becomes unobscured again, you could resume it.
  60. The behavior of an obscured application is not implemented in the MIX CTP, so we can’t show this on the device emulator. Each numbered item explains the situation after an animation:An application is runningSomething happens on the device (e.g. A phone call, a low battery warning, a calendar reminder)This means that the user cannot see your application anymoreIn this situation the OS tells you that it has been obscuredGives the app the opportunity to do somethingThe application keeps runningNo resources are being taken from the applicationAfter some time the event that happened on the device goes away (e.g. the user confirmed a dialog), resulting in an unobscured notification to your appThe application knows it is entirely visible againFor instance, if the application is a game, it can pause itself when it is obscured. However, anything that does not require user interaction can simply continue.Then when the application (game) becomes unobscured again, you could resume it.
  61. The next thing to investigate is what happens if your application is running and the user jumps to another application.Begin again with the situation where the application is runningThe user does something, for instance click the start button to run another applicationIn this situation, the application will receive a pause event, indicating that the application should stop doing what it is doing. The OS actually suspends the application in this case.If the user comes back to your application it will receive a resume event and can continue runningImportant: While you are suspended you should assume that your process is killed!! (it might not really happen, depending on resources used by your application and the resources needed by the application that is now running)When you enter the pause state, your application should save its state for future useThe paging model of an application can help here, if all your pages are stateless you don’t have to do anything in particularWhen the resume event happens, just go back to that state (could be a page) where you were when you were pausedThis approach guarantees that the user does not even know that your application was suspended and possibly killed
  62. The next thing to investigate is what happens if your application is running and the user jumps to another application.Begin again with the situation where the application is runningThe user does something, for instance click the start button to run another applicationIn this situation, the application will receive a pause event, indicating that the application should stop doing what it is doing. The OS actually suspends the application in this case.If the user comes back to your application it will receive a resume event and can continue runningImportant: While you are suspended you should assume that your process is killed!! (it might not really happen, depending on resources used by your application and the resources needed by the application that is now running)When you enter the pause state, your application should save its state for future useThe paging model of an application can help here, if all your pages are stateless you don’t have to do anything in particularWhen the resume event happens, just go back to that state (could be a page) where you were when you were pausedThis approach guarantees that the user does not even know that your application was suspended and possibly killed
  63. The next thing to investigate is what happens if your application is running and the user jumps to another application.Begin again with the situation where the application is runningThe user does something, for instance click the start button to run another applicationIn this situation, the application will receive a pause event, indicating that the application should stop doing what it is doing. The OS actually suspends the application in this case.If the user comes back to your application it will receive a resume event and can continue runningImportant: While you are suspended you should assume that your process is killed!! (it might not really happen, depending on resources used by your application and the resources needed by the application that is now running)When you enter the pause state, your application should save its state for future useThe paging model of an application can help here, if all your pages are stateless you don’t have to do anything in particularWhen the resume event happens, just go back to that state (could be a page) where you were when you were pausedThis approach guarantees that the user does not even know that your application was suspended and possibly killed
  64. The next thing to investigate is what happens if your application is running and the user jumps to another application.Begin again with the situation where the application is runningThe user does something, for instance click the start button to run another applicationIn this situation, the application will receive a pause event, indicating that the application should stop doing what it is doing. The OS actually suspends the application in this case.If the user comes back to your application it will receive a resume event and can continue runningImportant: While you are suspended you should assume that your process is killed!! (it might not really happen, depending on resources used by your application and the resources needed by the application that is now running)When you enter the pause state, your application should save its state for future useThe paging model of an application can help here, if all your pages are stateless you don’t have to do anything in particularWhen the resume event happens, just go back to that state (could be a page) where you were when you were pausedThis approach guarantees that the user does not even know that your application was suspended and possibly killed
  65. The next thing to investigate is what happens if your application is running and the user jumps to another application.Begin again with the situation where the application is runningThe user does something, for instance click the start button to run another applicationIn this situation, the application will receive a pause event, indicating that the application should stop doing what it is doing. The OS actually suspends the application in this case.If the user comes back to your application it will receive a resume event and can continue runningImportant: While you are suspended you should assume that your process is killed!! (it might not really happen, depending on resources used by your application and the resources needed by the application that is now running)When you enter the pause state, your application should save its state for future useThe paging model of an application can help here, if all your pages are stateless you don’t have to do anything in particularWhen the resume event happens, just go back to that state (could be a page) where you were when you were pausedThis approach guarantees that the user does not even know that your application was suspended and possibly killed
  66. The next thing to investigate is what happens if your application is running and the user jumps to another application.Begin again with the situation where the application is runningThe user does something, for instance click the start button to run another applicationIn this situation, the application will receive a pause event, indicating that the application should stop doing what it is doing. The OS actually suspends the application in this case.If the user comes back to your application it will receive a resume event and can continue runningImportant: While you are suspended you should assume that your process is killed!! (it might not really happen, depending on resources used by your application and the resources needed by the application that is now running)When you enter the pause state, your application should save its state for future useThe paging model of an application can help here, if all your pages are stateless you don’t have to do anything in particularWhen the resume event happens, just go back to that state (could be a page) where you were when you were pausedThis approach guarantees that the user does not even know that your application was suspended and possibly killed
  67. The next thing to investigate is what happens if your application is running and the user jumps to another application.Begin again with the situation where the application is runningThe user does something, for instance click the start button to run another applicationIn this situation, the application will receive a pause event, indicating that the application should stop doing what it is doing. The OS actually suspends the application in this case.If the user comes back to your application it will receive a resume event and can continue runningImportant: While you are suspended you should assume that your process is killed!! (it might not really happen, depending on resources used by your application and the resources needed by the application that is now running)When you enter the pause state, your application should save its state for future useThe paging model of an application can help here, if all your pages are stateless you don’t have to do anything in particularWhen the resume event happens, just go back to that state (could be a page) where you were when you were pausedThis approach guarantees that the user does not even know that your application was suspended and possibly killed
  68. The next thing to investigate is what happens if your application is running and the user jumps to another application.Begin again with the situation where the application is runningThe user does something, for instance click the start button to run another applicationIn this situation, the application will receive a pause event, indicating that the application should stop doing what it is doing. The OS actually suspends the application in this case.If the user comes back to your application it will receive a resume event and can continue runningImportant: While you are suspended you should assume that your process is killed!! (it might not really happen, depending on resources used by your application and the resources needed by the application that is now running)When you enter the pause state, your application should save its state for future useThe paging model of an application can help here, if all your pages are stateless you don’t have to do anything in particularWhen the resume event happens, just go back to that state (could be a page) where you were when you were pausedThis approach guarantees that the user does not even know that your application was suspended and possibly killed
  69. The next thing to investigate is what happens if your application is running and the user jumps to another application.Begin again with the situation where the application is runningThe user does something, for instance click the start button to run another applicationIn this situation, the application will receive a pause event, indicating that the application should stop doing what it is doing. The OS actually suspends the application in this case.If the user comes back to your application it will receive a resume event and can continue runningImportant: While you are suspended you should assume that your process is killed!! (it might not really happen, depending on resources used by your application and the resources needed by the application that is now running)When you enter the pause state, your application should save its state for future useThe paging model of an application can help here, if all your pages are stateless you don’t have to do anything in particularWhen the resume event happens, just go back to that state (could be a page) where you were when you were pausedThis approach guarantees that the user does not even know that your application was suspended and possibly killed
  70. The next thing to investigate is what happens if your application is running and the user jumps to another application.Begin again with the situation where the application is runningThe user does something, for instance click the start button to run another applicationIn this situation, the application will receive a pause event, indicating that the application should stop doing what it is doing. The OS actually suspends the application in this case.If the user comes back to your application it will receive a resume event and can continue runningImportant: While you are suspended you should assume that your process is killed!! (it might not really happen, depending on resources used by your application and the resources needed by the application that is now running)When you enter the pause state, your application should save its state for future useThe paging model of an application can help here, if all your pages are stateless you don’t have to do anything in particularWhen the resume event happens, just go back to that state (could be a page) where you were when you were pausedThis approach guarantees that the user does not even know that your application was suspended and possibly killed
  71. Push notifications are a way to offload background processing from the device into the cloudNo need to use the battery, CPU cycles and memory on the deviceInitiated by the server to enable key background scenariosAKA ‘Smart Multitasking’Users can focus on the foreground application that has as much resources as possible availableYou (as a developer) can notify the user through the server if there is something they should know about or react upon
  72. Push notifications are a way to offload background processing from the device into the cloudNo need to use the battery, CPU cycles and memory on the deviceInitiated by the server to enable key background scenariosAKA ‘Smart Multitasking’Users can focus on the foreground application that has as much resources as possible availableYou (as a developer) can notify the user through the server if there is something they should know about or react upon
  73. Push notifications are a way to offload background processing from the device into the cloudNo need to use the battery, CPU cycles and memory on the deviceInitiated by the server to enable key background scenariosAKA ‘Smart Multitasking’Users can focus on the foreground application that has as much resources as possible availableYou (as a developer) can notify the user through the server if there is something they should know about or react upon
  74. There are three types of push notifications that you can use on a Windows PhoneNotifications that show up when your application is not running:Tile UpdateToast NotificationNotification that show up when your application is running:Possibility to immediately update your UITile UpdateImagine an application that gets photo feeds, for instance from a service like flickr. Currently the tile shows there are 14 pictures available[Animate]Something happens on the backend: new pictures become available. Through push notifications the tile can be updated[Animate]Toast NotificationImagine a weather application. The user has indicated that they want to be informed about weather updates. Currently the user is not using the weather application though.[Animate]You can send a toast to the device. It appears on the screen, regardless of what the user is doing on the device. If the user clicks on the toast, your application will be launched.[Animate]Push Notification while your application is runningInstead of polling for changes, you setup a push notification (meaning your application will wait for something to happen on the backend with no polling necessary). When something happens on the backend, the server will ping your application.[Animate]The application can take immediate action, for instance to display a newly received message to the user.
  75. There are three types of push notifications that you can use on a Windows PhoneNotifications that show up when your application is not running:Tile UpdateToast NotificationNotification that show up when your application is running:Possibility to immediately update your UITile UpdateImagine an application that gets photo feeds, for instance from a service like flickr. Currently the tile shows there are 14 pictures available[Animate]Something happens on the backend: new pictures become available. Through push notifications the tile can be updated[Animate]Toast NotificationImagine a weather application. The user has indicated that they want to be informed about weather updates. Currently the user is not using the weather application though.[Animate]You can send a toast to the device. It appears on the screen, regardless of what the user is doing on the device. If the user clicks on the toast, your application will be launched.[Animate]Push Notification while your application is runningInstead of polling for changes, you setup a push notification (meaning your application will wait for something to happen on the backend with no polling necessary). When something happens on the backend, the server will ping your application.[Animate]The application can take immediate action, for instance to display a newly received message to the user.
  76. There are three types of push notifications that you can use on a Windows PhoneNotifications that show up when your application is not running:Tile UpdateToast NotificationNotification that show up when your application is running:Possibility to immediately update your UITile UpdateImagine an application that gets photo feeds, for instance from a service like flickr. Currently the tile shows there are 14 pictures available[Animate]Something happens on the backend: new pictures become available. Through push notifications the tile can be updated[Animate]Toast NotificationImagine a weather application. The user has indicated that they want to be informed about weather updates. Currently the user is not using the weather application though.[Animate]You can send a toast to the device. It appears on the screen, regardless of what the user is doing on the device. If the user clicks on the toast, your application will be launched.[Animate]Push Notification while your application is runningInstead of polling for changes, you setup a push notification (meaning your application will wait for something to happen on the backend with no polling necessary). When something happens on the backend, the server will ping your application.[Animate]The application can take immediate action, for instance to display a newly received message to the user.
  77. There are three types of push notifications that you can use on a Windows PhoneNotifications that show up when your application is not running:Tile UpdateToast NotificationNotification that show up when your application is running:Possibility to immediately update your UITile UpdateImagine an application that gets photo feeds, for instance from a service like flickr. Currently the tile shows there are 14 pictures available[Animate]Something happens on the backend: new pictures become available. Through push notifications the tile can be updated[Animate]Toast NotificationImagine a weather application. The user has indicated that they want to be informed about weather updates. Currently the user is not using the weather application though.[Animate]You can send a toast to the device. It appears on the screen, regardless of what the user is doing on the device. If the user clicks on the toast, your application will be launched.[Animate]Push Notification while your application is runningInstead of polling for changes, you setup a push notification (meaning your application will wait for something to happen on the backend with no polling necessary). When something happens on the backend, the server will ping your application.[Animate]The application can take immediate action, for instance to display a newly received message to the user.
  78. There are three types of push notifications that you can use on a Windows PhoneNotifications that show up when your application is not running:Tile UpdateToast NotificationNotification that show up when your application is running:Possibility to immediately update your UITile UpdateImagine an application that gets photo feeds, for instance from a service like flickr. Currently the tile shows there are 14 pictures available[Animate]Something happens on the backend: new pictures become available. Through push notifications the tile can be updated[Animate]Toast NotificationImagine a weather application. The user has indicated that they want to be informed about weather updates. Currently the user is not using the weather application though.[Animate]You can send a toast to the device. It appears on the screen, regardless of what the user is doing on the device. If the user clicks on the toast, your application will be launched.[Animate]Push Notification while your application is runningInstead of polling for changes, you setup a push notification (meaning your application will wait for something to happen on the backend with no polling necessary). When something happens on the backend, the server will ping your application.[Animate]The application can take immediate action, for instance to display a newly received message to the user.
  79. There are three types of push notifications that you can use on a Windows PhoneNotifications that show up when your application is not running:Tile UpdateToast NotificationNotification that show up when your application is running:Possibility to immediately update your UITile UpdateImagine an application that gets photo feeds, for instance from a service like flickr. Currently the tile shows there are 14 pictures available[Animate]Something happens on the backend: new pictures become available. Through push notifications the tile can be updated[Animate]Toast NotificationImagine a weather application. The user has indicated that they want to be informed about weather updates. Currently the user is not using the weather application though.[Animate]You can send a toast to the device. It appears on the screen, regardless of what the user is doing on the device. If the user clicks on the toast, your application will be launched.[Animate]Push Notification while your application is runningInstead of polling for changes, you setup a push notification (meaning your application will wait for something to happen on the backend with no polling necessary). When something happens on the backend, the server will ping your application.[Animate]The application can take immediate action, for instance to display a newly received message to the user.
  80. There are three types of push notifications that you can use on a Windows PhoneNotifications that show up when your application is not running:Tile UpdateToast NotificationNotification that show up when your application is running:Possibility to immediately update your UITile UpdateImagine an application that gets photo feeds, for instance from a service like flickr. Currently the tile shows there are 14 pictures available[Animate]Something happens on the backend: new pictures become available. Through push notifications the tile can be updated[Animate]Toast NotificationImagine a weather application. The user has indicated that they want to be informed about weather updates. Currently the user is not using the weather application though.[Animate]You can send a toast to the device. It appears on the screen, regardless of what the user is doing on the device. If the user clicks on the toast, your application will be launched.[Animate]Push Notification while your application is runningInstead of polling for changes, you setup a push notification (meaning your application will wait for something to happen on the backend with no polling necessary). When something happens on the backend, the server will ping your application.[Animate]The application can take immediate action, for instance to display a newly received message to the user.
  81. Explain in a bit of detail how push notifications work (numbers correspond to next animation)Start with your application running on the deviceThe user indicates that they are interested in some notifications that your application can receiveYou are opening a push channel inside your application with the push clientThe push client returns a unique (per device and per application) URI to your applicationThe URI points to some live service hosted by Microsoft, somewhere in the cloudYour application sends that unique URI to your own back end serviceCan use any mechanismCan use any type of authenticationCan use custom protocolsYour service just sits somewhere in the cloud, waiting for something to happenIf something interesting happens ….Your service takes the event data and posts it to the unique URINo magic, just an ordinary http POSTThe Push Service takes the data you gave it and uses the URL to identify the device and the applicationThe data is send to the deviceDepending on the state of the device and the type of notification, the notification willAppear in the application (where you are responsible to display it to the user)Show up as a toast notification (the operating system takes care of this)Update a tile (the operating system takes care of this)
  82. Explain in a bit of detail how push notifications work (numbers correspond to next animation)Start with your application running on the deviceThe user indicates that they are interested in some notifications that your application can receiveYou are opening a push channel inside your application with the push clientThe push client returns a unique (per device and per application) URI to your applicationThe URI points to some live service hosted by Microsoft, somewhere in the cloudYour application sends that unique URI to your own back end serviceCan use any mechanismCan use any type of authenticationCan use custom protocolsYour service just sits somewhere in the cloud, waiting for something to happenIf something interesting happens ….Your service takes the event data and posts it to the unique URINo magic, just an ordinary http POSTThe Push Service takes the data you gave it and uses the URL to identify the device and the applicationThe data is send to the deviceDepending on the state of the device and the type of notification, the notification willAppear in the application (where you are responsible to display it to the user)Show up as a toast notification (the operating system takes care of this)Update a tile (the operating system takes care of this)
  83. Explain in a bit of detail how push notifications work (numbers correspond to next animation)Start with your application running on the deviceThe user indicates that they are interested in some notifications that your application can receiveYou are opening a push channel inside your application with the push clientThe push client returns a unique (per device and per application) URI to your applicationThe URI points to some live service hosted by Microsoft, somewhere in the cloudYour application sends that unique URI to your own back end serviceCan use any mechanismCan use any type of authenticationCan use custom protocolsYour service just sits somewhere in the cloud, waiting for something to happenIf something interesting happens ….Your service takes the event data and posts it to the unique URINo magic, just an ordinary http POSTThe Push Service takes the data you gave it and uses the URL to identify the device and the applicationThe data is send to the deviceDepending on the state of the device and the type of notification, the notification willAppear in the application (where you are responsible to display it to the user)Show up as a toast notification (the operating system takes care of this)Update a tile (the operating system takes care of this)
  84. Explain in a bit of detail how push notifications work (numbers correspond to next animation)Start with your application running on the deviceThe user indicates that they are interested in some notifications that your application can receiveYou are opening a push channel inside your application with the push clientThe push client returns a unique (per device and per application) URI to your applicationThe URI points to some live service hosted by Microsoft, somewhere in the cloudYour application sends that unique URI to your own back end serviceCan use any mechanismCan use any type of authenticationCan use custom protocolsYour service just sits somewhere in the cloud, waiting for something to happenIf something interesting happens ….Your service takes the event data and posts it to the unique URINo magic, just an ordinary http POSTThe Push Service takes the data you gave it and uses the URL to identify the device and the applicationThe data is send to the deviceDepending on the state of the device and the type of notification, the notification willAppear in the application (where you are responsible to display it to the user)Show up as a toast notification (the operating system takes care of this)Update a tile (the operating system takes care of this)
  85. Explain in a bit of detail how push notifications work (numbers correspond to next animation)Start with your application running on the deviceThe user indicates that they are interested in some notifications that your application can receiveYou are opening a push channel inside your application with the push clientThe push client returns a unique (per device and per application) URI to your applicationThe URI points to some live service hosted by Microsoft, somewhere in the cloudYour application sends that unique URI to your own back end serviceCan use any mechanismCan use any type of authenticationCan use custom protocolsYour service just sits somewhere in the cloud, waiting for something to happenIf something interesting happens ….Your service takes the event data and posts it to the unique URINo magic, just an ordinary http POSTThe Push Service takes the data you gave it and uses the URL to identify the device and the applicationThe data is send to the deviceDepending on the state of the device and the type of notification, the notification willAppear in the application (where you are responsible to display it to the user)Show up as a toast notification (the operating system takes care of this)Update a tile (the operating system takes care of this)
  86. Explain in a bit of detail how push notifications work (numbers correspond to next animation)Start with your application running on the deviceThe user indicates that they are interested in some notifications that your application can receiveYou are opening a push channel inside your application with the push clientThe push client returns a unique (per device and per application) URI to your applicationThe URI points to some live service hosted by Microsoft, somewhere in the cloudYour application sends that unique URI to your own back end serviceCan use any mechanismCan use any type of authenticationCan use custom protocolsYour service just sits somewhere in the cloud, waiting for something to happenIf something interesting happens ….Your service takes the event data and posts it to the unique URINo magic, just an ordinary http POSTThe Push Service takes the data you gave it and uses the URL to identify the device and the applicationThe data is send to the deviceDepending on the state of the device and the type of notification, the notification willAppear in the application (where you are responsible to display it to the user)Show up as a toast notification (the operating system takes care of this)Update a tile (the operating system takes care of this)
  87. Explain in a bit of detail how push notifications work (numbers correspond to next animation)Start with your application running on the deviceThe user indicates that they are interested in some notifications that your application can receiveYou are opening a push channel inside your application with the push clientThe push client returns a unique (per device and per application) URI to your applicationThe URI points to some live service hosted by Microsoft, somewhere in the cloudYour application sends that unique URI to your own back end serviceCan use any mechanismCan use any type of authenticationCan use custom protocolsYour service just sits somewhere in the cloud, waiting for something to happenIf something interesting happens ….Your service takes the event data and posts it to the unique URINo magic, just an ordinary http POSTThe Push Service takes the data you gave it and uses the URL to identify the device and the applicationThe data is send to the deviceDepending on the state of the device and the type of notification, the notification willAppear in the application (where you are responsible to display it to the user)Show up as a toast notification (the operating system takes care of this)Update a tile (the operating system takes care of this)
  88. Explain in a bit of detail how push notifications work (numbers correspond to next animation)Start with your application running on the deviceThe user indicates that they are interested in some notifications that your application can receiveYou are opening a push channel inside your application with the push clientThe push client returns a unique (per device and per application) URI to your applicationThe URI points to some live service hosted by Microsoft, somewhere in the cloudYour application sends that unique URI to your own back end serviceCan use any mechanismCan use any type of authenticationCan use custom protocolsYour service just sits somewhere in the cloud, waiting for something to happenIf something interesting happens ….Your service takes the event data and posts it to the unique URINo magic, just an ordinary http POSTThe Push Service takes the data you gave it and uses the URL to identify the device and the applicationThe data is send to the deviceDepending on the state of the device and the type of notification, the notification willAppear in the application (where you are responsible to display it to the user)Show up as a toast notification (the operating system takes care of this)Update a tile (the operating system takes care of this)
  89. Explain in a bit of detail how push notifications work (numbers correspond to next animation)Start with your application running on the deviceThe user indicates that they are interested in some notifications that your application can receiveYou are opening a push channel inside your application with the push clientThe push client returns a unique (per device and per application) URI to your applicationThe URI points to some live service hosted by Microsoft, somewhere in the cloudYour application sends that unique URI to your own back end serviceCan use any mechanismCan use any type of authenticationCan use custom protocolsYour service just sits somewhere in the cloud, waiting for something to happenIf something interesting happens ….Your service takes the event data and posts it to the unique URINo magic, just an ordinary http POSTThe Push Service takes the data you gave it and uses the URL to identify the device and the applicationThe data is send to the deviceDepending on the state of the device and the type of notification, the notification willAppear in the application (where you are responsible to display it to the user)Show up as a toast notification (the operating system takes care of this)Update a tile (the operating system takes care of this)
  90. Explain in a bit of detail how push notifications work (numbers correspond to next animation)Start with your application running on the deviceThe user indicates that they are interested in some notifications that your application can receiveYou are opening a push channel inside your application with the push clientThe push client returns a unique (per device and per application) URI to your applicationThe URI points to some live service hosted by Microsoft, somewhere in the cloudYour application sends that unique URI to your own back end serviceCan use any mechanismCan use any type of authenticationCan use custom protocolsYour service just sits somewhere in the cloud, waiting for something to happenIf something interesting happens ….Your service takes the event data and posts it to the unique URINo magic, just an ordinary http POSTThe Push Service takes the data you gave it and uses the URL to identify the device and the applicationThe data is send to the deviceDepending on the state of the device and the type of notification, the notification willAppear in the application (where you are responsible to display it to the user)Show up as a toast notification (the operating system takes care of this)Update a tile (the operating system takes care of this)
  91. Explain in a bit of detail how push notifications work (numbers correspond to next animation)Start with your application running on the deviceThe user indicates that they are interested in some notifications that your application can receiveYou are opening a push channel inside your application with the push clientThe push client returns a unique (per device and per application) URI to your applicationThe URI points to some live service hosted by Microsoft, somewhere in the cloudYour application sends that unique URI to your own back end serviceCan use any mechanismCan use any type of authenticationCan use custom protocolsYour service just sits somewhere in the cloud, waiting for something to happenIf something interesting happens ….Your service takes the event data and posts it to the unique URINo magic, just an ordinary http POSTThe Push Service takes the data you gave it and uses the URL to identify the device and the applicationThe data is send to the deviceDepending on the state of the device and the type of notification, the notification willAppear in the application (where you are responsible to display it to the user)Show up as a toast notification (the operating system takes care of this)Update a tile (the operating system takes care of this)
  92. Explain in a bit of detail how push notifications work (numbers correspond to next animation)Start with your application running on the deviceThe user indicates that they are interested in some notifications that your application can receiveYou are opening a push channel inside your application with the push clientThe push client returns a unique (per device and per application) URI to your applicationThe URI points to some live service hosted by Microsoft, somewhere in the cloudYour application sends that unique URI to your own back end serviceCan use any mechanismCan use any type of authenticationCan use custom protocolsYour service just sits somewhere in the cloud, waiting for something to happenIf something interesting happens ….Your service takes the event data and posts it to the unique URINo magic, just an ordinary http POSTThe Push Service takes the data you gave it and uses the URL to identify the device and the applicationThe data is send to the deviceDepending on the state of the device and the type of notification, the notification willAppear in the application (where you are responsible to display it to the user)Show up as a toast notification (the operating system takes care of this)Update a tile (the operating system takes care of this)
  93. Explain in a bit of detail how push notifications work (numbers correspond to next animation)Start with your application running on the deviceThe user indicates that they are interested in some notifications that your application can receiveYou are opening a push channel inside your application with the push clientThe push client returns a unique (per device and per application) URI to your applicationThe URI points to some live service hosted by Microsoft, somewhere in the cloudYour application sends that unique URI to your own back end serviceCan use any mechanismCan use any type of authenticationCan use custom protocolsYour service just sits somewhere in the cloud, waiting for something to happenIf something interesting happens ….Your service takes the event data and posts it to the unique URINo magic, just an ordinary http POSTThe Push Service takes the data you gave it and uses the URL to identify the device and the applicationThe data is send to the deviceDepending on the state of the device and the type of notification, the notification willAppear in the application (where you are responsible to display it to the user)Show up as a toast notification (the operating system takes care of this)Update a tile (the operating system takes care of this)
  94. Explain in a bit of detail how push notifications work (numbers correspond to next animation)Start with your application running on the deviceThe user indicates that they are interested in some notifications that your application can receiveYou are opening a push channel inside your application with the push clientThe push client returns a unique (per device and per application) URI to your applicationThe URI points to some live service hosted by Microsoft, somewhere in the cloudYour application sends that unique URI to your own back end serviceCan use any mechanismCan use any type of authenticationCan use custom protocolsYour service just sits somewhere in the cloud, waiting for something to happenIf something interesting happens ….Your service takes the event data and posts it to the unique URINo magic, just an ordinary http POSTThe Push Service takes the data you gave it and uses the URL to identify the device and the applicationThe data is send to the deviceDepending on the state of the device and the type of notification, the notification willAppear in the application (where you are responsible to display it to the user)Show up as a toast notification (the operating system takes care of this)Update a tile (the operating system takes care of this)
  95. Explain in a bit of detail how push notifications work (numbers correspond to next animation)Start with your application running on the deviceThe user indicates that they are interested in some notifications that your application can receiveYou are opening a push channel inside your application with the push clientThe push client returns a unique (per device and per application) URI to your applicationThe URI points to some live service hosted by Microsoft, somewhere in the cloudYour application sends that unique URI to your own back end serviceCan use any mechanismCan use any type of authenticationCan use custom protocolsYour service just sits somewhere in the cloud, waiting for something to happenIf something interesting happens ….Your service takes the event data and posts it to the unique URINo magic, just an ordinary http POSTThe Push Service takes the data you gave it and uses the URL to identify the device and the applicationThe data is send to the deviceDepending on the state of the device and the type of notification, the notification willAppear in the application (where you are responsible to display it to the user)Show up as a toast notification (the operating system takes care of this)Update a tile (the operating system takes care of this)
  96. Explain in a bit of detail how push notifications work (numbers correspond to next animation)Start with your application running on the deviceThe user indicates that they are interested in some notifications that your application can receiveYou are opening a push channel inside your application with the push clientThe push client returns a unique (per device and per application) URI to your applicationThe URI points to some live service hosted by Microsoft, somewhere in the cloudYour application sends that unique URI to your own back end serviceCan use any mechanismCan use any type of authenticationCan use custom protocolsYour service just sits somewhere in the cloud, waiting for something to happenIf something interesting happens ….Your service takes the event data and posts it to the unique URINo magic, just an ordinary http POSTThe Push Service takes the data you gave it and uses the URL to identify the device and the applicationThe data is send to the deviceDepending on the state of the device and the type of notification, the notification willAppear in the application (where you are responsible to display it to the user)Show up as a toast notification (the operating system takes care of this)Update a tile (the operating system takes care of this)
  97. Explain in a bit of detail how push notifications work (numbers correspond to next animation)Start with your application running on the deviceThe user indicates that they are interested in some notifications that your application can receiveYou are opening a push channel inside your application with the push clientThe push client returns a unique (per device and per application) URI to your applicationThe URI points to some live service hosted by Microsoft, somewhere in the cloudYour application sends that unique URI to your own back end serviceCan use any mechanismCan use any type of authenticationCan use custom protocolsYour service just sits somewhere in the cloud, waiting for something to happenIf something interesting happens ….Your service takes the event data and posts it to the unique URINo magic, just an ordinary http POSTThe Push Service takes the data you gave it and uses the URL to identify the device and the applicationThe data is send to the deviceDepending on the state of the device and the type of notification, the notification willAppear in the application (where you are responsible to display it to the user)Show up as a toast notification (the operating system takes care of this)Update a tile (the operating system takes care of this)
  98. Location services are currently not supported on the emulator (there is not something like FakeGPS), but you can use a mock to ‘pretend receiving’ location dataLocation services combine smart software on the device with a backend service to balance accuracy of location with time / power it takes to get the locationFor some applications location down to city or zip code level is sufficientOther applications need read accurate location information up to a few yardsThe different location requirements can be specified, using a location API that is not only available on the phone, but also on the desktop (Windows 7, .NET Framework 4.0)
  99. Location services are currently not supported on the emulator (there is not something like FakeGPS), but you can use a mock to ‘pretend receiving’ location dataLocation services combine smart software on the device with a backend service to balance accuracy of location with time / power it takes to get the locationFor some applications location down to city or zip code level is sufficientOther applications need read accurate location information up to a few yardsThe different location requirements can be specified, using a location API that is not only available on the phone, but also on the desktop (Windows 7, .NET Framework 4.0)
  100. Location services are currently not supported on the emulator (there is not something like FakeGPS), but you can use a mock to ‘pretend receiving’ location dataLocation services combine smart software on the device with a backend service to balance accuracy of location with time / power it takes to get the locationFor some applications location down to city or zip code level is sufficientOther applications need read accurate location information up to a few yardsThe different location requirements can be specified, using a location API that is not only available on the phone, but also on the desktop (Windows 7, .NET Framework 4.0)
  101. There are three different ways to retrieve location on the phone:GPSLocation information very accurateRadio drains significant powerInitial reading slow (especially if the device has been moved over a long distance without GPX fixes)Does not work indoorsCell Tower LookupNot that accurate (depends on the distance between cell towers)No additional power requirements (assuming the phone radio is switched on already)Fast location retrieval (if the phone radio is switched on, you are already connected to tower(s))No 100% coverageWiFi LookupIn between GPS and Cell Tower in both accuracy, speed and battery consumptionWorks pretty good in larger citiesIndependent of physical location retrieval, one consistent API is used inside your application.The cloud can help getting more accurate location readings, based on other people having been at the same location (without the need for enabling GPS on a particular, individual device)Location services do not only retrieve Lat/Long readings, but can also resolve address information through reverse geocoding services.
  102. There are three different ways to retrieve location on the phone:GPSLocation information very accurateRadio drains significant powerInitial reading slow (especially if the device has been moved over a long distance without GPX fixes)Does not work indoorsCell Tower LookupNot that accurate (depends on the distance between cell towers)No additional power requirements (assuming the phone radio is switched on already)Fast location retrieval (if the phone radio is switched on, you are already connected to tower(s))No 100% coverageWiFi LookupIn between GPS and Cell Tower in both accuracy, speed and battery consumptionWorks pretty good in larger citiesIndependent of physical location retrieval, one consistent API is used inside your application.The cloud can help getting more accurate location readings, based on other people having been at the same location (without the need for enabling GPS on a particular, individual device)Location services do not only retrieve Lat/Long readings, but can also resolve address information through reverse geocoding services.
  103. There are three different ways to retrieve location on the phone:GPSLocation information very accurateRadio drains significant powerInitial reading slow (especially if the device has been moved over a long distance without GPX fixes)Does not work indoorsCell Tower LookupNot that accurate (depends on the distance between cell towers)No additional power requirements (assuming the phone radio is switched on already)Fast location retrieval (if the phone radio is switched on, you are already connected to tower(s))No 100% coverageWiFi LookupIn between GPS and Cell Tower in both accuracy, speed and battery consumptionWorks pretty good in larger citiesIndependent of physical location retrieval, one consistent API is used inside your application.The cloud can help getting more accurate location readings, based on other people having been at the same location (without the need for enabling GPS on a particular, individual device)Location services do not only retrieve Lat/Long readings, but can also resolve address information through reverse geocoding services.
  104. There are three different ways to retrieve location on the phone:GPSLocation information very accurateRadio drains significant powerInitial reading slow (especially if the device has been moved over a long distance without GPX fixes)Does not work indoorsCell Tower LookupNot that accurate (depends on the distance between cell towers)No additional power requirements (assuming the phone radio is switched on already)Fast location retrieval (if the phone radio is switched on, you are already connected to tower(s))No 100% coverageWiFi LookupIn between GPS and Cell Tower in both accuracy, speed and battery consumptionWorks pretty good in larger citiesIndependent of physical location retrieval, one consistent API is used inside your application.The cloud can help getting more accurate location readings, based on other people having been at the same location (without the need for enabling GPS on a particular, individual device)Location services do not only retrieve Lat/Long readings, but can also resolve address information through reverse geocoding services.
  105. There are three different ways to retrieve location on the phone:GPSLocation information very accurateRadio drains significant powerInitial reading slow (especially if the device has been moved over a long distance without GPX fixes)Does not work indoorsCell Tower LookupNot that accurate (depends on the distance between cell towers)No additional power requirements (assuming the phone radio is switched on already)Fast location retrieval (if the phone radio is switched on, you are already connected to tower(s))No 100% coverageWiFi LookupIn between GPS and Cell Tower in both accuracy, speed and battery consumptionWorks pretty good in larger citiesIndependent of physical location retrieval, one consistent API is used inside your application.The cloud can help getting more accurate location readings, based on other people having been at the same location (without the need for enabling GPS on a particular, individual device)Location services do not only retrieve Lat/Long readings, but can also resolve address information through reverse geocoding services.
  106. There are three different ways to retrieve location on the phone:GPSLocation information very accurateRadio drains significant powerInitial reading slow (especially if the device has been moved over a long distance without GPX fixes)Does not work indoorsCell Tower LookupNot that accurate (depends on the distance between cell towers)No additional power requirements (assuming the phone radio is switched on already)Fast location retrieval (if the phone radio is switched on, you are already connected to tower(s))No 100% coverageWiFi LookupIn between GPS and Cell Tower in both accuracy, speed and battery consumptionWorks pretty good in larger citiesIndependent of physical location retrieval, one consistent API is used inside your application.The cloud can help getting more accurate location readings, based on other people having been at the same location (without the need for enabling GPS on a particular, individual device)Location services do not only retrieve Lat/Long readings, but can also resolve address information through reverse geocoding services.
  107. There are three different ways to retrieve location on the phone:GPSLocation information very accurateRadio drains significant powerInitial reading slow (especially if the device has been moved over a long distance without GPX fixes)Does not work indoorsCell Tower LookupNot that accurate (depends on the distance between cell towers)No additional power requirements (assuming the phone radio is switched on already)Fast location retrieval (if the phone radio is switched on, you are already connected to tower(s))No 100% coverageWiFi LookupIn between GPS and Cell Tower in both accuracy, speed and battery consumptionWorks pretty good in larger citiesIndependent of physical location retrieval, one consistent API is used inside your application.The cloud can help getting more accurate location readings, based on other people having been at the same location (without the need for enabling GPS on a particular, individual device)Location services do not only retrieve Lat/Long readings, but can also resolve address information through reverse geocoding services.
  108. There are three different ways to retrieve location on the phone:GPSLocation information very accurateRadio drains significant powerInitial reading slow (especially if the device has been moved over a long distance without GPX fixes)Does not work indoorsCell Tower LookupNot that accurate (depends on the distance between cell towers)No additional power requirements (assuming the phone radio is switched on already)Fast location retrieval (if the phone radio is switched on, you are already connected to tower(s))No 100% coverageWiFi LookupIn between GPS and Cell Tower in both accuracy, speed and battery consumptionWorks pretty good in larger citiesIndependent of physical location retrieval, one consistent API is used inside your application.The cloud can help getting more accurate location readings, based on other people having been at the same location (without the need for enabling GPS on a particular, individual device)Location services do not only retrieve Lat/Long readings, but can also resolve address information through reverse geocoding services.
  109. There are three different ways to retrieve location on the phone:GPSLocation information very accurateRadio drains significant powerInitial reading slow (especially if the device has been moved over a long distance without GPX fixes)Does not work indoorsCell Tower LookupNot that accurate (depends on the distance between cell towers)No additional power requirements (assuming the phone radio is switched on already)Fast location retrieval (if the phone radio is switched on, you are already connected to tower(s))No 100% coverageWiFi LookupIn between GPS and Cell Tower in both accuracy, speed and battery consumptionWorks pretty good in larger citiesIndependent of physical location retrieval, one consistent API is used inside your application.The cloud can help getting more accurate location readings, based on other people having been at the same location (without the need for enabling GPS on a particular, individual device)Location services do not only retrieve Lat/Long readings, but can also resolve address information through reverse geocoding services.
  110. There are three different ways to retrieve location on the phone:GPSLocation information very accurateRadio drains significant powerInitial reading slow (especially if the device has been moved over a long distance without GPX fixes)Does not work indoorsCell Tower LookupNot that accurate (depends on the distance between cell towers)No additional power requirements (assuming the phone radio is switched on already)Fast location retrieval (if the phone radio is switched on, you are already connected to tower(s))No 100% coverageWiFi LookupIn between GPS and Cell Tower in both accuracy, speed and battery consumptionWorks pretty good in larger citiesIndependent of physical location retrieval, one consistent API is used inside your application.The cloud can help getting more accurate location readings, based on other people having been at the same location (without the need for enabling GPS on a particular, individual device)Location services do not only retrieve Lat/Long readings, but can also resolve address information through reverse geocoding services.
  111. There are three different ways to retrieve location on the phone:GPSLocation information very accurateRadio drains significant powerInitial reading slow (especially if the device has been moved over a long distance without GPX fixes)Does not work indoorsCell Tower LookupNot that accurate (depends on the distance between cell towers)No additional power requirements (assuming the phone radio is switched on already)Fast location retrieval (if the phone radio is switched on, you are already connected to tower(s))No 100% coverageWiFi LookupIn between GPS and Cell Tower in both accuracy, speed and battery consumptionWorks pretty good in larger citiesIndependent of physical location retrieval, one consistent API is used inside your application.The cloud can help getting more accurate location readings, based on other people having been at the same location (without the need for enabling GPS on a particular, individual device)Location services do not only retrieve Lat/Long readings, but can also resolve address information through reverse geocoding services.
  112. There are three different ways to retrieve location on the phone:GPSLocation information very accurateRadio drains significant powerInitial reading slow (especially if the device has been moved over a long distance without GPX fixes)Does not work indoorsCell Tower LookupNot that accurate (depends on the distance between cell towers)No additional power requirements (assuming the phone radio is switched on already)Fast location retrieval (if the phone radio is switched on, you are already connected to tower(s))No 100% coverageWiFi LookupIn between GPS and Cell Tower in both accuracy, speed and battery consumptionWorks pretty good in larger citiesIndependent of physical location retrieval, one consistent API is used inside your application.The cloud can help getting more accurate location readings, based on other people having been at the same location (without the need for enabling GPS on a particular, individual device)Location services do not only retrieve Lat/Long readings, but can also resolve address information through reverse geocoding services.