As Cheryl blogged last week, she and I have been working with a team of others to develop a Windows Phone 7 guidance application. This application demonstrates how to address several common challenges as prioritized by customer support issues, questions, and feedback.
Our goal for now is to provide an application one step up from "hello world". The application must be "real-world" and "end-to-end" enough to address several common challenges, but otherwise be as simple as possible. It should minimize application-specific code and maximize code with more general relevance. Additionally, it should be well documented.
To address these needs, we decided to create a fuel efficiency calculator called “Fuel Tracker”. This application requires only a few screens and a few data objects, but has just enough complexity to warrant a non-trivial architecture. Additionally, there is minimal application-specific code since the fuel efficiency calculations are trivial.
The documentation for this project is still mostly in development, but the application itself is nearly complete enough to call "v1". We have just posted a third drop, if you'd like to take a look and comment on our progress.
Currently, the Fuel Tracker application addresses the following challenges:
- How to design the user interface (UI) and choose appropriate controls.
- How to choose and use appropriate icons and graphics.
- How to use the application bar.
- How to store and retrieve data using isolated storage.
- How to display the data in the controls, allow editing, and perform validation.
- How to handle deactivation and reactivation ("tombstoning").
- How to handle navigation between pages and the use of the back button.
- How to use the photo chooser task.
If you have any questions or comments about these challenges and how they are addressed in the application, use the project Discussions page or add a comment to this blog post.
If you'd like to see other challenges addressed in a future release, use the Issue Tracker page to add new challenges or vote on the ones already listed.
Silverlight Developer Guidance