windows phone 7 developer guide
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
WINDOWS PHONE 7 DEVELOPER GUIDE
A guide to 3 screens and the cloud
Scott DensmoreSr. 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
• Clean, light, open, fast• Celebrate typography• Alive & in motion• Content not chrome• Authentically digital
Metro Principals
WHAT ARE YOU BUILDING?Silverlight vs XNA
WHAT ARE YOU BUILDING?
• 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
XNA
WHAT ARE YOU BUILDING?
• 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
Considerations
DEMO
What are you building?
CONNECTIVITY
CONNECTIVITY
• Device is occasionally connected• Signal can switch between Wi-Fi to GPRS
(General Packet Radio Service)• Have an offline experience
Considerations
DEMO
Connectivity
SHARED ENVIRONMENT
SHARED ENVIRONMENT
• 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
Considerations
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
hardware
phone storage
STORAGE
• 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)
Considerations
SECURITY
SECUIRTY
• 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
Considerations
INTERRUPTIONS
INTERRUPTIONS
• 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)
Considerations
DEMO
Tombstoning
TAILSPINWhy Phone + Cloud?
BUILDING THE CLIENT
BUILDING THE CLIENTOverview
BUILDING THE CLIENTMVVM
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
• HTTP-based, request/response• Framework choices (WCF, OData, WebRequest,
etc.)• Wire format choices (SOAP, JSON, POX, etc.)
Services
CONNECTING TO THE CLOUDTailSpin Services
CONNECTING TO THE CLOUDPush Notifications
HTTP Post to URI with payloadPush URI request/response
Push enabled application
Push client service
1
Push client/server negotiation
2
3
Push URI to Cloud Service 4
5
Push notification to device6
Cloud Service
MPNS
Windows Phone 7
CONNECTING TO THE CLOUDTailSpin 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!