I've been thinking for quite a while of a way to improve the TFS administration user experience. That is, most of us agree that administering TFS using current tools is confusing, at best.
Some time ago I had the chance of reading complaints from different who basically stated the same idea: create a more consistent
user interface for TFS administration.
We have several tools that improve the daily tasks of admins - e.g. Accentient's sidekicks and the nearly-ubiquitous TFS Admin Tool - but they lack better integration and UX consistency. From a developer's point of view that might seem obvious, given the fact those tools are developed by different people in different circumstances - there's simply no way to integrate them.
However, our users are used to excelent admin tools, such as SQL Server's Enterprise Manager and IIS' Server Manager. They share a common platform - MMC, or Microsoft Management Console, which supposedly was designed with one goal in mind: provide developers with tools to create consistent, extensible admin tools.
So, my question is: What if, instead of having several disparate, inconsistent tools, we had something like the pictures below?
That is the "TFS Management Console" (at least until someone comes up with a better name) - a proof-of concept pet project of mine. I envision it as a platform with only the basic features - enumerating servers and projects, for instance - that takes advantage of the amazing extensibility offered by the MMC framework (especially considering the fact that MMC 3.0 supports Managed snap-ins - which are really straightforward to develop) to allow other developers to add snap-in extensions in an organized, consistent fashion.
Now I'd like to know: what you think about it?
If you have ever developed a TFS utility (or plans to develop one), would you be wiling to develop it as a snap-in instead?
When is it going to be released?
If everything goes as planned, the first bits will be released in July/2007. I'll be stabilizing the platform before opening it to a wider audience. Right after the first release, I'll more than likely be looking for help (i.e. developers) to carry on with this project.
What can I expect from this tool?
Well, you tell me! Actually, I want to gather as much feedback as possible. What would you like to see in such a tool? What tasks are especially difficult to be performed with the currently existing tools? What processes, from an administrator point of view, could benefit from an integrated tool? Please share your thoughts in the Discussions. I promise I'm going to add as many features as possible, which will be developed on top of the basic infrastructure and released independently from it.