The big news at Mix this year was the upcoming release of Mango – the next generation for Windows Phone. Among the many exciting new features were a few new tooling capabilities that will change the way you write your Phone applications, making life far easier, and making your programs more efficient and performant. Let’s focus on just three.
This means that you can open the extended emulator panel and you are presented with an image of the phone (which can be landscape or portrait, lying flat or standing). In the center is a pink target which you can drag to move the phone around on either the X or Y axis.
As you do, both the image in the extended emulator and the emulator itself are moved in coordination with your changes. You can immediately see, in real time, the effects that changes to the orientation of the phone will have on your application.
The second panel in the extended emulator is for simulating changes in Geo-location. This is even more powerful. In the past, you could always drop down to the device to test the accelerometer if needed,but testing abrupt changes in location, especially across significant differences, was inconvenient at best.
The location simulator lets you simulate any location in the world, and you see immediate response in your location-aware application. Even better, you can enter a series of locations and the time interval between them, and then “play” the series of locations as if you were driving (or flying!) from one to the next.
Performance is a key concern with phone applications, and achieving a smooth-scrolling highly efficient, low memory footprint application that performs as expected can be a challenge. Having a world-class profiler makes this task enormously easier, and the new profiler available with Mango will blow your socks off.
I predict (and hope) that there will be at least one great book dedicated solely to using the profiler well. It is pretty easy to get started with the profiler, but plumbing its depths could take you a while
Thankfully the profiler not only provides you with statistics on FrameRate, CPU Usage, Memory Usage, Storyboards and Garbage collection, but for each piece of information it makes suggestions on how to pursue the information, and provides the ancillary tables and graphs to let you dive into the problem, drilling down to see exactly which lines of code are causing problems.
To learn more about all three of these tools, I recommend the Mix 11 talk What’s New In Windows 7 Developer Tools from which I cribbed the images above.