More SkyDrive goodness

We’ve updated SkyDrive with some nice new features. One of the biggest hassles with SkyDrive before that was that it was hard to invite new people or add new contacts to the list. We now allow you to add new contacts (whether or not they have Live IDs) and people will be sent invites. If…


Frustrating error using Remote Desktop

Recently I’ve started hitting the error below when trying to connect to one of my Windows 2003 Server machines with the /console option: (Error connecting to existing session for dancre (Id 0). The operation completed successfully.) You’ve got to love an error explanation of “The operation completed successfully”. Restarting the server box fixes it for…



Tafiti is an interesting search experience built on top of Windows Live Search and SilverLight. Be sure to click the tree view. It’s pretty cool stuff, from some people I used to work with.


Windows Live SkyDrive/Spaces integration

Another feature that went live today is the ability to add a “Files” module to Spaces that shows the visitors to your Space the folders they have access to. LiveSide blogs about it here. Scott also has a nice plugin for Windows Live Writer that makes it easy to embed things in Writer. Nice work!


Windows Live Folders is now Windows Live SkyDrive!

We have updated Windows Live Folders and rebranded it as Windows Live SkyDrive. There are lots of cool new features. One of my favorites is the rich upload experience that lets you easily upload lots of files at once, including drag and drop. You can also view the home page for other users, see recent folders…


A pattern for unit testable pages: Part 4

Okay, now for unit tests of the code from part 3. The goal is to completely cover RenamePageModel. First we need mock implementations of IPageContext and IDataAccess. For IPageContext, we are going to use special exception types for page not found and server errors. And, we’ll add an accessor to track redirects. It’s all pretty…


A pattern for unit testable pages: Part 3

In this post, I’m going to give an example of the pattern in action, built on the classes described in the last post. For the example, I’ve chosen something similar to the rename page on Live Folders. Here’s how it should work: The Url should be of the form http://<server>/rename.aspx?path=<path to item>. If the item…


A pattern for unit testable pages: Part 2

In part 1, I gave an overview of the pattern. In this part, I will describe some of the core classes. Let’s start off with the PageModel itself. It’s the most simple. It is an abstract class. Subclasses must implement OnLoaded. It has an associated IPageContext (see below) that the model will use to interface with…


A pattern for unit testable pages: Part 1

I previously blogged about the pattern we used in our WPF application to separate business logic from the presentation, making the business logic view and data models highly unit testable. Now that I’m working on code for Live Folders, we’ve worked to come up with a similar model that separates the business logic from the presentation. The model we use may not…


Live Folders is live!

The product I’ve been working on, Live Folders is now up at for a limited beta.