Application Foundation Thomas Fennel Senior Program Manager Lead 2204 App Lifecycle Performance Multitasking Phone Integration Enterprise Agenda slide Application Lifecycle Application Lifecycle Launching amp Closing ID: 256162
Download Presentation The PPT/PDF document "Windows Phone 8" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1Slide2
Windows Phone 8Application Foundation
Thomas Fennel
Senior Program Manager Lead
2-204Slide3
App LifecyclePerformanceMultitasking
Phone Integration
Enterprise
Agenda slideSlide4
Application LifecycleSlide5
Application Lifecycle – Launching & Closing
n
ot running
closing
r
unning
Launching
Running in
Background
l
aunching
Launching
C
losingSlide6
Application Lifecycle – Activated & Deactivated
running
deactivated
suspended
activated
tombstoned
Activated
DeactivatedSlide7
Application Lifecycle Events
PhoneApplicationService
Launching
Activated
Deactivated
ClosingSlide8
Application Lifecycle DemoSlide9
PerformanceSlide10
Application Performance
Startup is
the
chance to lose users
We invested
heavily in startup time for Windows Phone 8
Facebook app reduced from 12 seconds to 4 seconds
Why?
Execution environment improvements
Compile in the cloud
Core CLR improvements
No work from developers – free (as in beer)!Slide11
Compile in the cloud
Moving to
CoreCLR
brings Native Image Generator (NGEN)
Code generation is expensive
and time consuming on device
Compile in the cloud NGEN’s your code when you submit
Submit your XAP to marketplace just as you
always have
Code in XAP is
NGEN’d
and the XAP updated with compiled code
What about my existing app?
7.1/7.8 apps are NGEN’d so Windows Phone 8 gets compiled versionOriginal 7.1 apps is kept for download to 7.1 devicesSlide12
Performance is as much an art as it is a science
Users care about perceived performance not benchmarks
Key Performance Indicators
How
often you use the app really impacts your feel for performance
4 seconds is still too long for the app you use all the time
Perception
is impacted by context switching
Even if your app starts super fast if the user has to remember where they were it slows them downSlide13
Resuming applications
In 7.5 we allowed apps to be in a suspended state
This is great but…
Only
get the benefit if you tap back or use the task switcher we resumed the apps
Task
switcher isn’t a feature that every user will
useSlide14
MultitaskingSlide15
Multitasking on Windows Phone
Windows Phone 7
Tombstoning
Run Under Lock
Notifications
Windows Phone 7.5
Fast App Switching
Background Audio Playback
Generic Background Agents
Windows Phone 8
VoIP
Continuous Background Execution
Fast App Resume
Evolution of MultitaskingSlide16
What
is
Fast App Resume?Slide17
Fast App Resume
UX
Resume previous experience for Primary tile
when previously launched via Primary tile
Start fresh for Deep Links
when previously launched via Primary tile or a different Deep Link
Don’t block
OnBackKeyPress
this is how users close your appSlide18
Fast App Resume
Basics
“Replace” is the default activation policy
Opt-in to “Resume" via manifest setting
<
DefaultTask
Name
=
"
_default
"
NavigationPage="
MainPage.xaml"
ActivationPolicy="Resume"
/>Apps are still suspended or tombstoned Slide19
Fast App Resume In The Real WorldSlide20
Backstack
– Do nothingSlide21
Backstack
– Clear page stackSlide22
Reset: Clear the page stack
Backstack
– Clear page stackSlide23
Backstack
- Cancel navigationSlide24
Reset: Cancel navigation
Backstack
- Cancel navigationSlide25
Fast App Resume Code DemoSlide26
Fast Resume Takeaway
Main
Tile:
Resume!
Deep
Links:
Clear the back stack
OnBackKeyPress
:
Do not block
Test
relaunch
:
between primary tile and deep linksDon’t forget Tombstoning!Slide27
Integrating with Windows PhoneSlide28
App Launching with URI and File Association
URI Association
First introduced @ PDC 1996 (the PDC with Steve Jobs!)
Ability to register a custom URIs for your app
skype:Call?UserID
=
thomasfennel
– starts a conversation with
me in Skype
fb:Profile?UserName
=
thomasfennel
– brings up my profile in FacebookAllows for browser integrationAllows for rich integration between apps
File Association
Register your own file typeGo to Sean McKenna’s Session (2-212) Friday @ 2PMSlide29
Uri Associations…
fandango:ShowTheater?ID
=RegalIssaquah9Slide30
Tile Templates and Tile Sizes
Windows Phone 8 supports three Tile templates
Flip – flips from front to back
(
similar to the WP 7.1 Tile template)
Iconic
– clean iconic layout designed to reflect Windows Phone design principles
Cycle
– cycles through up to nine images
30Slide31
Your app can show detailed status on the lock screen
Your app can show quick status (icon and count)
Your app can update the background image
Lock Screen on Windows Phone 8Slide32
Lock: dynamic wallpapers – how it works
Activate via
Lock+Wallpaper
CPL or within app
Update the wallpaper
When
the app is running
Using
a background agent
New
WinRT
APIs
Go to
my session (2-206) Thursday
@ 11.30AMSlide33
EnterpriseSlide34
Enterprise
Device management
Enroll device with management server (
inTune
etc
)
Set policies to be applied and updated
Automatically keep apps updated
App deployment
No need to deploy apps into Windows Phone Store
Deploy using the technology that makes sense for your companyApps signed by you are deployable via web, email or
appSlide35
Why Enterprise deployment matters to you
Flexible deployment allows for considerable benefits
Testing apps
Uses company hub to distribute latest builds of your app to you testers
Beta apps in the marketplace work great but not suited to daily builds
Email & SD card deployment allow for
simplicity
With great power comes great responsibility…Slide36
Summary
Significant application runtime improvements
Fast App Resume helps every app
– go do it!
Multitasking improvements enable key new app experiences
Live Tiles provide significant user experience advances
Lockscreen
and notifications allows you to build deeper integration
Enterprise deployment allows for considerable flexibilitySlide37
Wednesday
Thursday
Friday
09:00
Keynote
Keynote
PH 2-222
WP
Networking
Peter Torr
North 134
09:30
10:00
10:30
PH 2-211
Using Native in your apps
Tim Laverty
South 102
PH 2-216
WP
Dev
Best Practices
Stefan Wick
North 134
11:00
11:30
PH 2-201
Intro
to WP
Dev
Sam George
North 134
PH 2-202
WP
Design for
Dev
Corrina Black
North 135
PH 2-206
WP Tiles, Lock, Notifications
Thomas Fennel
North 134
12:00
PH 2-205
WP: MVVM in Practice
Matthias Shapiro
North 134
12:30
13:00
13:30
14:00
PH 2-204
WP App Foundation
Thomas Fennel
North 134
PH 2-215
Build
for Both Win 8 and WP8
Matt Hidinger
North 134
PH 2-212
WP Cross App
Comms
Sean McKenna
South 222
PH
2-220
WP Map Apps
Mike O’Malley
North 134
14:30
15:00
15:30
PH 2-210
WP Camera app
Berthier
Lemieux
North 134
PH 2-213
Maximize Revenue
Bernardo Zamora
North 135
PH 2-219
Story of Nokia Music from WP to Win 8
Matthew Cooper
North 134
16:00
16:30
17:00
PH 2-207
WP
Game Basics
Joao Raza
South 304
PH 2-208
WP UI in XAML
Shawn Oster
North 134
PH 2-208
WP Middleware
JC Cimetiere
North 132
PH 2-221
WP
Low Memory
Andrew Whitechapel
North 135
PH 2-218
WP Contest Panel
Panel
North 123
17:30Slide38
Developer resources
MSDN DOCS
Design
http://aka.ms/wp8devdesign
Develop
http://aka.ms/wp8devdoc
Test
http://aka.ms/wp8testing
Publish
http://aka.ms/wp8publishing
Samples
http://aka.ms/wp8samples
TRAINING CONTENT
Absolute Beginners
http://wpdev.ms/beginvids
Jump Starthttp://aka.ms/wp8js
Design Boot Camphttp://aka.ms/wp8designbootcampTraining Kit
http://aka.ms/wp8hol
NEWS & UPDATES
Portal
http://dev.windowsphone.com
Blog
http://wpdev.ms/developerblog
Channel 9
http://wpdev.ms/insidewp
Twitter
http:/twitter.com/wpdevSlide39
Please fill out an evaluation form – it’s the only way we know how we’re doing!Slide40
Evaluate this session
Scan this QR code
to evaluate this session and be automatically entered in a
drawing
to
win
a
prize!
Required Slide
*delete this box when your slide is finalized
Your MS Tag will be inserted here during the final scrub. Slide41