TFS 2008 is now on customers hands and for us that means planning and executing on our next release. Today I wanted to share with you some of the changes we are working on for the Resolve (conflict resolution) experience.

Prior to describing what we are planning to accomplish, lets step back and analyze the reasons for our development investment in order to improve experience, essentially what is wrong with it today. If I was to itemize the feedback I would do it in the following way:

  • Issue 1: The current resolve experience is modal which hinders my ability to effectively perform research on the conflicts prior to resolving them
  • Issue 2: The resolution options do not make sense to me and I get confused. I don’t really know what the system is going to do. In addition, the options between the command line and UI are completely different.
  • Issue 3: In certain flows (like a rename in a branch), I as the user, need to go through 2 modal screens and perform more than 4 clicks in order to resolve the conflict

Clearly there is room for improvement :)

After doing some research internally and externally we went back and came up with what we think is a very simple and elegant design grounded on the following principles:

  • powerful and relevant information at your hands
  • answers to why and what will happen
  • build an end to end experience that can accommodate future innovation

Now lets look at a screenshot of what we are building

image

The main improvements which we have made are:

  1. the resolve experience now takes place inside the pending changes window
  2. we have standardized the options to now have a prefix of Take (for things coming from the server) and Keep f(or things in your local). We think this will solve the confusion of what it means to Accept Theirs and Accept Yours
  3. We have included information about why the conflict is happening (see the conflicting edits) and also allow one click diff experience

I should also add that there are two more big feature slotted for resolve which are not shown here and those are: filters and a better experience for namespace conflicts.

As always please ping me or post a comment here with any feedback that you have