Windows Vista for Extreme Programming?

Hey guys,

As you can probably tell, the bright shiny lights of the soon-to-be-released products like Windows Vista and Office 2007 have caught my eye lately.  I promise I’ll be back to Team Foundation Server blogging soon.

I’ve been playing with a feature in Windows Vista that I thought might be useful for development teams who are practicing Extreme Programming.  The feature is called Windows Meeting Space and is one of the out-of-the-box applications that takes advantage of Windows Vista Peer-to-Peer networking and more specifically, People Near Me.

Both Peer-to-Peer networking and People Near Me are vast areas that I don’t fully understand; Justin Smith does a nice job of talking about the technology in his recent MSDN article.

In terms of leveraging what is already there, Windows Meeting Space struck me as an easier to use netmeeting/netsharing/livemeeting technology.  It seems perfectly suited for a quick code review, or paired programming session.

I found Windows Meeting Space from the handy search dialog in the start menu:

Wms1

Starting a meeting is pretty easy – easier than most of the Microsoft collaboration tools I’ve used.  Basically pick a name and a password.  I like how Windows Meeting Space puts the time into your name automatically.  You could also search for existing meetings.  Let’s say that we’ll create a code review meeting.

Wms2

Once created, you can invite people from the menu.  This is where People Near Me (PNM) comes into play.  PNM is supposed to search your subnet for peopled who have chosen to broadcast their identity.  From this list, you can invite people to join your meeting.  It might have been because of mismatching versions of Vista, a weird network connection, or something else, but I was never able to get a list populated with people near me. 

Wms3

In any case, you can use the “Invite others…” button to create an invitation file that you email around.  Or, people in your network can use Windows Meeting Space to find this meeting, and invite themselves.  For example, on my other Windows Vista machine, I’m running Windows Meeting Space and I can see this meeting we’ve just created:

Wms4

Suppose that we were given the password out of band, we’re able to join this meeting.

Wms5

Now we can start some sharing and do our code review.  If you press the sharing icon in the meeting, you get a choice of what kinds of applications you want to share.  The PNM API supports a way to determine whether the attendees of your meeting have the same application or not.  In our case, since we are doing a code review, we’ll share Visual Studio.

Wms6

As the person you initiated the sharing, you see a subtle tool bar in your desktop that says you are doing the sharing.  You have the option of stopping your sharing, pausing it and even sending it to a projector.

Wms7

On the other side, for the folks who are attending the meeting, they see Visual Studio embedded into their meeting space window.

Wms8

The image of VS that I have there is really squeezed, it is because I only have 1 monitor, so I have to show both my host VS instance as well as my shared one on the same real estate.

Anyone in the meeting can request control of the application and make code changes, comments etc.

None of this is necessarily anything new – you could always share with LiveMeeting and Remote Assistance and what not, but somehow Windows Meeting Spaces feels easier to use than all of those technologies.  I like that you don’t have to explicitly send out invitations if you don’t want to; you can just search on your network for a meeting to join.  Also, I like that there is an API underneath the covers; in theory you could build this type of sharing into right your application.  For example, for Visual Studio, maybe you could setup sharing for individual document windows or something?

In any case, I thought this might be an interestig feature in Windows Vista, so I thought I would share.

Thanks!

Eric