A day in the life of a metro-veloper<br />Ducas Francis<br />Senior Consultant - Readify<br />http://duc.as<br />@ducas<br />
Agenda<br />What is Metro?<br />How do I get started on Windows Phone 7?<br />What cool things does it’s API let me do?<br...
Application Platform<br />Familiar and inexpensive toolset<br />Cohesive and well designed managed API set<br />Isolated s...
Architecture<br />Runtime-On Screen<br />Tools<br />Cloud Services<br />Portal Services<br />
Silverlight on Windows Phone<br />What’s not?<br /><ul><li>Browser host
Dynamic language runtime (DLR)
Expression trees
HTML DOM bridge
JavaScript programmability
System.Reflection.Emit
Silverlight plug-in object reference
Sockets
Windows Presentation Foundation (WPF) controls
WCF Data Services (formerly ADO.NET)
Duplex communication over HTTP
JSON serialization
RSS and Atom feeds (syndication)</li></ul>What’s supported?<br />Input<br />UI rendering<br />Media<br />Deep Zoom<br />Co...
Metro<br />Echos airport and metro system signage<br />Clearly direct end users to content<br />Creates a more consistent ...
3 red threads<br />Personal – your day, your way<br />Relevant – your people, your location<br />Connected – your stuff, y...
5 principles<br />Clean, light, open and fast<br />Content, not chrome<br />Integrated hardware and software<br />World-cl...
Status Bar and App Bar<br />Status Bar – displays system-level status info<br />App Bar – provides a place to promote the ...
Screen Orientation<br />SupportedOrientations =<br />Portrait<br />Landscape<br />PortraitOrLandscape<br />
Push notifications<br />Push Notification Service provides a cloud service with dedicated, resilient, and persistent chann...
Tile notifications<br />Communicate via counter, background and title<br />
Raw notifications<br />In-app notifications generated by the application or sent from a web service.<br />
Frame and Page Construction<br />PhoneApplicationFrame<br />top level container<br />PhoneApplicationPage<br />holds discr...
Page title<br />Clearly displays information for page contents<br />
Themes<br />Built-in theme resources preserve look and feel of the native device UI<br />
Touch input<br />
Upcoming SlideShare
Loading in …5
×

A Day in the Life of a Metro-veloper

1,695 views

Published on

Summarizing the key principles to Windows Phone 7 development with some examples API on how to get started.

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,695
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

A Day in the Life of a Metro-veloper

  1. 1. A day in the life of a metro-veloper<br />Ducas Francis<br />Senior Consultant - Readify<br />http://duc.as<br />@ducas<br />
  2. 2. Agenda<br />What is Metro?<br />How do I get started on Windows Phone 7?<br />What cool things does it’s API let me do?<br />And why would I come to a Silverlight user group to hear about this…?<br />
  3. 3. Application Platform<br />Familiar and inexpensive toolset<br />Cohesive and well designed managed API set<br />Isolated sandbox for each app<br />Runtime services to access cloud services<br />Marketplace for app distribution<br />
  4. 4. Architecture<br />Runtime-On Screen<br />Tools<br />Cloud Services<br />Portal Services<br />
  5. 5. Silverlight on Windows Phone<br />What’s not?<br /><ul><li>Browser host
  6. 6. Dynamic language runtime (DLR)
  7. 7. Expression trees
  8. 8. HTML DOM bridge
  9. 9. JavaScript programmability
  10. 10. System.Reflection.Emit
  11. 11. Silverlight plug-in object reference
  12. 12. Sockets
  13. 13. Windows Presentation Foundation (WPF) controls
  14. 14. WCF Data Services (formerly ADO.NET)
  15. 15. Duplex communication over HTTP
  16. 16. JSON serialization
  17. 17. RSS and Atom feeds (syndication)</li></ul>What’s supported?<br />Input<br />UI rendering<br />Media<br />Deep Zoom<br />Common language runtime (CLR)<br />Controls<br />Layout<br />Data binding<br />Isolated storage<br />LINQ<br />Networking (HttpWebRequest, WebClient)<br />Windows Communication Foundation (WCF)<br />XAML<br />XAP packaging<br />XML serialization<br />
  18. 18. Metro<br />Echos airport and metro system signage<br />Clearly direct end users to content<br />Creates a more consistent and fluid UX<br />The guidance docco is over 100 pages long, so here’s what’s important…<br />
  19. 19. 3 red threads<br />Personal – your day, your way<br />Relevant – your people, your location<br />Connected – your stuff, your peace of mind<br />
  20. 20. 5 principles<br />Clean, light, open and fast<br />Content, not chrome<br />Integrated hardware and software<br />World-class motivation<br />Soulful and alive<br />
  21. 21. Status Bar and App Bar<br />Status Bar – displays system-level status info<br />App Bar – provides a place to promote the most common tasks<br />
  22. 22. Screen Orientation<br />SupportedOrientations =<br />Portrait<br />Landscape<br />PortraitOrLandscape<br />
  23. 23. Push notifications<br />Push Notification Service provides a cloud service with dedicated, resilient, and persistent channel for pushing notifications to devices<br />Toast notifications are system-wide notifications that do not disrupt the user workflow or require intervention to resolve<br />
  24. 24. Tile notifications<br />Communicate via counter, background and title<br />
  25. 25. Raw notifications<br />In-app notifications generated by the application or sent from a web service.<br />
  26. 26. Frame and Page Construction<br />PhoneApplicationFrame<br />top level container<br />PhoneApplicationPage<br />holds discrete sections of content in your application<br />
  27. 27. Page title<br />Clearly displays information for page contents<br />
  28. 28. Themes<br />Built-in theme resources preserve look and feel of the native device UI<br />
  29. 29. Touch input<br />
  30. 30. Supported touch gestures<br />
  31. 31. On-screen keyboard <br />Slides up from bottom of the screen when an editable control becomes active<br />Slides down off bottom of the screen when a user taps outside of the edit control, scrolls a list, or presses the Back Button<br />Automatically closes if a phone has a Hardware Keyboard<br />Developers can control the input types using InputScope<br />
  32. 32. Sensors<br />Accelerometer<br />A-GPS<br />Proximity sensor<br />Camera<br />Compass<br />Light Sensor<br />+<br />FM Radio<br />
  33. 33. Panorama application<br />Dynamic visual experiences serving as a starting point for more detailed experiences<br />
  34. 34. Pivot control<br />Manages views within an app<br />Used for filtering large datasets, viewing multiple datasets, or switching application views<br />
  35. 35. Capitalisation<br />ToLower<br />Page titles<br />List titles<br />List group titles<br />Button or command text<br />List items<br />Example text<br />Links controls in the middle of a sentence<br />ToSentence<br />Check box & radio button labels<br />Progress indicator<br />Status, notification and explanatory text<br />Toggle switch<br />ToUpper<br />Application title<br />Date & time<br />
  36. 36. Resources<br />http://developer.windowsphone.com<br />msdn<br />downloads<br />pay to sell your app<br />guidelines<br />social networks<br />
  37. 37. Resources<br />http://developer.windowsphone.com/windows-phone-7<br />
  38. 38. Resources<br /><ul><li>Hello World
  39. 39. Screen Orientation
  40. 40. Touch
  41. 41. Image Manipulation
  42. 42. Sensors & Services
  43. 43. Application Architecture
  44. 44. Silverlight
  45. 45. XNA</li></ul>http://charlespetzold.com/phone/index.html<br />
  46. 46. Resources<br />http://www.learningwindowsphone.com/<br />
  47. 47. Code<br />WP7 Panorama + Pivot - http://phone.codeplex.com<br />Multitouch- http://multitouch.codeplex.com<br />MVVM framework - http://mvvmlight.codeplex.com<br />Flick gestures - http://gallery.expression.microsoft.com/en-us/flickgesturetrigger<br />Push Notifications – http://blog.duc.as/2010/08/13/push-notifications-in-windows-phone-7<br />
  48. 48. Thank you<br />http://duc.as<br />@ducas<br />

×