I have just finished 5 very busy weeks leading the development of 2 showcase apps for the Windows Phone 7 launch.

As well as a excellent SDK there have been some great extras creeping out from the Silverlight and Windows Phone 7 team in the US. The one I wanted to highlight was Delay’s LowProfileImageLoader which makes it easy to off load the loading of multiple images at once to a background thread.

Before you rush off to take a look at his excellent work take note, if you use Expression Blend or indeed the VS2010 tools you may have some problems with the designer tools crashing. I added some code to the LowProfileImageLoader to turn its coolness off when in the designer

In LowProfileImageLoader.OnUriSourceChanged I added a DesignerPropeties check

Image image = (Image)o;
Uri uri = (Uri)e.NewValue;

if (!DesignerProperties.IsInDesignTool)
{
    lock (_syncBlock)
    {
        // Enqueue the request
        _pendingRequests.Enqueue(new PendingRequest(image, uri));
        Monitor.Pulse(_syncBlock);
    }
}
else
{
    // Do not try and perform delayed download when in designer tools
    BitmapImage bitmapImage = new BitmapImage(uri);

    image.Source = bitmapImage;
}

His POST is here Keep a low profile [LowProfileImageLoader helps the Windows Phone 7 UI thread stay responsive by loading images in the background].

I had a great time and found the whole development experience way more enjoyable than the pain of Android development. The phones should be ready for Christmas 2010.