360 likes | 550 Views
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
E N D
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
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 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 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 • 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 phone storage hardware
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)
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 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 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 Push URI to Cloud Service 4 Push enabled application 3 1 5 Push URI request/response HTTP Post to URI with payload Push notification to device Push client service 6 Windows Phone 7 2 Push client/server negotiation 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 • scottden@microsoft.com • @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 websitewww.ntk.si. Thank you!