SlideShare a Scribd company logo
What's new in WP8
Andrea Boschin – Most Valuable Professional (XAML)
Windows Phone 8 overview
 meet new aspects of Windows Phone
8
 be in touch with changes from 7.x
 explore new features
Talk goals
 what about old apps?
 the 120000 apps in the store still works!
 "quirks mode" ensure 100% compatibility
 do i need to recompile?
 existing apps works without any action
 conversion requires to re-compile
 after conversion "quirk mode" is not available anymore
 be careful of breaking changes
 http://msdn.microsoft.com/en-
us/library/windowsphone/develop/jj206947(v=vs.105).aspx
 pay attention to multi-core environments when moving
from 7 to 8
 wp7 does not requires attention but wp8 does.
legacy apps compatibility
 business apps means:
 publish to a private set of users
 full control over deployment
 protect intellectual property
 Windows Phone 7.x
 business scenario is almost impossible
 Windows Phone 8.0
 business scenario is fully supported!
business scenario
 how to?
 register a Microsoft account (company-only)
 buy a Symantec certificate (299$ approx)
 generate an Application Token (.aetx)
 distribute token to devices
 sign the apps with the token
 then
 only token-enabled devices run the signed apps
 side-loading is enabled without MS Company Store
 also
 create your own company-hub to manage content and apps from a single point.
business scenario
 windows phone 7.x
 based on windows ce kernel
 completely distinct platform from desktop
o.s.
 windows phone 8
 based on common windows 8 architecture
 shares a common kernel with pcs and
tablets
architecture
 what's does it mean?
 low level functions & driver model
 shared between win8 and wp8
 shared api
 about 2800 member over 11000 in w8
 600 additional members for wp8
shared kernel
 what's the problem?
 precompilation takes long time
 on mobile these waiting are awful
 recap: wp7 application startup is really slow
 JIT: how do it works?
 members are compiled before the use
 when application is closed precompilation is discarted
 how can we do?
 NGEN assemblies before download?
 precompilation when download happens, is too slow
 what wp8 does?
 compile in the cloud!
 assemblies are pre-compiled before the download
 a mdil file is prepared
 MDIL = machine dependent intermediale language
 it is something like a template with holes to fill
 after download, mdil is converted to ngen
 holes are filled. now it runs natively!
compilation model
 why coding native?
 reusability
 use of existing code you don't want to write again
 portability
 use code in different platforms
 skills
 use existing skills in C++
 performances
 the last of the problems... often not a good reason
native C++ code
 how-to
 create a WinRT component
 All your code is wrapped into the component
 write code using specific conventions
 classes must be "ref" and "sealed"
 use compatible WinRT types
 reference component by a C# project
 fully native apps does not exists!
 use the classes in the component from C#
 all the magic is made by the WinRT projection layer
native C++ code
 Windows Phone 7.x
 only 480 x 800 resolution allowed
 Windows Phone 8.0
 supports different sizes and resolutions
 virtually you work always with 480x800 (or 853)
multiple screen resolutions
WVGA 720p WXGA
true resolution 480x800 720x1280 768x1280
virtual resolution 480x800 480x853 480x800
aspect ratio 15:9 16:9 15:9
platform Windows
Phone 7.x/8.0
Windows Phone
8.0
Windows Phone
8.0
scale 100 150 160
var width = Application.Current.Host.Content.ActualWidth;
var height = Application.Current.Host.Content.ActualHeight;
multiple screen resolutions
 multiple sizes = much more attention
 always pretend screen = 480 x 800
 draw apps without size constraints
 avoid absolute positioning
 prefer "vector" to "raster"
 provide large images or different scales
 large images are scaled gracefully
 with different scales: choose the better size
 you can also:
 disable specific resolution in manifest
 this means to forget a particular segment of the market
 Windows Phone 7.x
 G&L is made by tricks
 Windows Phone 8.0
 easy & effective
 project automatically prepared for G&L
 localization works by Binding to resx
 support for multiple languages
 problems
 ApplicationBar still doesn't support Binding 
 AppTitle localization requires Win32 resources
globalization & localization
 new concept of Contact Store
 every app has its own store
 can add and remove contacts silently
 can prevent deletion from the its store
 when uninstalled, contact store goes away
 Notes
 a contact store is an isolated sandbox
 similar contacts in different stores are merged
 Security
 guaranteed by Windows Store Certification
 if check fails, you can simply delete the app...
contact stores
 tiles
 3 formats available to developers
 small: 159x159
 medium: 336x336
 wide: 691x336
 small & medium are required!
 new Templates
 TemplateFlip
 front & rear predefined content
 TemplateCycle
 up to 9 rolling tiles
 TemplateIconic
 automatically reflects WP design guidelines
 also supported in 7.8
 manually via reflection
 with Mangopollo project on codeplex
http://mangopollo.codeplex.com/
tiles & lock screen
 Iconic template: 110x110 & 220x220
tiles & lock screen
 lock screen
 when enabled reflects content from
tile
 User must enable app to lock screen
 settings can be launched with a
protocol
 LockScreenManager
 allow request authorization directly
tiles & lock screen
private async void OpenLockScreenSettings(object sender, RoutedEventArgs e)
{
await Windows.System.Launcher.LaunchUriAsync(
new Uri("ms-settings-lock:"));
}
 protocol association
 a protocol is registered (ex: myapp://)
 if someone launch the protocol the app in called
 the app receives the full uri
 parameters are passed in the uri
 file type association
 a file extension is registered (ex: *.myapp)
 when a file type is opened the app is called
 the app receives a reference to the file
 modification the original file require a copy.
 other info
 system protocol and types cannot be overriden (es: mp3, etc...)
 multiple association are allowed. the choice is up to the user.
 a file type supports an icon (3 sizes)
 to launch an association
 LaunchUriAsync  Protocols
 LaunchFileAsync  File Types
protocol & file association
 near field communication
 limited to short range (3-5 cm)
 supports
 custom string or binary messages
 via publish-subscribe
 use of known protocols
 launch apps by id or protocol association
 launch an url in the browser
 initiator for launching sockets
 bluetooh or wi-fi (developer choice)
 read or write tags
 write is limited
 api allows to
 set capability and requirements for app
 check if NFC is supported/enabled
bluetooth & NFC
 bluetooth
 Windows Phone 7.x
 bluetooth is supported
 no developer APIs
 Windows Phone 8.0
 bluetooth is extended (no HID profile)
 developer APIs are provided
 scenarios
 Phone to Device
 socket based
 pick one of paired devices
 your app is client to the device
 Phone to Phone
 socket based
 search for another instance of your app to pair
 your app is client & server
 Windows 8 to Windows Phone 8 is allowed
bluetooth & NFC
 text to speech
 supports different language inflections
 supports SSML (Speech Synth Markup
Language)
 speech to text
 supported two modes
 SpeechRecognizerUI uses default UI
 SpeechRecognizer allow speech recognition without UI
 allowed to use preloaded grammar to improve
recognition
 result
speech
SpeechSynthesizer tts = new SpeechSynthesizer();
await tts.SpeakTextAsync("Please hold on!");
 predefined sequences that matches an
action
start music player and play latin songs
and play latin songs
 result
 app music player is started
 app get "PlaySongs" command with 'latin' argument
voice commands
starts the app
optional
command command
dynamic
discarted argument
voice commands
<VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.0">
<CommandSet xml:lang="en-US" Name="DefaultCommandSetEnglish">
<CommandPrefix>Music Player</CommandPrefix>
<Example>play some songs</Example>
<Command Name="PlaySongs">
<Example>play random songs</Example>
<ListenFor>[and] play {genre} songs</ListenFor>
<ListenFor>[and] play [some] songs</ListenFor>
<ListenFor>[and] play {mode} songs</ListenFor>
<Feedback>Playing music...</Feedback>
<Navigate Target="MusicPlayer.xaml" />
</Command>
<PhraseList Label="genre">
<Item>rock</Item>
<Item>latin</Item>
<Item>classic</Item>
<Item>funky</Item>
<Item>jazz</Item>
</PhraseList>
<PhraseList Label="mode">
<Item>all</Item>
<Item>random</Item>
<Item>favorite</Item>
</PhraseList>
</CommandSet>
</VoiceCommands>
feedback
10
o feedback su:
• http://xedotnet.org/feedback
• codice feedback:
• email: andrea@boschin.it
• twitter: @aboschin
• facebook:
https://www.facebook.com/thelittlegrove
• gamertag: codeblock68
feedback

More Related Content

What's hot

An overview of the Windows Phone 7 platform
An overview of the Windows Phone 7 platformAn overview of the Windows Phone 7 platform
An overview of the Windows Phone 7 platform
Jonas Follesø
 
ID E's features
ID E's featuresID E's features
ID E's features
wajahat Gul
 
Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)
Mikkel Flindt Heisterberg
 
follow-app BOOTCAMP 2: Building windows phone applications with visual studio...
follow-app BOOTCAMP 2: Building windows phone applications with visual studio...follow-app BOOTCAMP 2: Building windows phone applications with visual studio...
follow-app BOOTCAMP 2: Building windows phone applications with visual studio...QIRIS
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium Tutorial
Kevin Whinnery
 
Five Steps to Add AppUp .NET SDK to Microsoft Visual Studio
Five Steps to Add AppUp .NET SDK to Microsoft Visual StudioFive Steps to Add AppUp .NET SDK to Microsoft Visual Studio
Five Steps to Add AppUp .NET SDK to Microsoft Visual Studioreadwritehack
 
QBS Visual Studio 2012 and modern windows apps
QBS Visual Studio 2012 and modern windows appsQBS Visual Studio 2012 and modern windows apps
QBS Visual Studio 2012 and modern windows apps
Lee Stott
 
Construindo Universal apps para Windows e Windows Phone
Construindo Universal apps para Windows e Windows PhoneConstruindo Universal apps para Windows e Windows Phone
Construindo Universal apps para Windows e Windows Phone
Caio Chaves Garcez
 
Windows Mobile 6.5 Overview
Windows Mobile 6.5 OverviewWindows Mobile 6.5 Overview
Windows Mobile 6.5 Overview
goodfriday
 
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...
DataArt
 
Flutter technology Based on Web Development
Flutter technology Based on Web Development Flutter technology Based on Web Development
Flutter technology Based on Web Development
divyawani2
 
Android software development – the first few hours
Android software development – the first few hoursAndroid software development – the first few hours
Android software development – the first few hours
sjmarsh
 
Building apps for multiple devices
Building apps for multiple devicesBuilding apps for multiple devices
Building apps for multiple devices
Terry Ryan
 
Role of java in android app development
Role of java in android app developmentRole of java in android app development
Role of java in android app development
Rahul Rana
 
DSDP Mobile Tools for Java Webinar
DSDP Mobile Tools for Java WebinarDSDP Mobile Tools for Java Webinar
DSDP Mobile Tools for Java Webinar
gustavoeliano
 
Android class provider in mumbai
Android class provider in mumbaiAndroid class provider in mumbai
Android class provider in mumbai
Vibrant Technologies & Computers
 
Desarrollo AIR Mobile
Desarrollo AIR MobileDesarrollo AIR Mobile
Desarrollo AIR Mobile
Saúl Buentello
 
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Ryan Baxter
 
Windows phone 8 session 2
Windows phone 8 session 2Windows phone 8 session 2
Windows phone 8 session 2hitesh chothani
 
Android deep dive
Android deep diveAndroid deep dive
Android deep dive
AnuSahniNCI
 

What's hot (20)

An overview of the Windows Phone 7 platform
An overview of the Windows Phone 7 platformAn overview of the Windows Phone 7 platform
An overview of the Windows Phone 7 platform
 
ID E's features
ID E's featuresID E's features
ID E's features
 
Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)Plug yourself in and your app will never be the same (2 hour edition)
Plug yourself in and your app will never be the same (2 hour edition)
 
follow-app BOOTCAMP 2: Building windows phone applications with visual studio...
follow-app BOOTCAMP 2: Building windows phone applications with visual studio...follow-app BOOTCAMP 2: Building windows phone applications with visual studio...
follow-app BOOTCAMP 2: Building windows phone applications with visual studio...
 
OSCON Titanium Tutorial
OSCON Titanium TutorialOSCON Titanium Tutorial
OSCON Titanium Tutorial
 
Five Steps to Add AppUp .NET SDK to Microsoft Visual Studio
Five Steps to Add AppUp .NET SDK to Microsoft Visual StudioFive Steps to Add AppUp .NET SDK to Microsoft Visual Studio
Five Steps to Add AppUp .NET SDK to Microsoft Visual Studio
 
QBS Visual Studio 2012 and modern windows apps
QBS Visual Studio 2012 and modern windows appsQBS Visual Studio 2012 and modern windows apps
QBS Visual Studio 2012 and modern windows apps
 
Construindo Universal apps para Windows e Windows Phone
Construindo Universal apps para Windows e Windows PhoneConstruindo Universal apps para Windows e Windows Phone
Construindo Universal apps para Windows e Windows Phone
 
Windows Mobile 6.5 Overview
Windows Mobile 6.5 OverviewWindows Mobile 6.5 Overview
Windows Mobile 6.5 Overview
 
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...
Маргарита Остапчук (Microsoft Украина) «Разработка на универсальной платформе...
 
Flutter technology Based on Web Development
Flutter technology Based on Web Development Flutter technology Based on Web Development
Flutter technology Based on Web Development
 
Android software development – the first few hours
Android software development – the first few hoursAndroid software development – the first few hours
Android software development – the first few hours
 
Building apps for multiple devices
Building apps for multiple devicesBuilding apps for multiple devices
Building apps for multiple devices
 
Role of java in android app development
Role of java in android app developmentRole of java in android app development
Role of java in android app development
 
DSDP Mobile Tools for Java Webinar
DSDP Mobile Tools for Java WebinarDSDP Mobile Tools for Java Webinar
DSDP Mobile Tools for Java Webinar
 
Android class provider in mumbai
Android class provider in mumbaiAndroid class provider in mumbai
Android class provider in mumbai
 
Desarrollo AIR Mobile
Desarrollo AIR MobileDesarrollo AIR Mobile
Desarrollo AIR Mobile
 
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...Lotusphere 2011  Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
Lotusphere 2011 Jmp103 - Jumpstart Your "Jedi Plug-in Development Skills" wi...
 
Windows phone 8 session 2
Windows phone 8 session 2Windows phone 8 session 2
Windows phone 8 session 2
 
Android deep dive
Android deep diveAndroid deep dive
Android deep dive
 

Viewers also liked

Darqa conference may 26 - 2016
Darqa   conference may 26 - 2016Darqa   conference may 26 - 2016
Darqa conference may 26 - 2016
QualiSense
 
Music, Soul and Wine Art Series
Music, Soul and Wine Art SeriesMusic, Soul and Wine Art Series
Music, Soul and Wine Art Series
skylaroo1228
 
Advanced Medicaid Presentation Evergreen Commons
Advanced Medicaid Presentation Evergreen CommonsAdvanced Medicaid Presentation Evergreen Commons
Advanced Medicaid Presentation Evergreen Commonsguestb5a8b82
 
Sviluppare applicazioni Metro con Windows 8 e WinRT
Sviluppare applicazioni Metro con Windows 8 e WinRTSviluppare applicazioni Metro con Windows 8 e WinRT
Sviluppare applicazioni Metro con Windows 8 e WinRT
codeblock
 
L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1
L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1
L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1
codeblock
 
Model-View-ViewModel con Windows Store Apps
Model-View-ViewModel con Windows Store AppsModel-View-ViewModel con Windows Store Apps
Model-View-ViewModel con Windows Store Apps
codeblock
 

Viewers also liked (8)

Darqa conference may 26 - 2016
Darqa   conference may 26 - 2016Darqa   conference may 26 - 2016
Darqa conference may 26 - 2016
 
About
AboutAbout
About
 
Music, Soul and Wine Art Series
Music, Soul and Wine Art SeriesMusic, Soul and Wine Art Series
Music, Soul and Wine Art Series
 
Advanced Medicaid Presentation Evergreen Commons
Advanced Medicaid Presentation Evergreen CommonsAdvanced Medicaid Presentation Evergreen Commons
Advanced Medicaid Presentation Evergreen Commons
 
Sviluppare applicazioni Metro con Windows 8 e WinRT
Sviluppare applicazioni Metro con Windows 8 e WinRTSviluppare applicazioni Metro con Windows 8 e WinRT
Sviluppare applicazioni Metro con Windows 8 e WinRT
 
Testimonials
TestimonialsTestimonials
Testimonials
 
L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1
L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1
L'EVOLUZIONE E LE NOVITÀ DI WINDOWS PHONE 8.1
 
Model-View-ViewModel con Windows Store Apps
Model-View-ViewModel con Windows Store AppsModel-View-ViewModel con Windows Store Apps
Model-View-ViewModel con Windows Store Apps
 

Similar to Windows phone 8 overview

Mobile Devolpment Slides
Mobile Devolpment SlidesMobile Devolpment Slides
Mobile Devolpment Slides
Luke Angel
 
Windows Phone 8 Advanced Developers Conference
Windows Phone 8 Advanced Developers ConferenceWindows Phone 8 Advanced Developers Conference
Windows Phone 8 Advanced Developers Conference
Damir Dobric
 
Adc2012 windows phone 8
Adc2012 windows phone 8Adc2012 windows phone 8
Adc2012 windows phone 8AlexanderGoetz
 
Runtime 8 and Windows Phone 8
Runtime 8 and Windows Phone 8Runtime 8 and Windows Phone 8
Runtime 8 and Windows Phone 8
Damir Dobric
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment pptsagaroceanic11
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment pptsagaroceanic11
 
Windows store app development V1
Windows store app development V1Windows store app development V1
Windows store app development V1Foyzul Karim
 
Windows phone 8 session 1
Windows phone 8 session 1Windows phone 8 session 1
Windows phone 8 session 1
hitesh chothani
 
Sinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerSinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the corner
Catalin Gheorghiu
 
Using the Presentation API and external screens on Android
Using the Presentation API and external screens on AndroidUsing the Presentation API and external screens on Android
Using the Presentation API and external screens on AndroidXavier Hallade
 
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
John Garland
 
SLUGUK BUILD Round-up
SLUGUK BUILD Round-upSLUGUK BUILD Round-up
SLUGUK BUILD Round-up
Derek Lakin
 
Windows8.1 html5 dev paradigm discussion netponto
Windows8.1 html5 dev paradigm discussion netpontoWindows8.1 html5 dev paradigm discussion netponto
Windows8.1 html5 dev paradigm discussion netponto
Alexandre Marreiros
 
Windowsphone7
Windowsphone7Windowsphone7
Windowsphone7yuvaraj72
 
21 app packaging, monetization and publication
21   app packaging, monetization and publication21   app packaging, monetization and publication
21 app packaging, monetization and publication
WindowsPhoneRocks
 
Windows 8 BootCamp
Windows 8 BootCampWindows 8 BootCamp
Windows 8 BootCamp
Einar Ingebrigtsen
 
Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011
sullis
 
Windows Phone Introduction
Windows Phone IntroductionWindows Phone Introduction
Windows Phone Introduction
Tung Nguyen Thanh
 

Similar to Windows phone 8 overview (20)

Mobile Devolpment Slides
Mobile Devolpment SlidesMobile Devolpment Slides
Mobile Devolpment Slides
 
Windows Phone 8 Advanced Developers Conference
Windows Phone 8 Advanced Developers ConferenceWindows Phone 8 Advanced Developers Conference
Windows Phone 8 Advanced Developers Conference
 
Adc2012 windows phone 8
Adc2012 windows phone 8Adc2012 windows phone 8
Adc2012 windows phone 8
 
Runtime 8 and Windows Phone 8
Runtime 8 and Windows Phone 8Runtime 8 and Windows Phone 8
Runtime 8 and Windows Phone 8
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
 
Windows store app development V1
Windows store app development V1Windows store app development V1
Windows store app development V1
 
Windows phone 8 session 1
Windows phone 8 session 1Windows phone 8 session 1
Windows phone 8 session 1
 
Sinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the cornerSinergija 12 WP8 is around the corner
Sinergija 12 WP8 is around the corner
 
Using the Presentation API and external screens on Android
Using the Presentation API and external screens on AndroidUsing the Presentation API and external screens on Android
Using the Presentation API and external screens on Android
 
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
Nashua Cloud .NET User Group - Basic WP8 App Dev With XAML and C#, April 2013
 
SLUGUK BUILD Round-up
SLUGUK BUILD Round-upSLUGUK BUILD Round-up
SLUGUK BUILD Round-up
 
Windows8.1 html5 dev paradigm discussion netponto
Windows8.1 html5 dev paradigm discussion netpontoWindows8.1 html5 dev paradigm discussion netponto
Windows8.1 html5 dev paradigm discussion netponto
 
Windowsphone7
Windowsphone7Windowsphone7
Windowsphone7
 
21 app packaging, monetization and publication
21   app packaging, monetization and publication21   app packaging, monetization and publication
21 app packaging, monetization and publication
 
Windows 8 BootCamp
Windows 8 BootCampWindows 8 BootCamp
Windows 8 BootCamp
 
Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011Android 3.1 - Portland Code Camp 2011
Android 3.1 - Portland Code Camp 2011
 
Rhodes vs Phonegap
Rhodes vs PhonegapRhodes vs Phonegap
Rhodes vs Phonegap
 
Windows Phone Introduction
Windows Phone IntroductionWindows Phone Introduction
Windows Phone Introduction
 
Silverlight Training
Silverlight TrainingSilverlight Training
Silverlight Training
 

Recently uploaded

Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 

Recently uploaded (20)

Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 

Windows phone 8 overview

  • 1. What's new in WP8 Andrea Boschin – Most Valuable Professional (XAML) Windows Phone 8 overview
  • 2.  meet new aspects of Windows Phone 8  be in touch with changes from 7.x  explore new features Talk goals
  • 3.  what about old apps?  the 120000 apps in the store still works!  "quirks mode" ensure 100% compatibility  do i need to recompile?  existing apps works without any action  conversion requires to re-compile  after conversion "quirk mode" is not available anymore  be careful of breaking changes  http://msdn.microsoft.com/en- us/library/windowsphone/develop/jj206947(v=vs.105).aspx  pay attention to multi-core environments when moving from 7 to 8  wp7 does not requires attention but wp8 does. legacy apps compatibility
  • 4.  business apps means:  publish to a private set of users  full control over deployment  protect intellectual property  Windows Phone 7.x  business scenario is almost impossible  Windows Phone 8.0  business scenario is fully supported! business scenario
  • 5.  how to?  register a Microsoft account (company-only)  buy a Symantec certificate (299$ approx)  generate an Application Token (.aetx)  distribute token to devices  sign the apps with the token  then  only token-enabled devices run the signed apps  side-loading is enabled without MS Company Store  also  create your own company-hub to manage content and apps from a single point. business scenario
  • 6.  windows phone 7.x  based on windows ce kernel  completely distinct platform from desktop o.s.  windows phone 8  based on common windows 8 architecture  shares a common kernel with pcs and tablets architecture
  • 7.  what's does it mean?  low level functions & driver model  shared between win8 and wp8  shared api  about 2800 member over 11000 in w8  600 additional members for wp8 shared kernel
  • 8.  what's the problem?  precompilation takes long time  on mobile these waiting are awful  recap: wp7 application startup is really slow  JIT: how do it works?  members are compiled before the use  when application is closed precompilation is discarted  how can we do?  NGEN assemblies before download?  precompilation when download happens, is too slow  what wp8 does?  compile in the cloud!  assemblies are pre-compiled before the download  a mdil file is prepared  MDIL = machine dependent intermediale language  it is something like a template with holes to fill  after download, mdil is converted to ngen  holes are filled. now it runs natively! compilation model
  • 9.  why coding native?  reusability  use of existing code you don't want to write again  portability  use code in different platforms  skills  use existing skills in C++  performances  the last of the problems... often not a good reason native C++ code
  • 10.  how-to  create a WinRT component  All your code is wrapped into the component  write code using specific conventions  classes must be "ref" and "sealed"  use compatible WinRT types  reference component by a C# project  fully native apps does not exists!  use the classes in the component from C#  all the magic is made by the WinRT projection layer native C++ code
  • 11.  Windows Phone 7.x  only 480 x 800 resolution allowed  Windows Phone 8.0  supports different sizes and resolutions  virtually you work always with 480x800 (or 853) multiple screen resolutions WVGA 720p WXGA true resolution 480x800 720x1280 768x1280 virtual resolution 480x800 480x853 480x800 aspect ratio 15:9 16:9 15:9 platform Windows Phone 7.x/8.0 Windows Phone 8.0 Windows Phone 8.0 scale 100 150 160 var width = Application.Current.Host.Content.ActualWidth; var height = Application.Current.Host.Content.ActualHeight;
  • 12. multiple screen resolutions  multiple sizes = much more attention  always pretend screen = 480 x 800  draw apps without size constraints  avoid absolute positioning  prefer "vector" to "raster"  provide large images or different scales  large images are scaled gracefully  with different scales: choose the better size  you can also:  disable specific resolution in manifest  this means to forget a particular segment of the market
  • 13.  Windows Phone 7.x  G&L is made by tricks  Windows Phone 8.0  easy & effective  project automatically prepared for G&L  localization works by Binding to resx  support for multiple languages  problems  ApplicationBar still doesn't support Binding   AppTitle localization requires Win32 resources globalization & localization
  • 14.  new concept of Contact Store  every app has its own store  can add and remove contacts silently  can prevent deletion from the its store  when uninstalled, contact store goes away  Notes  a contact store is an isolated sandbox  similar contacts in different stores are merged  Security  guaranteed by Windows Store Certification  if check fails, you can simply delete the app... contact stores
  • 15.  tiles  3 formats available to developers  small: 159x159  medium: 336x336  wide: 691x336  small & medium are required!  new Templates  TemplateFlip  front & rear predefined content  TemplateCycle  up to 9 rolling tiles  TemplateIconic  automatically reflects WP design guidelines  also supported in 7.8  manually via reflection  with Mangopollo project on codeplex http://mangopollo.codeplex.com/ tiles & lock screen
  • 16.  Iconic template: 110x110 & 220x220 tiles & lock screen
  • 17.  lock screen  when enabled reflects content from tile  User must enable app to lock screen  settings can be launched with a protocol  LockScreenManager  allow request authorization directly tiles & lock screen private async void OpenLockScreenSettings(object sender, RoutedEventArgs e) { await Windows.System.Launcher.LaunchUriAsync( new Uri("ms-settings-lock:")); }
  • 18.  protocol association  a protocol is registered (ex: myapp://)  if someone launch the protocol the app in called  the app receives the full uri  parameters are passed in the uri  file type association  a file extension is registered (ex: *.myapp)  when a file type is opened the app is called  the app receives a reference to the file  modification the original file require a copy.  other info  system protocol and types cannot be overriden (es: mp3, etc...)  multiple association are allowed. the choice is up to the user.  a file type supports an icon (3 sizes)  to launch an association  LaunchUriAsync  Protocols  LaunchFileAsync  File Types protocol & file association
  • 19.  near field communication  limited to short range (3-5 cm)  supports  custom string or binary messages  via publish-subscribe  use of known protocols  launch apps by id or protocol association  launch an url in the browser  initiator for launching sockets  bluetooh or wi-fi (developer choice)  read or write tags  write is limited  api allows to  set capability and requirements for app  check if NFC is supported/enabled bluetooth & NFC
  • 20.  bluetooth  Windows Phone 7.x  bluetooth is supported  no developer APIs  Windows Phone 8.0  bluetooth is extended (no HID profile)  developer APIs are provided  scenarios  Phone to Device  socket based  pick one of paired devices  your app is client to the device  Phone to Phone  socket based  search for another instance of your app to pair  your app is client & server  Windows 8 to Windows Phone 8 is allowed bluetooth & NFC
  • 21.  text to speech  supports different language inflections  supports SSML (Speech Synth Markup Language)  speech to text  supported two modes  SpeechRecognizerUI uses default UI  SpeechRecognizer allow speech recognition without UI  allowed to use preloaded grammar to improve recognition  result speech SpeechSynthesizer tts = new SpeechSynthesizer(); await tts.SpeakTextAsync("Please hold on!");
  • 22.  predefined sequences that matches an action start music player and play latin songs and play latin songs  result  app music player is started  app get "PlaySongs" command with 'latin' argument voice commands starts the app optional command command dynamic discarted argument
  • 23. voice commands <VoiceCommands xmlns="http://schemas.microsoft.com/voicecommands/1.0"> <CommandSet xml:lang="en-US" Name="DefaultCommandSetEnglish"> <CommandPrefix>Music Player</CommandPrefix> <Example>play some songs</Example> <Command Name="PlaySongs"> <Example>play random songs</Example> <ListenFor>[and] play {genre} songs</ListenFor> <ListenFor>[and] play [some] songs</ListenFor> <ListenFor>[and] play {mode} songs</ListenFor> <Feedback>Playing music...</Feedback> <Navigate Target="MusicPlayer.xaml" /> </Command> <PhraseList Label="genre"> <Item>rock</Item> <Item>latin</Item> <Item>classic</Item> <Item>funky</Item> <Item>jazz</Item> </PhraseList> <PhraseList Label="mode"> <Item>all</Item> <Item>random</Item> <Item>favorite</Item> </PhraseList> </CommandSet> </VoiceCommands>
  • 24. feedback 10 o feedback su: • http://xedotnet.org/feedback • codice feedback: • email: andrea@boschin.it • twitter: @aboschin • facebook: https://www.facebook.com/thelittlegrove • gamertag: codeblock68 feedback