Synopses & Reviews
Windows Phone 7 provides an exciting new opportunity for companies and developers to build applications that travel with the user, are interactive and attractive, and are available whenever and wherever that users wishes to work with the application.
By combining Windows Phone 7 applications with on-premises services and applications, or remote services and applications that run in the cloud (such as those using the Windows Azure™ platform), developers can create highly scalable, reliable, and powerful applications that extend the functionality beyond the traditional desktop or laptop; and into a truly portable and much more accessible environment.
This book describes a scenario around a fictitious company named Tailspin that has decided to encompass Windows Phone 7 as a client device for their existing cloud-based application. Their Windows Azure based "Surveys" application is described in detail in a previous book in this series: "Developing Applications for the Cloud on the Microsoft Windows Azure Platform".
As well as describing the client application, its integration with the remote services, and the decisions made during its design and implementation, this book discusses related factors such as the design patterns used, the capabilities and use of Windows Phone 7, and the ways that the application could be extended or modified for other scenarios.
The result is that, after reading this book, you will be familiar with how to design and implement applications for Windows Phone 7 that take advantage of remote services to obtain and upload data, while providing a great user experience on the device.
This guide describes a scenario around a fictitious company named Tailspin that has decided to include Windows Phone 7 as a client device for their existing cloud-based application. Their Windows Azure-based application named Surveys is described in detail in a previous book in this series, Developing Applications for the Cloud.
After reading this book, you will be familiar with how to design and implement applications for Windows Phone 7 that take advantage of remote services to obtain and upload data while providing a great user experience on the device.
About the Author
Dominic Betts is an expert with the patterns & practices team & other Microsoft® groups.
Federico Boerr is a consultant with Southworks SRL.
Scott Densmore is an expert with the patterns & practices team & other Microsoft® groups.
Jose Gallardo Salazar is a consultant with Clarius Consulting.
Alex Homer is a technical writer assigned to the Microsoft patterns & practices division in Redmond. Following a career within and outside of the IT world, including an eclectic range of jobs from tractor driver to double-glazing salesman, he spent many years as a software and training specialist before tiring of the conference circuit and joining Microsoft. However, he has so far resisted the dubious attractions of Seattle weather in favor of working from home in the idyllic rural surroundings of the Derbyshire Dales in the heart of England. Now he spends his days knee-deep in design patterns and architectural literature; writing books, documentation, sample code, and producing technical guidance in its myriad other forms—most of which is helpfully co-authored by two over-inquisitive cats. His weekly semi-coherent ramblings on the IT industry, and life in general, can be found at http://blogs.msdn.com/alexhomer/. View Alex Homer's full profile page.
Table of Contents
Foreword; Foreword; Preface; Who This Book Is For; Why This Book Is Pertinent Now; How This Book Is Structured; The Example Application; What You Need to Use the Code; Whos Who; Where to Go for More Information; Acknowledgments; Chapter 1: Introducing Windows Phone 7; 1.1 A Standardized Platform; 1.2 Data-driven Applications; 1.3 Developing for the Windows Phone 7 Platform; 1.4 Terminology; 1.5 More Information; Chapter 2: Designing Applications for Windows Phone 7; 2.1 Basic Design Considerations; 2.2 Mobile Phone Client Applications; 2.3 Design Considerations for Windows Phone 7 Applications; 2.4 Questions; Chapter 3: The Tailspin Scenario; 3.1 The Tailspin Company; 3.2 The Surveys Application Architecture; Chapter 4: Building the Mobile Client; 4.1 Overview of the Mobile Client Application; 4.2 The Design of the User Interface; 4.3 Using the Model-View-ViewModel Pattern; 4.4 Questions; 4.5 More Information; Chapter 5: Using Services on the Phone; 5.1 The Model Classes; 5.2 Using Isolated Storage on the Phone; 5.3 Handling Activation and Deactivation; 5.4 Handling Asynchronous Interactions; 5.5 Synchronizing Data between the Phone and the Cloud; 5.6 Using Location Services on the Phone; 5.7 Acquiring Image and Audio Data on the Phone; 5.8 Logging Errors and Diagnostic Information on the Phone; 5.9 Conclusion; 5.10 Questions; 5.11 More Information; Chapter 6: Connecting with Services; 6.1 Installing the Mobile Client Application; 6.2 Authenticating with the Surveys Service; 6.3 Notifying the Mobile Client of New Surveys; 6.4 Accessing Data in the Cloud; 6.5 Filtering Data; 6.6 Summary; 6.7 Questions; 6.8 More Information; Chapter 7: Interacting with Windows Marketplace; 7.1 The Application Development and Publishing Life Cycle; 7.2 Application Certification Requirements; 7.3 Packaging the Application; 7.4 Summary of the Submission and Validation Process; 7.5 Displaying Advertisements in an Application; 7.6 Accessing Windows Marketplace within an Application; 7.7 Questions; Appendices; Tools, Frameworks, and Processes; Setting Up a Development Environment for Windows Phone 7; Using a Hardware Device during Development; Developing Windows Phone 7 Applications; Debugging Windows Phone 7 Applications; Unit Testing Windows Phone 7 Applications; Additional Tools and Frameworks; Silverlight and XNA in Windows Phone 7; Basic Differences between Silverlight and XNA; The XNA Game Execution Model; Using Interop from Silverlight to XNA; Excluded Classes and Assemblies; Leveraging Device Capabilities; Scenarios for Device Capabilities; Accelerometer; Camera; Contacts and Messaging; Device Information; Location and Mapping; Media; Search; Sound Recording; Sound Playback; Touch and Gestures; Vibration Alerts; Web Browser; Windows Marketplace; Reactive Extensions; Prism Library for Windows Phone 7; About Prism for Windows Phone 7; Contents of Prism for Windows Phone 7 Library; Microsoft Sync Framework and Windows Phone 7; About the Microsoft Sync Framework; Using the Sync Framework; Synchronization for Windows Azure and Windows Phone 7; Answers to Questions; Chapter 2: Designing Windows Phone 7 Applications; Chapter 4: Building the Mobile Client; Chapter 5: Using Services on the Phone; Chapter 6: Connecting with Services; Chapter 7: Interacting with Windows Marketplace; More Resources for Developers; Microsoft Press® books;