Wednesday, September 19, 2007

Source Control Usability improvements for Team Explorer and Teamprise

Good day! Now that we've been up and running in TFS for about five months and have 150 or so users on the system, I thought it would be a good time to aggregate some feedback from the users on how the Source Control experience can be improved.

- Add "Your current project" functionality like VSS has.

In a VSS user's ss.ini file there is a "Project" setting (e.g. Project = $/Development/client") that remembers where the user was in the tree when they last where logged in. When the end user closes/opens Team Explorer and Teamprise Explorer, they have to traverse the tree to get back to the structure they were working in. It would be nice if the tooling remembered where they were, so the user does not need to start over again each time the open the tool.

- Changes between or after labels.

I understand why "Labels" don’t show up in Version History in TFS. Buck Hodges does a nice job explaining the reasons. This being said, there should be an easy way for the end user to quickly answer the question "What changes happened since this label (or better, happened after this label and are not included in this label)". My thought would be to include a tool in the interface (i.e. Team Explorer or Teamprise) where the user can pick a label and then see the changes after it or before it. For us adding the label in the version history would be sufficient, as we don't edit labels we just re-label for a change, but again I understand the issues with doing that.

- Show the date of when the label was first applied (or updated).

Right now, we can't see when the label was applied in the interface (i.e. Team Explorer or Teamprise). In addition to the label name, owner, comment, I think seeing the label date (applied or last updated) would be helpful.

- Change the "User" in the Version History to a friendly name

No one knows that I'm U000124578924. They simply know me as "Noland, Mac (Company)". Yet in Version History, the unique ID is used and thus we have to look the unique ID up in Outlook when we want to see who actually changed something.

- Enabling the Compare selection on files that are not downloaded locally.

I know this problem can be solved via selecting two files in the Version History result window, but as an Administrator I can a number of questions regarding why they have to download the file first before "Comparing" it with another file.

- Allow "Get Latest Version at Checkout" to be a preference setting.

Ii Teamprise we really like the preference setting where a user can select "Get Latest Version at Checkout" instead of having to do a get latest and then check out. Team Explorer should include this setting as well. While it's probably philosophical, I'd like to see the setting be the default. It would avoid a number of merge conflicts in our group.

- Right Click and "Set Working Folder"

Teamprise Explorer makes setting up a workspace mapping easy as a Right Click and "Set Working Folder." Team Explorer should implement this feature as I field a number of questions from Team Explorer users on how to setup their workspaces. Teamprise users never ask.

- Recursive Compare of server files with local files.

Team Explorer with Power Tools 1.2 allow this. I hear Teamprise will have this feature in a future release as well. This is a very nice feature and one our team uses all the time in VSS.

- "Find in Files"

Maybe I'm missing something, but I don't see a "Find in Files" function like VSS had. I've got a number of people asking for this feature. Right now they have to do a Get Latest and then use a separate tool (e.g. Eclipse) to do the search.

- Multiple Source Control trees pointed to one local directory
This is the most common question: "How do I map $/TeamProject/mainline and $/TeamProject/release/7.12 to my c:\Development folder like I do in VSS?" Our answer is, "You can't." That is, unlike VSS you can't have a local directory (e.g. c:\Development) that looks at two Source Control trees. While I can see why TFS did this (e.g. helps you avoid stepping all over yourself) most people want this feature back in TFS.

I'm sure there will be more requests that pop up, but these are the most common questions we've gotten from the user base so far.

No comments: