Friday, February 25, 2011
Simplifying WP7 local data storage development and testingWritten by: Anthony Hooper and Romeo Dumitrescu
One of the biggest challenges for developing any advanced Windows Phone 7 applications is not using or manipulating the isolated storage, but rather having to continuously set up test and development data over and over again as new features are added or bugs are found and fixed. Although the WP7 development tools Microsoft has provided are arguably the best of class, there currently is no easy way to explore, load, or export local data in a WP7 device or emulator that is developer friendly. Until now.
Enter the WP7 Isolated Storage Explorer. Both a stand alone tool (that connects either to an emulator or a tethered device) or a Visual Studio 2010 plug-in that enables developers and QA specialist or testers to explore, save, and even upload data to the isolated storage.
Lets first explore why the isolated storage is important for WP7 applications. Relying heavily on loading and storing data from the cloud (web services) results in slow loading and sluggish response time of the application. It’s a best practice to cache some data locally and in many situations much of the data in a mobile application can be stored locally, something many application do not do.
So how does the WP7 isolated storage explorer enter into the development cycle? Simply put, it facilitates iterative development and testability of your WP7 applications by facilitating saving, loading and exploring any isolated storage files associated with your WP7 applications. It will speed up debugging edge cases by enabling developers to load isolated storage cache files to the emulator or device, it will empower QA/Test specialists by enabling them the power to explore local data files to help identify critical bugs. Furthermore, it will speed up testing and feature development by enabling testers and developers the ability to preload their devices/emulators with dev and test data to short cut recreating use cases.
How do you get started?
- Download and install the WP7 isolated storage explorer using the release setup file. The installer will install:
- A service used to communicate with the WP7 deployed applications
- A desktop client ideal for testers or non developers
- The Visual Studio integrated client. Note: Visual Studio 2010 must be installed first
- The explorer library
- Open your WP7 project and add a reference to “IsolatedStorageExplorer” (visible on the .NET tab in Add Reference dialog or by browsing to INSTALLDIR\Library)
- Add IsolatedStorageExplorer.Explorer.Start("
"); (wherehostname is the host name or IP of the testing or development machine) in the Launching event handler. An example is show bellow:
// This code will not execute when the application is reactivated
private void Application_Launching(object sender, LaunchingEventArgs e)
// Code to execute when the application is activated (brought to foreground)
// This code will not execute when the application is first launched
private void Application_Activated(object sender, ActivatedEventArgs e)
// This will restore the state of the explorer and the hostname after
// reactivating the application
- Start exploring your application’s Isolated Storage!
Finally, why did we start this project? It started as one of our developer's aggravations with the MS provided SDKs. Not that they weren't fantastic (they were very complete) but local storage was difficult to work with. Furthermore, Macadamian believes in efficient, predicable testability of all applications we build. We felt that this was missing from the SDKs provided by Microsoft and hope that this project/tool can help the WP7 developer community. There is nothing like a little healthy competition on the mobile marketplace!
Thanks for sharing your insights. I find that topic very interesting. I like how you described the factors in Windows Phone 7.
data protection australia
data protection australia
Local data storage can only do so much. When you have too much files, it's best to delegate data storage to professionals.Post a Comment