SlideShare a Scribd company logo
Rudi Grobler http://www.rudigrobler.net @rudigrobler An end-to-end experience of Windows Phone 7 development TRACK: NEXT GENERATION
agenda Two part session The basics Build app from File -> New… Advanced tips and tricks Loads of content Caveat: this is NOT a marketing session on how cool the phone is… This is how to build a application end-to-end Feel free to ask questions ANY time... Windows Phone 7 App Smackdown
applications Omoplata Scrumy7 Podium Professional Audio Recorder 7MC Gofer Brew Master
Brew Master demo
hardware foundation Capacitive touch 4 or more contact points Sensors A-GPS, Accelerometer, Compass, Light, Proximity Camera 5 mega pixels or more Multimedia Common detailed specs, Codec  acceleration 800 Memory 256MB RAM or more, 8GB Flash or more GPU DirectX 9 acceleration CPU Qualcomm MSM8x55 1Ghz (800Mhz) or higher 480 Hardware buttons | Back, Start, Search Qualcomm MSM7x30 & Gyroscope
common platform capabilities .NET Superset of Silverlight 3.0 Input Touch Hardware buttons Media Digital media capture & playback Media library access Data Isolated storage LINQ Object XML WCF SOAP & REST services Phone Access Integrated access to phone UI Sensors Pickers for contacts and photos Integrated with Cloud Services App deployment & Updates Notifications Location Xbox LIVE
Two flavours of applications Silverlight XNA Modern XAML/event-driven application UI framework Rapid creation of visual stunning applications Metro-themed UI controls 500,000 developers spanning Windows and web High performance game framework Rapid creation of multi-screen 2D & 3D games Rich content pipeline Mature, robust, widely adopted technology spanning Xbox 360, Windows and Zune XNA/Silverlight Interop
silverlight for windows phone Silverlight for Windows Phone is… Silverlight 3 minus a few things that didn’t make sense plus a few Silverlight 4 things that did plus phone specific API & “under the hood” improvements Silverlight 4 compatibility (1500+ new APIs)
Getting started… demo
navigation Applications are built like web sites Functionality is split into pages Forward navigation via links Backward navigation via Back Previous applications (pages) are in the back stack Can override back button behavior (but be careful) Transient pages Payload can be send with navigation request NO back to home buttons!!! Deep linking
Navigation demo
familiar web concepts Phone application Provides UI represented as XAML pages connected into cross-app flows by URI’s Web application Provide media represented as HTTP resources linked by URL’s Shell frame Requests pages, renders UI, and handles navigation across apps Web browser Requests HTTP resources, renders them, and handles navigation across sites History and tabs Groups together sequences of HTTP resources corresponding to a user’s activity across sites Sessions and back stack Groups together sequences of pages corresponding to a user’s activity across apps
launchers and choosers Windows Phone execution model isolates every application in its own sandbox Apps cannot directly access information stores such as contacts Cannot directly invoke other applications such as phone or messaging Launchers and Choosers allow applications indirect access to the useful phone features Launchers and Choosers APIs invoke distinct built-in applications that replace the currently running applications
launchers and choosers Launcher Launches one of the built-in applications though which a use completes a task No data is returned to calling application Example: PhoneCallTask Chooser Launches one of the built-in applications through which a user completes a task and which returns some data to calling application When caller completes, calling application is activated and supplied with the Chooser result Example: PhotoChooserTask
launchers and choosers Launchers Choosers EmailComposeTask MediaPlayerLauncher PhoneCallTask SearchTask SMSComposeTask WebBrowserTask MarketplaceDetailTask MarketplaceHubTask MarketplaceReviewTask MarketplaceSearchTask CameraCaptureTask EmailAddressChooserTask PhoneNumberChooserTask PhotoChooserTask SaveEmailAddressTask SavePhoneNumberTask Bing
Launchers and Choosers demo
choosers and the execution model IMPORTANT! When you launch a Launcher or Chooser, your app is terminated When task completes, your app may be reactivated and a new app instance created (SOMETIMES) The following choosers and tasks have relaxed thombstoning policy PhotoChooserTask CameraCaptureTask MediaPlayerLaunchTask EmailAddressChooser PhoneNumberChoose
panoramas
panoramas
pivots
panorama vs pivot Pivot Panorama Filter same data on different views (the “inbox” is a great example of this)  Optimized for current screen size  Filter of data doesn’t have to be same view (agenda/day)  Related content is ok to pivot on as long as related content is truly related  Focused  “Virtualized” Horizontal broad canvas, not confined to current screen size  A ‘top layer’ view into underlying experiences/tasks  Use white space  Performance -> Panorama loads all the pages on startup Exploratory in nature
Adding and using the Pivot demo
misuse of common controls Use the WP7 common controls appropriately. Don’t use sliders, toggles or map controls under panoramas or pivots –as they both need the same gestures to work.
MVVM on the Phone Singleton App.xaml Model PhoneApplicationPage ViewModel PhoneApplicationPage PhoneApplicationPage PhoneApplicationPage View Data Bindable properties Business logic PhoneApplicationFrame PhoneApplicationPage Controls Code-behind Wanna learn more?     Check out Silverlight Kung-fu        Starting 16:30 @ track 3
MVVM phone style… demo
networking on the phone Support for networking features WCF/ASMX HttpWebRequest WebClient No cross-domain policy file required Not supported Sockets Custom WCF Bindings WCF RIA Services NTLM authentication
WCF/ASMX services Can “Add Reference” from Windows Phone projects to automatically generate proxy classes ASMX should just work WCF requires that you use basicHttpBinding
OData Server: WCF Data Services provides an extensible tool for publishing data using REST based interface Publishes and consumes data using Odata web protocol	 Format is XML or JSON Client: Download Odata Client Library for Windows Phone    http://odata.codeplex.com/ FULL parity with Silverlight (Including LINQ and Add Service Reference support)
Getting data demo
HTTPWebRequestvsWebClient Use HttpWebRequest whenever possible Use background thread and marshal back to UI thread (Using Dispatcher.BeginInvoke) WebClient is “easier” to use but happens on the UI thread no matter where it was spawned (Bug) 6 Parallel requests limit WebClient bug fixed
marketplace Enhanced Discovery Easy to find great applications & games Fun to browse the marketplace Simple & Reliable Acquisition Try before you buy Buying and downloading content is a breeze Payment flexibility (Monthly billing and credit card) Easy application updates South Africa WILL BE supported…
marketplace It costs nothing to download the Windows Phone SDK and write code using the emulator To sell applications you need to register as a developer This costs $99 a year and  allows you to publish any  number of fee applications  and up to 99 free applications Each additional application  costs $20 Students can sign up for free Revenue sharing (30/70)
yalla apps Are you looking for a viable alternative to publish your WP7 Apps to the Windows Phone Marketplace? Yalla Apps provides the solution by publishing your apps to the Marketplace on your behalf.  Publish your apps to the Windows Phone marketplace and unlock your device for testing Share and download code in the Module Market Smooth certification process Join the developer community
yalla apps Updated Device Unlocking Yalla Apps offers a device unlock service which allows you to unlock your Windows Phone 7 to debug and test applications. The device unlock is accomplished using remote assistance access to your development machine and charged 0 Credits for the first device and 50 credits per additional device.
Yalla Apps demo
@rudigrobler Slides, demos, etc… http://www.rudigrobler.net questions
Don’t forget the Xbox Kinectshow-down after sessions this evening!
DevDays 2011 Sponsors PLATINUM SPONSOR www.bbd.co.za SILVER SPONSOR www.dvt.co.za SILVER SPONSOR www.ctutraining.co.za
Keep in Touch facebook.com/msdevsa @msdevsa http://blogs.msdn.com/southafrica
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation.  Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.  MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

More Related Content

What's hot

A Lap Around Windows Phone 8.1
A Lap Around Windows Phone 8.1A Lap Around Windows Phone 8.1
A Lap Around Windows Phone 8.1
Puja Pramudya
 
Windows phone7 subodh
Windows phone7 subodhWindows phone7 subodh
Windows phone7 subodh
Subodh Pushpak
 
Mobile Application Test check list
Mobile Application  Test check list Mobile Application  Test check list
Mobile Application Test check list
Tanmoy Ray
 
B feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopmentB feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopment
sathesh leo
 
Programing for the iPhone
Programing for the iPhonePrograming for the iPhone
Programing for the iPhone
Mike Qaissaunee
 
iPhone Development Overview
iPhone Development OverviewiPhone Development Overview
iPhone Development Overview
William Taysom
 
Windows Phone Application Platform
Windows Phone Application PlatformWindows Phone Application Platform
Windows Phone Application Platform
Dave Bost
 
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Howard Greenberg
 
Mobile applications chapter 5
Mobile applications chapter 5Mobile applications chapter 5
Mobile applications chapter 5
Akib B. Momin
 
mobicon_paper
mobicon_papermobicon_paper
mobicon_paper
Vineet Kumar
 
Android app development guide for freshers by ace web academy
Android app development guide for freshers  by ace web academyAndroid app development guide for freshers  by ace web academy
Android app development guide for freshers by ace web academy
Ace Web Academy -Career Development Center
 
Rain Concert - Rich Internet Application Development Expertise
Rain Concert - Rich Internet Application Development ExpertiseRain Concert - Rich Internet Application Development Expertise
Rain Concert - Rich Internet Application Development Expertise
Seema Abhilash
 
Rich Internet Profile - Rainconcert
Rich Internet Profile - RainconcertRich Internet Profile - Rainconcert
Rich Internet Profile - Rainconcert
Rain Concert Technologies
 
An Introduction to Universal Windows Apps
An Introduction to Universal Windows AppsAn Introduction to Universal Windows Apps
An Introduction to Universal Windows Apps
Ken Cenerelli
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
sagaroceanic11
 
Benefits of PhoneGap for Mobile App Development - Appzure
Benefits of PhoneGap for Mobile App Development - AppzureBenefits of PhoneGap for Mobile App Development - Appzure
Benefits of PhoneGap for Mobile App Development - Appzure
Appzure -Mobile App Development
 
Developing Application in WP7
Developing Application in WP7Developing Application in WP7
Developing Application in WP7
Kunal Chowdhury
 
Mix 2010 twilight
Mix 2010 twilightMix 2010 twilight
Mix 2010 twilight
Intergen
 
Hybrid mobile app development
Hybrid mobile app developmentHybrid mobile app development
Hybrid mobile app development
Chamil Madusanka
 

What's hot (19)

A Lap Around Windows Phone 8.1
A Lap Around Windows Phone 8.1A Lap Around Windows Phone 8.1
A Lap Around Windows Phone 8.1
 
Windows phone7 subodh
Windows phone7 subodhWindows phone7 subodh
Windows phone7 subodh
 
Mobile Application Test check list
Mobile Application  Test check list Mobile Application  Test check list
Mobile Application Test check list
 
B feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopmentB feigin mobileapplicationdevelopment
B feigin mobileapplicationdevelopment
 
Programing for the iPhone
Programing for the iPhonePrograming for the iPhone
Programing for the iPhone
 
iPhone Development Overview
iPhone Development OverviewiPhone Development Overview
iPhone Development Overview
 
Windows Phone Application Platform
Windows Phone Application PlatformWindows Phone Application Platform
Windows Phone Application Platform
 
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
 
Mobile applications chapter 5
Mobile applications chapter 5Mobile applications chapter 5
Mobile applications chapter 5
 
mobicon_paper
mobicon_papermobicon_paper
mobicon_paper
 
Android app development guide for freshers by ace web academy
Android app development guide for freshers  by ace web academyAndroid app development guide for freshers  by ace web academy
Android app development guide for freshers by ace web academy
 
Rain Concert - Rich Internet Application Development Expertise
Rain Concert - Rich Internet Application Development ExpertiseRain Concert - Rich Internet Application Development Expertise
Rain Concert - Rich Internet Application Development Expertise
 
Rich Internet Profile - Rainconcert
Rich Internet Profile - RainconcertRich Internet Profile - Rainconcert
Rich Internet Profile - Rainconcert
 
An Introduction to Universal Windows Apps
An Introduction to Universal Windows AppsAn Introduction to Universal Windows Apps
An Introduction to Universal Windows Apps
 
I phone app develoment ppt
I phone app develoment   pptI phone app develoment   ppt
I phone app develoment ppt
 
Benefits of PhoneGap for Mobile App Development - Appzure
Benefits of PhoneGap for Mobile App Development - AppzureBenefits of PhoneGap for Mobile App Development - Appzure
Benefits of PhoneGap for Mobile App Development - Appzure
 
Developing Application in WP7
Developing Application in WP7Developing Application in WP7
Developing Application in WP7
 
Mix 2010 twilight
Mix 2010 twilightMix 2010 twilight
Mix 2010 twilight
 
Hybrid mobile app development
Hybrid mobile app developmentHybrid mobile app development
Hybrid mobile app development
 

Viewers also liked

スマートフォンセキュリティ…的な
スマートフォンセキュリティ…的なスマートフォンセキュリティ…的な
スマートフォンセキュリティ…的な高見 知英
 
スマートフォン懇親会special
スマートフォン懇親会specialスマートフォン懇親会special
スマートフォン懇親会special
高見 知英
 
Magic solution mind map
Magic solution mind mapMagic solution mind map
Magic solution mind map
Charles-Antoine Poirier
 
「人に聞く」ということ
「人に聞く」ということ「人に聞く」ということ
「人に聞く」ということ
高見 知英
 
ITツールのイベント活用術
ITツールのイベント活用術ITツールのイベント活用術
ITツールのイベント活用術
高見 知英
 
スマートフォンは日用品なんかじゃないぞ!
スマートフォンは日用品なんかじゃないぞ!スマートフォンは日用品なんかじゃないぞ!
スマートフォンは日用品なんかじゃないぞ!高見 知英
 
わたしがAndroidに変えたわけ
わたしがAndroidに変えたわけわたしがAndroidに変えたわけ
わたしがAndroidに変えたわけ
高見 知英
 
Androidの会のご紹介
Androidの会のご紹介Androidの会のご紹介
Androidの会のご紹介高見 知英
 

Viewers also liked (8)

スマートフォンセキュリティ…的な
スマートフォンセキュリティ…的なスマートフォンセキュリティ…的な
スマートフォンセキュリティ…的な
 
スマートフォン懇親会special
スマートフォン懇親会specialスマートフォン懇親会special
スマートフォン懇親会special
 
Magic solution mind map
Magic solution mind mapMagic solution mind map
Magic solution mind map
 
「人に聞く」ということ
「人に聞く」ということ「人に聞く」ということ
「人に聞く」ということ
 
ITツールのイベント活用術
ITツールのイベント活用術ITツールのイベント活用術
ITツールのイベント活用術
 
スマートフォンは日用品なんかじゃないぞ!
スマートフォンは日用品なんかじゃないぞ!スマートフォンは日用品なんかじゃないぞ!
スマートフォンは日用品なんかじゃないぞ!
 
わたしがAndroidに変えたわけ
わたしがAndroidに変えたわけわたしがAndroidに変えたわけ
わたしがAndroidに変えたわけ
 
Androidの会のご紹介
Androidの会のご紹介Androidの会のご紹介
Androidの会のご紹介
 

Similar to An end-to-end experience of Windows Phone 7 development (Part 2)

Windows Phone 7 Unleashed Session 1
Windows Phone 7 Unleashed Session 1Windows Phone 7 Unleashed Session 1
Windows Phone 7 Unleashed Session 1
Wes Yanaga
 
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
RIA RUI Society
 
Windows Phone 7 Applications with Silverlight
Windows Phone 7 Applications with SilverlightWindows Phone 7 Applications with Silverlight
Windows Phone 7 Applications with Silverlight
Rishu Mehra
 
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
Sascha Corti
 
Windows 7 mobile
Windows 7 mobileWindows 7 mobile
Windows 7 mobile
Pablo Alejandre del Rio
 
Windows Phone Introduction
Windows Phone IntroductionWindows Phone Introduction
Windows Phone Introduction
Tung Nguyen Thanh
 
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightRe-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Frank La Vigne
 
Developing Applications with Windows Phone 7
Developing Applications with Windows Phone 7Developing Applications with Windows Phone 7
Developing Applications with Windows Phone 7
Brad Tutterow
 
SLUGUK BUILD Round-up
SLUGUK BUILD Round-upSLUGUK BUILD Round-up
SLUGUK BUILD Round-up
Derek Lakin
 
Developing windows phone 7 application with silverlight
Developing windows phone 7 application with silverlightDeveloping windows phone 7 application with silverlight
Developing windows phone 7 application with silverlight
Tung Nguyen Thanh
 
Windows Phone 7 and Silverlight
Windows Phone 7 and SilverlightWindows Phone 7 and Silverlight
Windows Phone 7 and Silverlight
Glen Gordon
 
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
 
Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15
sullis
 
Titanium presentation
Titanium presentationTitanium presentation
Titanium presentation
aaltavas
 
An introduction to Titanium
An introduction to TitaniumAn introduction to Titanium
An introduction to Titanium
Graham Weldon
 
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchJQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
Steve Drucker
 
Getting started with android programming
Getting started with android programmingGetting started with android programming
Getting started with android programming
PERKYTORIALS
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Development
soufyan rifai
 
Windows Phone 7 Architecture Overview
Windows Phone 7 Architecture OverviewWindows Phone 7 Architecture Overview
Windows Phone 7 Architecture Overview
Bhavya Siddappa
 
What's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon TalkWhat's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon Talk
Sam Basu
 

Similar to An end-to-end experience of Windows Phone 7 development (Part 2) (20)

Windows Phone 7 Unleashed Session 1
Windows Phone 7 Unleashed Session 1Windows Phone 7 Unleashed Session 1
Windows Phone 7 Unleashed Session 1
 
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
Mobile app development using PhoneGap - A comprehensive walkthrough - Touch T...
 
Windows Phone 7 Applications with Silverlight
Windows Phone 7 Applications with SilverlightWindows Phone 7 Applications with Silverlight
Windows Phone 7 Applications with Silverlight
 
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
 
Windows 7 mobile
Windows 7 mobileWindows 7 mobile
Windows 7 mobile
 
Windows Phone Introduction
Windows Phone IntroductionWindows Phone Introduction
Windows Phone Introduction
 
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with SilverlightRe-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
Re-use Your Skills and Code to Expand the Reach of Your Apps with Silverlight
 
Developing Applications with Windows Phone 7
Developing Applications with Windows Phone 7Developing Applications with Windows Phone 7
Developing Applications with Windows Phone 7
 
SLUGUK BUILD Round-up
SLUGUK BUILD Round-upSLUGUK BUILD Round-up
SLUGUK BUILD Round-up
 
Developing windows phone 7 application with silverlight
Developing windows phone 7 application with silverlightDeveloping windows phone 7 application with silverlight
Developing windows phone 7 application with silverlight
 
Windows Phone 7 and Silverlight
Windows Phone 7 and SilverlightWindows Phone 7 and Silverlight
Windows Phone 7 and Silverlight
 
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
 
Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15
 
Titanium presentation
Titanium presentationTitanium presentation
Titanium presentation
 
An introduction to Titanium
An introduction to TitaniumAn introduction to Titanium
An introduction to Titanium
 
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchJQuery Mobile vs Appcelerator Titanium vs Sencha Touch
JQuery Mobile vs Appcelerator Titanium vs Sencha Touch
 
Getting started with android programming
Getting started with android programmingGetting started with android programming
Getting started with android programming
 
Mobile Application Development
Mobile Application DevelopmentMobile Application Development
Mobile Application Development
 
Windows Phone 7 Architecture Overview
Windows Phone 7 Architecture OverviewWindows Phone 7 Architecture Overview
Windows Phone 7 Architecture Overview
 
What's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon TalkWhat's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon Talk
 

Recently uploaded

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
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Zilliz
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 

Recently uploaded (20)

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
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 

An end-to-end experience of Windows Phone 7 development (Part 2)

  • 1.
  • 2. Rudi Grobler http://www.rudigrobler.net @rudigrobler An end-to-end experience of Windows Phone 7 development TRACK: NEXT GENERATION
  • 3. agenda Two part session The basics Build app from File -> New… Advanced tips and tricks Loads of content Caveat: this is NOT a marketing session on how cool the phone is… This is how to build a application end-to-end Feel free to ask questions ANY time... Windows Phone 7 App Smackdown
  • 4. applications Omoplata Scrumy7 Podium Professional Audio Recorder 7MC Gofer Brew Master
  • 6. hardware foundation Capacitive touch 4 or more contact points Sensors A-GPS, Accelerometer, Compass, Light, Proximity Camera 5 mega pixels or more Multimedia Common detailed specs, Codec acceleration 800 Memory 256MB RAM or more, 8GB Flash or more GPU DirectX 9 acceleration CPU Qualcomm MSM8x55 1Ghz (800Mhz) or higher 480 Hardware buttons | Back, Start, Search Qualcomm MSM7x30 & Gyroscope
  • 7. common platform capabilities .NET Superset of Silverlight 3.0 Input Touch Hardware buttons Media Digital media capture & playback Media library access Data Isolated storage LINQ Object XML WCF SOAP & REST services Phone Access Integrated access to phone UI Sensors Pickers for contacts and photos Integrated with Cloud Services App deployment & Updates Notifications Location Xbox LIVE
  • 8. Two flavours of applications Silverlight XNA Modern XAML/event-driven application UI framework Rapid creation of visual stunning applications Metro-themed UI controls 500,000 developers spanning Windows and web High performance game framework Rapid creation of multi-screen 2D & 3D games Rich content pipeline Mature, robust, widely adopted technology spanning Xbox 360, Windows and Zune XNA/Silverlight Interop
  • 9. silverlight for windows phone Silverlight for Windows Phone is… Silverlight 3 minus a few things that didn’t make sense plus a few Silverlight 4 things that did plus phone specific API & “under the hood” improvements Silverlight 4 compatibility (1500+ new APIs)
  • 11. navigation Applications are built like web sites Functionality is split into pages Forward navigation via links Backward navigation via Back Previous applications (pages) are in the back stack Can override back button behavior (but be careful) Transient pages Payload can be send with navigation request NO back to home buttons!!! Deep linking
  • 13. familiar web concepts Phone application Provides UI represented as XAML pages connected into cross-app flows by URI’s Web application Provide media represented as HTTP resources linked by URL’s Shell frame Requests pages, renders UI, and handles navigation across apps Web browser Requests HTTP resources, renders them, and handles navigation across sites History and tabs Groups together sequences of HTTP resources corresponding to a user’s activity across sites Sessions and back stack Groups together sequences of pages corresponding to a user’s activity across apps
  • 14. launchers and choosers Windows Phone execution model isolates every application in its own sandbox Apps cannot directly access information stores such as contacts Cannot directly invoke other applications such as phone or messaging Launchers and Choosers allow applications indirect access to the useful phone features Launchers and Choosers APIs invoke distinct built-in applications that replace the currently running applications
  • 15. launchers and choosers Launcher Launches one of the built-in applications though which a use completes a task No data is returned to calling application Example: PhoneCallTask Chooser Launches one of the built-in applications through which a user completes a task and which returns some data to calling application When caller completes, calling application is activated and supplied with the Chooser result Example: PhotoChooserTask
  • 16. launchers and choosers Launchers Choosers EmailComposeTask MediaPlayerLauncher PhoneCallTask SearchTask SMSComposeTask WebBrowserTask MarketplaceDetailTask MarketplaceHubTask MarketplaceReviewTask MarketplaceSearchTask CameraCaptureTask EmailAddressChooserTask PhoneNumberChooserTask PhotoChooserTask SaveEmailAddressTask SavePhoneNumberTask Bing
  • 18. choosers and the execution model IMPORTANT! When you launch a Launcher or Chooser, your app is terminated When task completes, your app may be reactivated and a new app instance created (SOMETIMES) The following choosers and tasks have relaxed thombstoning policy PhotoChooserTask CameraCaptureTask MediaPlayerLaunchTask EmailAddressChooser PhoneNumberChoose
  • 22. panorama vs pivot Pivot Panorama Filter same data on different views (the “inbox” is a great example of this) Optimized for current screen size Filter of data doesn’t have to be same view (agenda/day) Related content is ok to pivot on as long as related content is truly related Focused “Virtualized” Horizontal broad canvas, not confined to current screen size A ‘top layer’ view into underlying experiences/tasks Use white space Performance -> Panorama loads all the pages on startup Exploratory in nature
  • 23. Adding and using the Pivot demo
  • 24. misuse of common controls Use the WP7 common controls appropriately. Don’t use sliders, toggles or map controls under panoramas or pivots –as they both need the same gestures to work.
  • 25. MVVM on the Phone Singleton App.xaml Model PhoneApplicationPage ViewModel PhoneApplicationPage PhoneApplicationPage PhoneApplicationPage View Data Bindable properties Business logic PhoneApplicationFrame PhoneApplicationPage Controls Code-behind Wanna learn more? Check out Silverlight Kung-fu Starting 16:30 @ track 3
  • 27. networking on the phone Support for networking features WCF/ASMX HttpWebRequest WebClient No cross-domain policy file required Not supported Sockets Custom WCF Bindings WCF RIA Services NTLM authentication
  • 28. WCF/ASMX services Can “Add Reference” from Windows Phone projects to automatically generate proxy classes ASMX should just work WCF requires that you use basicHttpBinding
  • 29. OData Server: WCF Data Services provides an extensible tool for publishing data using REST based interface Publishes and consumes data using Odata web protocol Format is XML or JSON Client: Download Odata Client Library for Windows Phone http://odata.codeplex.com/ FULL parity with Silverlight (Including LINQ and Add Service Reference support)
  • 31. HTTPWebRequestvsWebClient Use HttpWebRequest whenever possible Use background thread and marshal back to UI thread (Using Dispatcher.BeginInvoke) WebClient is “easier” to use but happens on the UI thread no matter where it was spawned (Bug) 6 Parallel requests limit WebClient bug fixed
  • 32. marketplace Enhanced Discovery Easy to find great applications & games Fun to browse the marketplace Simple & Reliable Acquisition Try before you buy Buying and downloading content is a breeze Payment flexibility (Monthly billing and credit card) Easy application updates South Africa WILL BE supported…
  • 33. marketplace It costs nothing to download the Windows Phone SDK and write code using the emulator To sell applications you need to register as a developer This costs $99 a year and allows you to publish any number of fee applications and up to 99 free applications Each additional application costs $20 Students can sign up for free Revenue sharing (30/70)
  • 34. yalla apps Are you looking for a viable alternative to publish your WP7 Apps to the Windows Phone Marketplace? Yalla Apps provides the solution by publishing your apps to the Marketplace on your behalf. Publish your apps to the Windows Phone marketplace and unlock your device for testing Share and download code in the Module Market Smooth certification process Join the developer community
  • 35. yalla apps Updated Device Unlocking Yalla Apps offers a device unlock service which allows you to unlock your Windows Phone 7 to debug and test applications. The device unlock is accomplished using remote assistance access to your development machine and charged 0 Credits for the first device and 50 credits per additional device.
  • 37. @rudigrobler Slides, demos, etc… http://www.rudigrobler.net questions
  • 38. Don’t forget the Xbox Kinectshow-down after sessions this evening!
  • 39. DevDays 2011 Sponsors PLATINUM SPONSOR www.bbd.co.za SILVER SPONSOR www.dvt.co.za SILVER SPONSOR www.ctutraining.co.za
  • 40. Keep in Touch facebook.com/msdevsa @msdevsa http://blogs.msdn.com/southafrica
  • 41. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.