WINDOWS PHONE 7 DEVELOPER GUIDE A guide to 3 screens and the cloud Scott Densmore Sr.
Download ReportTranscript WINDOWS PHONE 7 DEVELOPER GUIDE A guide to 3 screens and the cloud Scott Densmore Sr.
WINDOWS PHONE 7 DEVELOPER GUIDE A guide to 3 screens and the cloud Scott Densmore Sr. Software Development Engineer Microsoft patterns & practices ABOUT YOU (AN ASSUMPTION) • You… • • • • • are a developer know C# are building applications for Windows Phone 7 are building applications for other mobile platforms want to connect your mobile application to the cloud GOALS FOR THIS SESSION • Intro Windows Phone 7 • How to build applications for Windows Phone 7 • Simple examples • How to connect your Windows Phone 7 application to the cloud • TailSpin survey application connected to Windows Azure WINDOWS PHONE 7 METRO METRO Metro Principals • • • • • Clean, light, open, fast Celebrate typography Alive & in motion Content not chrome Authentically digital WHAT ARE YOU BUILDING? Silverlight vs XNA WHAT ARE YOU BUILDING? XNA • Performance is impressive, especially in 3D • Hardware based graphics acceleration • There are some very interesting input options • You can use all the hardware and sensors in your Windows Phone games • Potential for Xbox Live integration • Support for Avatars and Achievements • Support for in-game advertising • Viable alternative to charging for your code WHAT ARE YOU BUILDING? Considerations • Do not try to adapt an existing UI design directly to the phone • Design for both portrait and landscape • Place menus and other options at the bottom so the users hand does not obstruct the rest of the content • Provide feedback to actions • Set the InputScope for text controls • Follow the Windows Phone 7 Design Guidelines DEMO What are you building? CONNECTIVITY CONNECTIVITY Considerations • Device is occasionally connected • Signal can switch between Wi-Fi to GPRS (General Packet Radio Service) • Have an offline experience DEMO Connectivity SHARED ENVIRONMENT SHARED ENVIRONMENT Considerations • Minimize device resource usage • e.g. Only enable GPS when you need it • Use async programming techniques • Reactive Extensions • • • • Optimize memory usage Maximize GPU usage Do not use all of the storage for your application Mango – Multi-tasking STORAGE STORAGE • Isolated storage is used to store data • 256 MB of memory and to 8 GB of flash • Serializable collections is a good way to store data • Third party databases are available • Mango – includes SQL CE STORAGE Considerations • Use the DeviceExtendedProperties to check for memory installed and avialble • Clean up resources that are no longer needed • Consider using a cache to improve performance • Compress data or use data formats that are compact (JSON / Binary) SECURITY SECUIRTY Considerations • Use HTTPS when connecting to services • Encrypt data that you store on the phone • User HTTPS when communicating with the Push Notification Service • Do not store sensitive data and keys on the device • Mango – DPAPI INTERRUPTIONS INTERRUPTIONS Considerations • Many events can cause interruptions on the phone • Camera task • Email task • A phone call • Handle the events exposed by the operating system to save state of the application (Tombstoning) DEMO Tombstoning Why Phone + Cloud? TAILSPIN BUILDING THE CLIENT BUILDING THE CLIENT Overview BUILDING THE CLIENT MVVM DEMO Building the Client CONNECTING TO THE CLOUD Why Phone + Cloud? • The cloud levels the playing field • The cloud provides a larger pool of resources from which to pull • The cloud provides a way to reach across device platforms CONNECTING TO THE CLOUD Services • HTTP-based, request/response • Framework choices (WCF, OData, WebRequest, etc.) • Wire format choices (SOAP, JSON, POX, etc.) CONNECTING TO THE CLOUD TailSpin Services CONNECTING TO THE CLOUD Push Notifications Cloud Service Windows Phone 7 MPNS CONNECTING TO THE CLOUD TailSpin Push Notifications DEMO Connecting to the Cloud RESOURCES • WP7 Book • http://wp7guide.codeplex.com • Windows Phone 7 • http://www.windowsphone.com • Me • [email protected] • @scottdensmore • http://scottdensmore.typepad.com QUESTIONS? After the session please fulfil the questionnaire. Questionnaires will be sent to you by e-mail and will be available in the profile section of the NT Conference website www.ntk.si . Thank you!