SlideShare a Scribd company logo
An end-to-end experience of Windows Phone 7 development (Part 2)
Rudi Groblerhttp://www.rudigrobler.net@rudigroblerAn end-to-end experience of Windows Phone 7 developmentTRACK: NEXT GENERATION
agendaTwo part sessionThe basicsBuild app from File -> New…Advanced tips and tricksLoads of contentCaveat: this is NOT a marketing session on how cool the phone is… This is how to build a application end-to-endFeel free to ask questions ANY time...Windows Phone 7 App Smackdown
applicationsOmoplataScrumy7PodiumProfessional Audio Recorder7MC GoferBrew Master
Brew Masterdemo
hardware foundationCapacitive touch4 or more contact pointsSensorsA-GPS, Accelerometer, Compass, Light, ProximityCamera5 mega pixels or moreMultimediaCommon detailed specs, Codec  acceleration800Memory256MB RAM or more, 8GB Flash or moreGPUDirectX 9 accelerationCPUQualcomm MSM8x55 1Ghz (800Mhz) or higher480Hardware buttons | Back, Start, SearchQualcomm MSM7x30 & Gyroscope
common platform capabilities.NETSuperset of Silverlight 3.0InputTouchHardware buttonsMediaDigital media capture & playbackMedia library accessDataIsolated storageLINQObjectXMLWCFSOAP & REST servicesPhone AccessIntegrated access to phone UISensorsPickers for contacts and photosIntegrated with Cloud ServicesApp deployment & UpdatesNotificationsLocationXbox LIVE
Two flavours of applicationsSilverlightXNAModern XAML/event-driven application UI frameworkRapid creation of visual stunning applicationsMetro-themed UI controls500,000 developers spanning Windows and webHigh performance game frameworkRapid creation of multi-screen 2D & 3D gamesRich content pipelineMature, robust, widely adopted technology spanning Xbox 360, Windows and ZuneXNA/Silverlight Interop
silverlight for windows phoneSilverlight for Windows Phone is…Silverlight 3minus a few things that didn’t make senseplus a few Silverlight 4 things that didplus phone specific API & “under the hood” improvementsSilverlight 4 compatibility (1500+ new APIs)
Getting started…demo
navigationApplications are built like web sitesFunctionality is split into pagesForward navigation via linksBackward navigation via BackPrevious applications (pages) are in the back stackCan override back button behavior (but be careful)Transient pagesPayload can be send with navigation requestNO back to home buttons!!!Deep linking
Navigationdemo
familiar web conceptsPhone applicationProvides UI represented as XAML pages connected into cross-app flows by URI’sWeb applicationProvide media represented as HTTP resources linked by URL’sShell frameRequests pages, renders UI, and handles navigation across appsWeb browserRequests HTTP resources, renders them, and handles navigation across sitesHistory and tabsGroups together sequences of HTTP resources corresponding to a user’s activity across sitesSessions and back stackGroups together sequences of pages corresponding to a user’s activity across apps
launchers and choosersWindows Phone execution model isolates every application in its own sandboxApps cannot directly access information stores such as contactsCannot directly invoke other applications such as phone or messagingLaunchers and Choosers allow applications indirect access to the useful phone featuresLaunchers and Choosers APIs invoke distinct built-in applications that replace the currently running applications
launchers and choosersLauncherLaunches one of the built-in applications though which a use completes a taskNo data is returned to calling applicationExample: PhoneCallTaskChooserLaunches one of the built-in applications through which a user completes a task and which returns some data to calling applicationWhen caller completes, calling application is activated and supplied with the Chooser resultExample: PhotoChooserTask
launchers and choosersLaunchersChoosersEmailComposeTaskMediaPlayerLauncherPhoneCallTaskSearchTaskSMSComposeTaskWebBrowserTaskMarketplaceDetailTaskMarketplaceHubTaskMarketplaceReviewTaskMarketplaceSearchTaskCameraCaptureTaskEmailAddressChooserTaskPhoneNumberChooserTaskPhotoChooserTaskSaveEmailAddressTaskSavePhoneNumberTaskBing
Launchers and Choosersdemo
choosers and the execution modelIMPORTANT! When you launch a Launcher or Chooser, your app is terminatedWhen task completes, your app may be reactivated and a new app instance created (SOMETIMES)The following choosers and tasks have relaxed thombstoning policyPhotoChooserTaskCameraCaptureTaskMediaPlayerLaunchTaskEmailAddressChooserPhoneNumberChoose
panoramas
panoramas
pivots
panorama vs pivotPivotPanoramaFilter 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 startupExploratory in nature
Adding and using the Pivotdemo
misuse of common controlsUse 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 PhoneSingletonApp.xamlModelPhoneApplicationPageViewModelPhoneApplicationPagePhoneApplicationPagePhoneApplicationPageViewDataBindable propertiesBusiness logicPhoneApplicationFramePhoneApplicationPageControlsCode-behindWanna learn more?    Check out Silverlight Kung-fu       Starting 16:30 @ track 3
MVVM phone style…demo
networking on the phoneSupport for networking featuresWCF/ASMXHttpWebRequestWebClientNo cross-domain policy file requiredNot supportedSocketsCustom WCF BindingsWCF RIA ServicesNTLM authentication
WCF/ASMX servicesCan “Add Reference” from Windows Phone projects to automatically generate proxy classesASMX should just workWCF requires that you use basicHttpBinding
ODataServer:WCF Data Services provides an extensible tool for publishing data using REST based interfacePublishes and consumes data using Odata web protocol	Format is XML or JSONClient:Download Odata Client Library for Windows Phone   http://odata.codeplex.com/FULL parity with Silverlight (Including LINQ and Add Service Reference support)
Getting datademo
HTTPWebRequestvsWebClientUse HttpWebRequest whenever possibleUse 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 limitWebClient bug fixed
marketplaceEnhanced DiscoveryEasy to find great applications & gamesFun to browse the marketplaceSimple & Reliable AcquisitionTry before you buyBuying and downloading content is a breezePayment flexibility (Monthly billing and credit card)Easy application updatesSouth Africa WILL BE supported…
marketplaceIt costs nothing to download the Windows Phone SDK and write code using the emulatorTo sell applications you need to register as a developerThis costs $99 a year and allows you to publish any number of fee applications and up to 99 free applicationsEach additional application costs $20Students can sign up for freeRevenue sharing (30/70)
yalla appsAre 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 marketplaceand unlock your device for testingShare and download code in the Module MarketSmooth certification processJoin the developer community
yalla appsUpdatedDevice UnlockingYalla 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 Appsdemo
@rudigroblerSlides, demos, etc…http://www.rudigrobler.netquestions
Don’t forget the Xbox Kinectshow-down after sessions this evening!
DevDays 2011 SponsorsPLATINUM SPONSORwww.bbd.co.zaSILVER SPONSORwww.dvt.co.zaSILVER SPONSORwww.ctutraining.co.za
Keep in Touchfacebook.com/msdevsa@msdevsahttp://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

PPTX
Windows Phone Garage - Application Jumpstart
DOCX
Bugzilla
PDF
Develop for Windows Phone Mango and Windows 8: our Tips
PPTX
데브멘토 발표세미나
PPT
Titanium Meetup Deck
PPTX
WP7 HUB_Overview and application platform
PDF
Windows phone 8 session 2
PPTX
Javascript frameworks
Windows Phone Garage - Application Jumpstart
Bugzilla
Develop for Windows Phone Mango and Windows 8: our Tips
데브멘토 발표세미나
Titanium Meetup Deck
WP7 HUB_Overview and application platform
Windows phone 8 session 2
Javascript frameworks

What's hot (19)

PPTX
A Lap Around Windows Phone 8.1
PPTX
Windows phone7 subodh
ODT
Mobile Application Test check list
PDF
B feigin mobileapplicationdevelopment
KEY
Programing for the iPhone
PDF
iPhone Development Overview
PPTX
Windows Phone Application Platform
PPTX
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
PPTX
Mobile applications chapter 5
PDF
mobicon_paper
PDF
Android app development guide for freshers by ace web academy
PPT
Rain Concert - Rich Internet Application Development Expertise
PPT
Rich Internet Profile - Rainconcert
PPTX
An Introduction to Universal Windows Apps
PPT
I phone app develoment ppt
PDF
Benefits of PhoneGap for Mobile App Development - Appzure
PPSX
Developing Application in WP7
PPTX
Mix 2010 twilight
PPT
Hybrid mobile app development
A Lap Around Windows Phone 8.1
Windows phone7 subodh
Mobile Application Test check list
B feigin mobileapplicationdevelopment
Programing for the iPhone
iPhone Development Overview
Windows Phone Application Platform
Jmp103-Get the Jump on Mobilizing Your Notes and Domino Applications Today!
Mobile applications chapter 5
mobicon_paper
Android app development guide for freshers by ace web academy
Rain Concert - Rich Internet Application Development Expertise
Rich Internet Profile - Rainconcert
An Introduction to Universal Windows Apps
I phone app develoment ppt
Benefits of PhoneGap for Mobile App Development - Appzure
Developing Application in WP7
Mix 2010 twilight
Hybrid mobile app development
Ad

Viewers also liked (8)

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

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

PPTX
Developing windows phone 7 application with silverlight
PPTX
Windows Phone 7 and Silverlight
PPTX
Windows Phone 7 Unleashed Session 1
PPTX
Designing and developing a Windows Phone 7 Silverlight Application End-to-End...
PPTX
Windows Phone 7
PPTX
Designing and developing a Windows Phone 7 Silverlight Application End-to-End...
PDF
Windows phone 7 series
PPTX
Developing Applications with Windows Phone 7
PDF
Windows Phone 7 Developer Guide Building connected mobile applications with M...
PPTX
Windows Phone 7 Applications with Silverlight
PPTX
Windows Phone 8 App Development
PPTX
Windows phone 7 development
PPTX
Windows 7 mobile
PDF
Porting iPhone Apps to Windows Phone 7
PPTX
Getting Started with WP7 Development
PPTX
Windows phone 8 overview
PPTX
Windows Phone Apps Development overview
PPTX
Windows Phone 7 Now
PPTX
An end-to-end experience of Windows Phone 7 development (Part 1)
PPTX
WP7 Study 발표 - WinMoDev
Developing windows phone 7 application with silverlight
Windows Phone 7 and Silverlight
Windows Phone 7 Unleashed Session 1
Designing and developing a Windows Phone 7 Silverlight Application End-to-End...
Windows Phone 7
Designing and developing a Windows Phone 7 Silverlight Application End-to-End...
Windows phone 7 series
Developing Applications with Windows Phone 7
Windows Phone 7 Developer Guide Building connected mobile applications with M...
Windows Phone 7 Applications with Silverlight
Windows Phone 8 App Development
Windows phone 7 development
Windows 7 mobile
Porting iPhone Apps to Windows Phone 7
Getting Started with WP7 Development
Windows phone 8 overview
Windows Phone Apps Development overview
Windows Phone 7 Now
An end-to-end experience of Windows Phone 7 development (Part 1)
WP7 Study 발표 - WinMoDev

Recently uploaded (20)

PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Encapsulation_ Review paper, used for researhc scholars
PPT
Teaching material agriculture food technology
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Cloud computing and distributed systems.
PDF
Electronic commerce courselecture one. Pdf
PPTX
Spectroscopy.pptx food analysis technology
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Understanding_Digital_Forensics_Presentation.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
MIND Revenue Release Quarter 2 2025 Press Release
Reach Out and Touch Someone: Haptics and Empathic Computing
sap open course for s4hana steps from ECC to s4
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
Per capita expenditure prediction using model stacking based on satellite ima...
MYSQL Presentation for SQL database connectivity
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Encapsulation_ Review paper, used for researhc scholars
Teaching material agriculture food technology
Building Integrated photovoltaic BIPV_UPV.pdf
Spectral efficient network and resource selection model in 5G networks
Cloud computing and distributed systems.
Electronic commerce courselecture one. Pdf
Spectroscopy.pptx food analysis technology
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Understanding_Digital_Forensics_Presentation.pptx

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

  • 2. Rudi Groblerhttp://www.rudigrobler.net@rudigroblerAn end-to-end experience of Windows Phone 7 developmentTRACK: NEXT GENERATION
  • 3. agendaTwo part sessionThe basicsBuild app from File -> New…Advanced tips and tricksLoads of contentCaveat: this is NOT a marketing session on how cool the phone is… This is how to build a application end-to-endFeel free to ask questions ANY time...Windows Phone 7 App Smackdown
  • 6. hardware foundationCapacitive touch4 or more contact pointsSensorsA-GPS, Accelerometer, Compass, Light, ProximityCamera5 mega pixels or moreMultimediaCommon detailed specs, Codec acceleration800Memory256MB RAM or more, 8GB Flash or moreGPUDirectX 9 accelerationCPUQualcomm MSM8x55 1Ghz (800Mhz) or higher480Hardware buttons | Back, Start, SearchQualcomm MSM7x30 & Gyroscope
  • 7. common platform capabilities.NETSuperset of Silverlight 3.0InputTouchHardware buttonsMediaDigital media capture & playbackMedia library accessDataIsolated storageLINQObjectXMLWCFSOAP & REST servicesPhone AccessIntegrated access to phone UISensorsPickers for contacts and photosIntegrated with Cloud ServicesApp deployment & UpdatesNotificationsLocationXbox LIVE
  • 8. Two flavours of applicationsSilverlightXNAModern XAML/event-driven application UI frameworkRapid creation of visual stunning applicationsMetro-themed UI controls500,000 developers spanning Windows and webHigh performance game frameworkRapid creation of multi-screen 2D & 3D gamesRich content pipelineMature, robust, widely adopted technology spanning Xbox 360, Windows and ZuneXNA/Silverlight Interop
  • 9. silverlight for windows phoneSilverlight for Windows Phone is…Silverlight 3minus a few things that didn’t make senseplus a few Silverlight 4 things that didplus phone specific API & “under the hood” improvementsSilverlight 4 compatibility (1500+ new APIs)
  • 11. navigationApplications are built like web sitesFunctionality is split into pagesForward navigation via linksBackward navigation via BackPrevious applications (pages) are in the back stackCan override back button behavior (but be careful)Transient pagesPayload can be send with navigation requestNO back to home buttons!!!Deep linking
  • 13. familiar web conceptsPhone applicationProvides UI represented as XAML pages connected into cross-app flows by URI’sWeb applicationProvide media represented as HTTP resources linked by URL’sShell frameRequests pages, renders UI, and handles navigation across appsWeb browserRequests HTTP resources, renders them, and handles navigation across sitesHistory and tabsGroups together sequences of HTTP resources corresponding to a user’s activity across sitesSessions and back stackGroups together sequences of pages corresponding to a user’s activity across apps
  • 14. launchers and choosersWindows Phone execution model isolates every application in its own sandboxApps cannot directly access information stores such as contactsCannot directly invoke other applications such as phone or messagingLaunchers and Choosers allow applications indirect access to the useful phone featuresLaunchers and Choosers APIs invoke distinct built-in applications that replace the currently running applications
  • 15. launchers and choosersLauncherLaunches one of the built-in applications though which a use completes a taskNo data is returned to calling applicationExample: PhoneCallTaskChooserLaunches one of the built-in applications through which a user completes a task and which returns some data to calling applicationWhen caller completes, calling application is activated and supplied with the Chooser resultExample: PhotoChooserTask
  • 18. choosers and the execution modelIMPORTANT! When you launch a Launcher or Chooser, your app is terminatedWhen task completes, your app may be reactivated and a new app instance created (SOMETIMES)The following choosers and tasks have relaxed thombstoning policyPhotoChooserTaskCameraCaptureTaskMediaPlayerLaunchTaskEmailAddressChooserPhoneNumberChoose
  • 22. panorama vs pivotPivotPanoramaFilter 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 startupExploratory in nature
  • 23. Adding and using the Pivotdemo
  • 24. misuse of common controlsUse 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 PhoneSingletonApp.xamlModelPhoneApplicationPageViewModelPhoneApplicationPagePhoneApplicationPagePhoneApplicationPageViewDataBindable propertiesBusiness logicPhoneApplicationFramePhoneApplicationPageControlsCode-behindWanna learn more? Check out Silverlight Kung-fu Starting 16:30 @ track 3
  • 27. networking on the phoneSupport for networking featuresWCF/ASMXHttpWebRequestWebClientNo cross-domain policy file requiredNot supportedSocketsCustom WCF BindingsWCF RIA ServicesNTLM authentication
  • 28. WCF/ASMX servicesCan “Add Reference” from Windows Phone projects to automatically generate proxy classesASMX should just workWCF requires that you use basicHttpBinding
  • 29. ODataServer:WCF Data Services provides an extensible tool for publishing data using REST based interfacePublishes and consumes data using Odata web protocol Format is XML or JSONClient:Download Odata Client Library for Windows Phone http://odata.codeplex.com/FULL parity with Silverlight (Including LINQ and Add Service Reference support)
  • 31. HTTPWebRequestvsWebClientUse HttpWebRequest whenever possibleUse 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 limitWebClient bug fixed
  • 32. marketplaceEnhanced DiscoveryEasy to find great applications & gamesFun to browse the marketplaceSimple & Reliable AcquisitionTry before you buyBuying and downloading content is a breezePayment flexibility (Monthly billing and credit card)Easy application updatesSouth Africa WILL BE supported…
  • 33. marketplaceIt costs nothing to download the Windows Phone SDK and write code using the emulatorTo sell applications you need to register as a developerThis costs $99 a year and allows you to publish any number of fee applications and up to 99 free applicationsEach additional application costs $20Students can sign up for freeRevenue sharing (30/70)
  • 34. yalla appsAre 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 marketplaceand unlock your device for testingShare and download code in the Module MarketSmooth certification processJoin the developer community
  • 35. yalla appsUpdatedDevice UnlockingYalla 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.
  • 38. Don’t forget the Xbox Kinectshow-down after sessions this evening!
  • 39. DevDays 2011 SponsorsPLATINUM SPONSORwww.bbd.co.zaSILVER SPONSORwww.dvt.co.zaSILVER SPONSORwww.ctutraining.co.za
  • 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.