software you can take with you

Peter Foot

Microsoft Windows Phone Development MVP

Quick Look at the Mango Developer Tools

The Mango developer tools require Visual Studio 2010 and Service Pack 1. The package includes a Mango emulator image and new project templates. The tools allow you to work with (and create new) projects for Windows Phone 7.0 as well as 7.1 (which is how the tools describe the Mango release. Previous rumours had suggested 7.5. The full list of 7.1 project types is below.

project types

There are no visible difference to the developer tools, you have the same XAML editor and code editors as before and the same Toolbox items.

New Functionality in Microsoft.Phone

Microsoft.Devices namespace now holds classes for working directly with the camera, allowing you to put a live viewfinder in your app and access and manipulate the raw data.

Microsoft.Phone contains a base BackgroundAgent class and the BackgroundAudio and BackgroundTransfer namespaces contain specific implementations for audio and file transfers.

Microsoft.Phone.Info adds new properties and a new way of accessing them. Rather than the GetValue/TryGetValue approach there is a DeviceStatus class with strongly typed properties. The new properties are:-

  • IsKeyboardDeployed (for devices with sliding keyboards)
  • IsKeyboardPresent
  • PowerSource (Battery or External)

There are events for PowerSource and IsKeyboardDeployed so you can monitor when these change.

Microsoft.Phone.Net.NetworkInformation (short and snappy!) exposes a lot more information about network connectivity. DeviceNetworkInformation exposes not just current network availability but also whether Cellular Data or Wifi are enabled. In the case of Cellular Data you can determine if the phone is roaming. This method also exposes the ability to dom a DNS lookup for a server. Via NetworkInterfaceList you can get a full list of all the network interfaces and their characteristics. Extension methods are provided for WebRequest and Socket classes so that you can specify which network you want them to use.

Microsoft.Phone.Notification contains some small improvements to the HttpNotificationChannel functionality. You can now query the connection status and monitor when it changes.

Microsoft.Phone.Scheduler contains classes for scheduled actions, either background tasks, timed alarms or system-wide reminders.

Microsoft.Phone.Shell adds improvements for tiles and the system tray. For tiles you can modify data locally without a round-trip to the notification server. You can also create secondary tiles for functionality within your application. The SystemTray finally lets you change the background color and also allows you to expose progress text or a progress bar in the system tray as the built-in applications currently can.

Microsoft.Phone.Tasks contains some new Launchers/Choosers:-

  • AddressChooserTask – Pick a mailing address from your contacts
  • BingMapsDirectionsTask – Get directions to a specific location
  • BingMapsTask – Center a map on a specific point
  • GameInviteTask – Start a multiplayer game
  • SaveRingtoneTask – Allow a user to save an audio file you provide to their ringtones on the phone


Microsoft.Phone.UserData contains classes to access (read-only) Contact and Calendar data on the phone.

Of course this is merely scratching the surface. These improvements (especially features like background tasks) open up whole new possible features in our apps!

Download the tools now :


Published May 24 2011, 07:38 PM by PeterFoot
Filed under:


No Comments

About PeterFoot

Peter Foot is co-author of the Microsoft Mobile Development Handbook published by Microsoft Press. Peter has been awarded the Microsoft Most Valuable Professional (MVP) accolade since 2003 for his involvement in the Microsoft .NET Compact Framework developer community. Alongside an active presence in several online forums and communities, attendance at developer conferences and involvement in shared-source projects, Peter has also written a number of technical articles and maintains an active technical blog.
Copyright © 2001-2013 In The Hand Ltd. All rights reserved. Terms of Use and Privacy Policy. OrcsWeb's Windows Cloud Server Hosting