19 June 2007 in Microsoft, Mindscape | Comments enabled

We flipped the big switch earlier this week to launch backgroundmotion.com! We spoke a lot about this website at the technical events hosted by Microsoft earlier in the year and how we developed it within three weeks (excluding some subsequent additions as things such as SilverLight popped up on the radar :) ).

So what is BackgroundMotion?

It’s a site where you can go and share you favourite desktop images, and videos for use with Windows DreamScene. However it is a lot more than just that – it’s also a living breathing open source site where you can download the code and check out how we did certain things. You can learn about technologies and design principals used in the site such as:

  • LINQ for SQL (in a .NET 2.0 project no less!)
  • The MVP and Repository patterns
  • How to integrate with Flickr, SilverLight, Virtual Earth, Windows Live Space
  • How to write Vista Gadgets
  • How to write secured Vista Gadgets using WCF
  • How to use the Web Client Software Factory (Composite Web Block)
  • How to work with RSS
  • How to write a basic search engine using Lucene.NET
  • Heaps more!

It really is quite an action packed sample application (and real world application). I’d strongly urge you to pull it down off codeplex and have a play.

I’d also like to urge you all to go and put at least a favourite desktop image or video onto BackgroundMotion.com. It’s a great resource and is getting a good amount of traffic right off that bat (all you need to do is link to the media you want to download. Nigel has an example if you want to host a video).

Web 2.0?
Part of what we wanted to show with BackgroundMotion is not just how to do some cool stuff but to show how you can leverage Microsoft technologies to create really compelling Web 2.0 style applications quickly and easily. We purposefully looked to simply leverage other services on the internet and provide our own services to aid in building BackgroundMotion faster.

Open Source?
This project was built using Microsoft technologies and we did work with folks from Microsoft (Mainly Darryl and Nigel with occasional appearances from Sean McBrean :) ) however this project is designed for developers to have a poke at and to play with. I’d be really excited to see some people pull it apart and add new features and submit them back to us so that we can look at integrating your changes into the codeplex project.

If you do have some patches then please email me.

Not big on downloading source? That doesn’t matter! We have integrated a way of viewing the key bits of code for each page so you can view it on the site. Of course I’d always suggest you dig a bit deeper and download the source – you will learn a lot :)

– JD

Average Rating: 4.9 out of 5 based on 249 user reviews.

2 comments. Add your own comment.

KTC says 20 June 2007 @ 10:52


So you in on this?


Phil Hoy says 31 October 2007 @ 21:51

Wonderful code i have learned a lot just reading the code base but there is one aspect i am not sure about and i am sure this is not the right place to ask but i will anyway.

The static UnitOfWork gateway class uses a static _depth variable for it’s key in the context.items dictionary but surely this is not thread safe as another user could increment the variable. What am i missing?

Leave a Comment

Name (required)

E-mail (required - not published)


Your comment: