My History of Visual Studio (Epilog)

Visual Studio 2010 Launched on Monday.  Wow!  It’s HUGE.  A major round of congratulations are in order for everyone involved, not just on the Visual Studio team but also on the Frameworks team and the supporting teams and of course the customers whose feedback was so vital to the success of the product.

I’ve already written a lot about VS2010 previously in the series and I don’t want to go over all that stuff again.  In my last history posting, back when Beta 2 came out, I covered all the major things that we wanted to get into this version of Visual Studio from an architectural perspective.  You could look down that list and get a feel for whether or not the release was a success from that perspective. I think key architectural features like a full WPF surface, MEF extensibility, extension management generally, and of course multi-targeting were delivered.  General purpose multi-targeting is a huge thing because it means we don’t have to do a VS SKU release for every new target platform that comes out – that was a critical thing for our own sanity.  And WPF has certainly (finally?) proved itself as a viable platform for a flagship application.  We set out on a multi-release remodeling plan and I think we delivered an excellent first-installment.

You might be wondering why I was so quiet during the home stretch. I’m afraid my perspective on the VS RC and RTM milestones was an outsider's.  The Beta 2 push was my last major hands-on involvement with the product; probably the simplest diagnosis is that I burned myself out at that point.  In any case I took a vacation after that Beta with the goal of returning to find a new challenge.  I’d been in the Developer Division about 7 years, for the second time, and I like to move around about that often, so it was time.  I’d love to take some credit for fixing the daunting memory leaks that were left in Beta 2 but I’m afraid all credit for that goes to my capable colleagues to whom I am forever grateful for taking this particular release across the finish line.

Some things were lost on the way in the name of getting the necessary stability and basically locking things down.  It’s kind of a sad thing when that happens but it’s a necessary thing – they’ll just have to wait for the service release.  Nearly ready to go things that just needed a little more bake time are a great thing to have in your pocket at that point, but there are a few especially delightful things that I wanted to mention, sort of unexpectedly delightful, for me anyway.

We started with an ambitious goal to make a major dent in Visual Studio’s setup experience.  A lot of what we wanted to do ended up having to be pared back and I feared we would end up making little progress but in the final analysis I think the setup experience is substantially better.  Seeing tweets on how people had successfully installed in less than 30 minutes was very nice.  More than I hoped for in the darkest hours.  My own experiences during the beta were the best of any VS release I’ve ever installed – and that’s a lot of releases.

I feared the historical debugging feature, IntelliTrace, was going to be too bulky to use all the time but that’s not proving to be the case at all.  I’m just getting used to having it available all the time and it’s proving to be much more of a game-changer than I ever imagined.  I wrote more about the history of that feature previously so I won’t go on other than to give some kudos to those that worked hard to make that feature reality.

I didn’t think TFS was going to be so universally important but the ease with which TFS Basic can be brought online was just staggering.  In just a few minutes I configured my own home TFS installation – it’s great to have that kind of quality ALM system so easily available to everyone.

The rate at which new extensions are appearing in the gallery is incredible.  I’m so glad to see this hub creating energy for all our customers, but there was one extension in particular that made my day.  Dmitry Kolomiets produced, I think, the first Solution Load Manager extension.  Why do I care so much about that particular extension?  Well there’s a story there: from very early on in the history of VS2010 I was espousing a philosophy that we could not universally load every project in a solution and achieve our memory goals – many solutions are just too large and it’s entirely normal to not need every project.  But there is no reasonable way to manage solutions.  Unfortunately there was just not enough time to make this feature a reality – but there was enough time to add the necessary APIs so that a 3rd party could make us load less and manage what was loaded.  With that support they could build their own UI to drive the experience.  It was hoped that the performance benefits from such a system would motivate the creation of a variety of managers with different policies – potentially tied in to the great refactoring engines engines already out there (e.g. CodeRush and Resharper).  But it was just a hope.  Now there is one!

I could go on for ages.  The diagramming support and of course our uses of it.  Integrated Silverlight support, ASP.NET 4 with MVC2 (read about it on Scott’s Blog).  Language improvements in C#, VB, and C++.  Did I mention Windows Azure support as well?  Sharepoint support? F#?  It’s huge.

This was only “My” History of Visual of Visual Studio.  For me this is the "epilog" but for everyone else, VS2010 out the door, it’s time to begin your own History. 

Congratulations and Enjoy!