SlideShare a Scribd company logo
1 of 61
Matt Lacey @mrlacey http://mrlacey.com/
me
Freelance developer
Doing “mobile” development over 10 years
Organise the Windows Phone User Group
Wants to help you build awesome apps
YOU
Developer
Experienced on other mobile platforms
Some Windows Phone awareness
Want to build awesome apps
native x-platform games
1. Metro
2. Visuals
3. Controls
4. .net
5. MVVM
6. Lifecycle
7. Navigation
8. Memory
9. Localization
10. Beyond 8.0
1. Metro
2. Visuals
3. Controls
4. .net
5. MVVM
6. Lifecycle
7. Navigation
8. Memory
9. Localization
10. Beyond 8.0
principles language&
1. Pride in craftsmanship
2. Be fast and fluid
3. Authentically digital
4. Do more with less
5. Win as one
The OS implementation of the principles
Can follow the principles
without implementing the
language
1. Metro
2. Visuals
3. Controls
4. .net
5. MVVM
6. Lifecycle
7. Navigation
8. Memory
9. Localization
10. Beyond 8.0
Apps can be more than just
white text on a black
background
Are drop shadows, gradients,
rounded corners and gloss
really a part of your brand?
1. Metro
2. Visuals
3. Controls
4. .net
5. MVVM
6. Lifecycle
7. Navigation
8. Memory
9. Localization
10. Beyond 8.0
1. Metro
2. Visuals
3. Controls
4. .net
5. MVVM
6. Lifecycle
7. Navigation
8. Memory
9. Localization
10. Beyond 8.0
http://www.flickr.com/photos/winterofdiscontent/3231416496/
.net
async
C#
5
var client = new WebClient();
client.DownloadStringCompleted +=
(sender, args) =>
MessageBox.Show(args.Result.Length.ToString(),
"Response length",
MessageBoxButton.OK);
client.DownloadStringAsync(
new Uri("http://www.mobdevcon.com/"));
private async Task ShowPageLength()
{
var client = new HttpClient();
var response = await client.GetStringAsync(
"http://www.mobdevcon.com/");
MessageBox.Show(response.Length.ToString(),
"Response length",
MessageBoxButton.OK);
}
[CompilerGenerated]
private struct <MakeAwaitableRequest>d__0 : IAsyncStateMachine
{
public int <>1__state;
public MainPage <>4__this;
public AsyncVoidMethodBuilder <>t__builder;
private object <>t__stack;
private TaskAwaiter<string> <>u__$awaiter3;
public HttpClient <client>5__1;
public string <response>5__2;
private void MoveNext()
{
try
{
TaskAwaiter<string> awaiter;
bool flag = true;
switch (this.<>1__state)
{
case -3:
goto Label_00DD;
case 0:
break;
default:
this.<client>5__1 = new HttpClient();
awaiter = this.<client>5__1.GetStringAsync("http://www.mobdevcon.com/").GetAwaiter();
if (awaiter.IsCompleted)
{
goto Label_008A;
}
this.<>1__state = 0;
this.<>u__$awaiter3 = awaiter;
this.<>t__builder.AwaitUnsafeOnCompleted<TaskAwaiter<string>, MainPage.<MakeAwaitableRequest>d__0>(ref awaiter, ref this);
flag = false;
return;
}
awaiter = this.<>u__$awaiter3;
this.<>u__$awaiter3 = new TaskAwaiter<string>();
this.<>1__state = -1;
Label_008A:
string introduced7 = awaiter.GetResult();
awaiter = new TaskAwaiter<string>();
string str = introduced7;
this.<response>5__2 = str;
MessageBox.Show(this.<response>5__2.Length.ToString(), "Response length", MessageBoxButton.OK);
}
catch (Exception exception)
{
this.<>1__state = -2;
this.<>t__builder.SetException(exception);
return;
}
Label_00DD:
this.<>1__state = -2;
this.<>t__builder.SetResult();
}
public IList<BlogPost> FindPopularPosts(IList<BlogPost> allPosts)
{
var popularPosts = new List<BlogPost>();
foreach (var post in allPosts)
{
if (post.Views >= 10000)
{
popularPosts.Add(post);
}
}
return popularPosts;
}
public IList<BlogPost> FindPopularPosts(IList<BlogPost> allPosts)
{
return allPosts.Where(p => p.Views >= 10000).ToList();
}
1. Metro
2. Visuals
3. Controls
4. .net
5. MVVM
6. Lifecycle
7. Navigation
8. Memory
9. Localization
10. Beyond 8.0
MVP data binding+
<TextBlock Text="{Binding SomeString}" />
<Button Command="{Binding DoSomething}"
Content="do something" />
http://flic.kr/p/9ny7B6
MVVMLight Caliburn.Micro MVVMCros
s
1. Metro
2. Visuals
3. Controls
4. .net
5. MVVM
6. Lifecycle
7. Navigation
8. Memory
9. Localization
10. Beyond 8.0
http://flic.kr/p/9vjqMk
http://flic.kr/p/aNbQui
toast, tile & raw
no interception
no notification center
1. Metro
2. Visuals
3. Controls
4. .net
5. MVVM
6. Lifecycle
7. Navigation
8. Memory
9. Localization
10. Beyond 8.0
1. Metro
2. Visuals
3. Controls
4. .net
5. MVVM
6. Lifecycle
7. Navigation
8. Memory
9. Localization
10. Beyond 8.0
Good news
Better than WP7
Great tools
Bad news
Low spec devices
Large/complex apps
Images
Background agents
frame rate counters
redraw visualizations
cache visualizations
memory counters
application analysis
execution profiling
memory profiling
1. Metro
2. Visuals
3. Controls
4. .net
5. MVVM
6. Lifecycle
7. Navigation
8. Memory
9. Localization
10. Beyond 8.0
.resx
.xlf
bindings
custom
1. Metro
2. Visuals
3. Controls
4. .net
5. MVVM
6. Lifecycle
7. Navigation
8. Memory
9. Localization
10. Beyond 8.0
1. Metro
2. Visuals
3. Controls
4. .net
5. MVVM
6. Lifecycle
7. Navigation
8. Memory
9. Localization
10. Beyond 8.0
http://dev.windowsphone.com/
http://www.developer.nokia.com/
http://mrlacey.com/
10 tips for porting to Windows Phone 8

More Related Content

Similar to 10 tips for porting to Windows Phone 8

20150728 100분만에 배우는 windows 10 앱 개발
20150728 100분만에 배우는 windows 10 앱 개발20150728 100분만에 배우는 windows 10 앱 개발
20150728 100분만에 배우는 windows 10 앱 개발영욱 김
 
Internet Explorer 8 Developer Overview
Internet Explorer 8 Developer OverviewInternet Explorer 8 Developer Overview
Internet Explorer 8 Developer OverviewDave Bost
 
Android Workshop
Android WorkshopAndroid Workshop
Android WorkshopJunda Ong
 
5 x HTML5 worth using in APEX (5)
5 x HTML5 worth using in APEX (5)5 x HTML5 worth using in APEX (5)
5 x HTML5 worth using in APEX (5)Christian Rokitta
 
IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009Christopher Judd
 
Visual Studio | Lanzamiento VS2017 en Buenos Aires - 11/03/2017
Visual Studio | Lanzamiento VS2017 en Buenos Aires - 11/03/2017Visual Studio | Lanzamiento VS2017 en Buenos Aires - 11/03/2017
Visual Studio | Lanzamiento VS2017 en Buenos Aires - 11/03/2017Pablo Ariel Di Loreto
 
HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on MobileAdam Lu
 
Making Your Site Look Great in IE7
Making Your Site Look Great in IE7Making Your Site Look Great in IE7
Making Your Site Look Great in IE7goodfriday
 
Vaadin 7 CN
Vaadin 7 CNVaadin 7 CN
Vaadin 7 CNjojule
 
Android Tutorial
Android TutorialAndroid Tutorial
Android TutorialFun2Do Labs
 
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusionConference
 
21 android2 updated
21 android2 updated21 android2 updated
21 android2 updatedGhanaGTUG
 
Exchange 2010 Web Services
Exchange 2010 Web ServicesExchange 2010 Web Services
Exchange 2010 Web ServicesEduardo Castro
 
Dave Orchard - Offline Web Apps with HTML5
Dave Orchard - Offline Web Apps with HTML5Dave Orchard - Offline Web Apps with HTML5
Dave Orchard - Offline Web Apps with HTML5Web Directions
 

Similar to 10 tips for porting to Windows Phone 8 (20)

20150728 100분만에 배우는 windows 10 앱 개발
20150728 100분만에 배우는 windows 10 앱 개발20150728 100분만에 배우는 windows 10 앱 개발
20150728 100분만에 배우는 windows 10 앱 개발
 
F# And Silverlight
F# And SilverlightF# And Silverlight
F# And Silverlight
 
Internet Explorer 8 Developer Overview
Internet Explorer 8 Developer OverviewInternet Explorer 8 Developer Overview
Internet Explorer 8 Developer Overview
 
Android Workshop
Android WorkshopAndroid Workshop
Android Workshop
 
Vaadin & Web Components
Vaadin & Web ComponentsVaadin & Web Components
Vaadin & Web Components
 
5 x HTML5 worth using in APEX (5)
5 x HTML5 worth using in APEX (5)5 x HTML5 worth using in APEX (5)
5 x HTML5 worth using in APEX (5)
 
IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009
 
Visual Studio | Lanzamiento VS2017 en Buenos Aires - 11/03/2017
Visual Studio | Lanzamiento VS2017 en Buenos Aires - 11/03/2017Visual Studio | Lanzamiento VS2017 en Buenos Aires - 11/03/2017
Visual Studio | Lanzamiento VS2017 en Buenos Aires - 11/03/2017
 
HTML5 on Mobile
HTML5 on MobileHTML5 on Mobile
HTML5 on Mobile
 
Making Your Site Look Great in IE7
Making Your Site Look Great in IE7Making Your Site Look Great in IE7
Making Your Site Look Great in IE7
 
Vaadin 7 CN
Vaadin 7 CNVaadin 7 CN
Vaadin 7 CN
 
Android Tutorial
Android TutorialAndroid Tutorial
Android Tutorial
 
Vaadin Components
Vaadin ComponentsVaadin Components
Vaadin Components
 
ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995ColdFusion Keynote: Building the Agile Web Since 1995
ColdFusion Keynote: Building the Agile Web Since 1995
 
Ruby For Startups
Ruby For StartupsRuby For Startups
Ruby For Startups
 
21 android2 updated
21 android2 updated21 android2 updated
21 android2 updated
 
Exchange 2010 Web Services
Exchange 2010 Web ServicesExchange 2010 Web Services
Exchange 2010 Web Services
 
Developing in android
Developing in androidDeveloping in android
Developing in android
 
Taking your Web App for a walk
Taking your Web App for a walkTaking your Web App for a walk
Taking your Web App for a walk
 
Dave Orchard - Offline Web Apps with HTML5
Dave Orchard - Offline Web Apps with HTML5Dave Orchard - Offline Web Apps with HTML5
Dave Orchard - Offline Web Apps with HTML5
 

More from Matt Lacey

Modern XAML Development - Matt Lacey
Modern XAML Development - Matt LaceyModern XAML Development - Matt Lacey
Modern XAML Development - Matt LaceyMatt Lacey
 
Is your mobile app as secure as you think?
Is your mobile app as secure as you think?Is your mobile app as secure as you think?
Is your mobile app as secure as you think?Matt Lacey
 
A look behind the scenes: Windows 8 background processing
A look behind the scenes: Windows 8 background processingA look behind the scenes: Windows 8 background processing
A look behind the scenes: Windows 8 background processingMatt Lacey
 
Intro to the App Developers Alliance @ WPUG
Intro to the App Developers Alliance @ WPUGIntro to the App Developers Alliance @ WPUG
Intro to the App Developers Alliance @ WPUGMatt Lacey
 
Wpug vserv developer deck- march 2014 global
Wpug  vserv developer deck- march 2014 globalWpug  vserv developer deck- march 2014 global
Wpug vserv developer deck- march 2014 globalMatt Lacey
 
Pricing mobile apps
Pricing mobile appsPricing mobile apps
Pricing mobile appsMatt Lacey
 
Preparing for WP8
Preparing for WP8Preparing for WP8
Preparing for WP8Matt Lacey
 
Thinking mobile and beyond (Dundee)
Thinking mobile and beyond (Dundee)Thinking mobile and beyond (Dundee)
Thinking mobile and beyond (Dundee)Matt Lacey
 
Awesome Windows Phone Development (Aberdeen)
Awesome Windows Phone Development (Aberdeen)Awesome Windows Phone Development (Aberdeen)
Awesome Windows Phone Development (Aberdeen)Matt Lacey
 
Deep linking and secondary tiles
Deep linking and secondary tilesDeep linking and secondary tiles
Deep linking and secondary tilesMatt Lacey
 
PhoneGap @ LDNUG
PhoneGap @ LDNUGPhoneGap @ LDNUG
PhoneGap @ LDNUGMatt Lacey
 
Introducing Windows Phone 7 Development
Introducing Windows Phone 7 DevelopmentIntroducing Windows Phone 7 Development
Introducing Windows Phone 7 DevelopmentMatt Lacey
 
WP7Dev with HTML & JavaScript
WP7Dev with HTML & JavaScriptWP7Dev with HTML & JavaScript
WP7Dev with HTML & JavaScriptMatt Lacey
 
Why care about mobile? And what is Windows Phone 7?
Why care about mobile? And what is Windows Phone 7?Why care about mobile? And what is Windows Phone 7?
Why care about mobile? And what is Windows Phone 7?Matt Lacey
 
Developing for Windows7 with the APICodepack
Developing for Windows7 with the APICodepackDeveloping for Windows7 with the APICodepack
Developing for Windows7 with the APICodepackMatt Lacey
 
Mobile Web 2.0 & MDBF (DDDSW - Grok Talk)
Mobile Web 2.0 & MDBF (DDDSW - Grok Talk)Mobile Web 2.0 & MDBF (DDDSW - Grok Talk)
Mobile Web 2.0 & MDBF (DDDSW - Grok Talk)Matt Lacey
 
Mobile Web 2.0 (DDD Scotland - Grok Talk)
Mobile Web 2.0 (DDD Scotland - Grok Talk)Mobile Web 2.0 (DDD Scotland - Grok Talk)
Mobile Web 2.0 (DDD Scotland - Grok Talk)Matt Lacey
 
Mobilise your ASP.NET website
Mobilise your ASP.NET websiteMobilise your ASP.NET website
Mobilise your ASP.NET websiteMatt Lacey
 

More from Matt Lacey (20)

Modern XAML Development - Matt Lacey
Modern XAML Development - Matt LaceyModern XAML Development - Matt Lacey
Modern XAML Development - Matt Lacey
 
Is your mobile app as secure as you think?
Is your mobile app as secure as you think?Is your mobile app as secure as you think?
Is your mobile app as secure as you think?
 
A look behind the scenes: Windows 8 background processing
A look behind the scenes: Windows 8 background processingA look behind the scenes: Windows 8 background processing
A look behind the scenes: Windows 8 background processing
 
Intro to the App Developers Alliance @ WPUG
Intro to the App Developers Alliance @ WPUGIntro to the App Developers Alliance @ WPUG
Intro to the App Developers Alliance @ WPUG
 
Wpug vserv developer deck- march 2014 global
Wpug  vserv developer deck- march 2014 globalWpug  vserv developer deck- march 2014 global
Wpug vserv developer deck- march 2014 global
 
Pricing mobile apps
Pricing mobile appsPricing mobile apps
Pricing mobile apps
 
Preparing for WP8
Preparing for WP8Preparing for WP8
Preparing for WP8
 
Thinking mobile and beyond (Dundee)
Thinking mobile and beyond (Dundee)Thinking mobile and beyond (Dundee)
Thinking mobile and beyond (Dundee)
 
Awesome Windows Phone Development (Aberdeen)
Awesome Windows Phone Development (Aberdeen)Awesome Windows Phone Development (Aberdeen)
Awesome Windows Phone Development (Aberdeen)
 
WPSDK 7.1.1
WPSDK 7.1.1WPSDK 7.1.1
WPSDK 7.1.1
 
Deep linking and secondary tiles
Deep linking and secondary tilesDeep linking and secondary tiles
Deep linking and secondary tiles
 
PhoneGap @ LDNUG
PhoneGap @ LDNUGPhoneGap @ LDNUG
PhoneGap @ LDNUG
 
Introducing Windows Phone 7 Development
Introducing Windows Phone 7 DevelopmentIntroducing Windows Phone 7 Development
Introducing Windows Phone 7 Development
 
WP7Dev with HTML & JavaScript
WP7Dev with HTML & JavaScriptWP7Dev with HTML & JavaScript
WP7Dev with HTML & JavaScript
 
Xna for wp7
Xna for wp7Xna for wp7
Xna for wp7
 
Why care about mobile? And what is Windows Phone 7?
Why care about mobile? And what is Windows Phone 7?Why care about mobile? And what is Windows Phone 7?
Why care about mobile? And what is Windows Phone 7?
 
Developing for Windows7 with the APICodepack
Developing for Windows7 with the APICodepackDeveloping for Windows7 with the APICodepack
Developing for Windows7 with the APICodepack
 
Mobile Web 2.0 & MDBF (DDDSW - Grok Talk)
Mobile Web 2.0 & MDBF (DDDSW - Grok Talk)Mobile Web 2.0 & MDBF (DDDSW - Grok Talk)
Mobile Web 2.0 & MDBF (DDDSW - Grok Talk)
 
Mobile Web 2.0 (DDD Scotland - Grok Talk)
Mobile Web 2.0 (DDD Scotland - Grok Talk)Mobile Web 2.0 (DDD Scotland - Grok Talk)
Mobile Web 2.0 (DDD Scotland - Grok Talk)
 
Mobilise your ASP.NET website
Mobilise your ASP.NET websiteMobilise your ASP.NET website
Mobilise your ASP.NET website
 

Recently uploaded

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"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
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
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
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
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
 
"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
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
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
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
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
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"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
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
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
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
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
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
"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...
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
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!
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.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
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
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
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 

10 tips for porting to Windows Phone 8

Editor's Notes

  1. Ask questions, butAround all day
  2. How much will be relevant
  3. Pride in craftsmanshipAttention to detailEngineer the experience to feel polished at every stageBe fast and fluidImmersive and responsiveUse motion to bring life and continuityAuthentically digitalTake advantage of the digital mediumInfographic not iconographicRealism, skeuoporphs and verisimilitudeDo more with lessPurposeful experienceContent, not chromeFierce reduction of UI elementsWin as oneNative integrationAcross form factors and experiencesStructure to aid creativity, not inhibit it
  4. Because we can do principles without language
  5. You can be visually stunning
  6. Can adjust to the conventions of the platform
  7. Can still reflect brand identity
  8. iOS – Pure Android – iOS7Your app on Windows Phone won’t be compared visually with how it look on other platforms
  9. Reviews last
  10. Summary overview, encourage exploration, like a magazine cover
  11. Not exactly like a tab control.Intended to show related items or differing views of the same data – e.g. emailNot for wizard type interface
  12. Lots of optionsDefinitely value for money to be hadToolkit &amp; Telerik
  13. RadControls essentially freeLarge range of other Open Source controls available too: GeekChamp, GitHub, Codeplex
  14. State machine3 lines of code is actually 60
  15. ReSharper – CodeRush - JustCode
  16. Aids testability
  17. Is code behind bad
  18. Suspend and resumeFAS &amp; FAR
  19. http://www.fanpop.com/clubs/nintendo/images/26503062/Agents – periodic &amp; intensiveDownloading
  20. Pride in craftsmanshipAttention to detailEngineer the experience to feel polished at every stageBe fast and fluidImmersive and responsiveUse motion to bring life and continuityAuthentically digitalTake advantage of the digital mediumInfographic not iconographicRealism, skeuoporphs and verisimilitudeDo more with lessPurposeful experienceContent, not chromeFierce reduction of UI elementsWin as oneNative integrationAcross form factors and experiencesStructure to aid creativity, not inhibit it
  21. don&apos;t break the back stack - be predictable
  22. don&apos;t break the back stack - be predictable
  23. exceptions- end of flow- long navigation- poss. deep link. Toast, not tile?
  24. exceptions- end of flow- long navigation- poss. deep link. Toast, not tile?
  25. 190+ countries &amp; 50 languagesLocalization can be an easier way to reach more users than porting to another platform
  26. Still 10 million devices out there. Only just moved to less than 50% of WP devicesVery easy to support both, especially if not using functionality specific to 87 apps run unmodified + some functionality available via reflection
  27. IDC estimates 30M WP devices by Christmas, but 200M Windows8 installsCan share code, even the same libraries as there are commonalities to the APIs of bothDon’t share the same UI though.