We all need more PowerToys

One of the most exciting projects I’ve been involved in over the past year has been
the start of the VS Powertoys program
I first wrote pieces of what became the VSTweak project as sample code because I was
constantly being asked how enable certain changes in the VS IDE and I was tired explaining
the ugly registry hacks required to unlock the hidden potentials customers were seeking. 
I never had massive distribution pictured, but I figured I could give it to people
that asked me about these operations.  When I started showing my sample project
around internally I got a lot of positive feedback from people who believed customers
would love this stuff. 

After finding some more tools and customer requested enhancements to polish we decided
to create the gotdotnet workspaces.  I really liked this idea because it had
the potential to enable VS team members to work closely with their customers on projects
that would benefit both. (IMO, the more our team members have quality interaction
with customers the better understanding they would have of the problems faced by real
word developers.)  It also meant the tools would benefit from the open source
model and serve as good samples for other people looking to extend the shell. 

We released the initial set of Powertoys early April.  Since then there have
been over 36k combined download requests (I’ll note that we lost our ability to count
towards the end of the first month when we switched to issuing releases on the workspaces
themselves.), over 125 requests have been made by people wanting to be a part of the
projects, I’ve been forwarded countless positive blogs and reviews from around the
globe, and (most importantly) a community has started to grow around these projects! 
All of the released tools have seen improvements and/or new features added from these

Has the program been successful?  Well, here are the initial vision/goals I had
in mind:

PowerToys Vision

To help customers get more out of current releases of VS .NET through the release
of cool tools from Microsoft that unblock requested scenarios or otherwise make life
with VS .NET easier. 

Additional Goals

• All tools will release source code that conforms to common coding conventions
and allows customers to additionally enhance the tools or just use as sample code.  

• To support the Power Toys community by participating in the official forum
and help with ongoing development. 

• Use feedback from customers about power tools to support feature additions
for future versions of Visual Studio or decisions for future power toy releases.

The high download count and positive reviews lead me to believe that we have helped
customers get more out of VS.  Customers have been able to understand the code
we’ve provided enough to enhance/further the tools over time.  It’s hard to measure
our support success, but I think we’ve done well at helping people with any problems
they’ve encountered.  I am disappointed we had to provide the amount of initial
support we did, but I guess that’s what happens when you go from 10 users to a thousand. :-)
I’ve seen some great ideas for new Powertoys come out of the project and I’ve also
been involved in some great discussions about some of the other frustrations customers
have had with VS, however I believe that our success with the last goal is something
you (and I to some extent) will have to wait and see on. 

I’ve enjoyed the project because it’s been my chance to be part of something that’s
a little different for Microsoft to be involved in.  I’ve also met some of our
best influencers and customers through their participation in these projects. 
These guys know who they are, have made some great contributions to the project, and
are just exciting to work with because of the passion they bring with them. 

It may sound as if I’m ready to just call this program a success, but I don’t think
that’s something I’m ready to say.  We’ve seen some success to date, but I think
to be really successful there is a lot of effort yet to be made including the final
releases of the VSCmdShell and Transparency tool (which looks really cool BTW).  
After these milestones are reached the next step may be to re-evaluate what achieving
truly ongoing success means for this project.  If anyone has any suggestions
on where we should take this let me know.  So far these are just my thoughts
to date and I wanted to get them out there. 

Thanks for Reading,


PS: Thanks again to everyone that has contributed so far to make my vision a reality.