I’ve been preparing a new laptop for the majority of the weekend that I am planning on using at Codemash 184.108.40.206 to teach a full day seminar. It has blown my mind at the amount of software, and patches and service packs I have had to install in order to setup a new development environment to mainly get the http://www.dinnernow.net demo to work. We have to find a better way!
Hopefully someone at Microsoft is listening and reading this. If you work for Microsoft, please pass this plea of help along.
Let’s look at the problem real quick. As a .NET developer we all understand that we have to install Visual Studio. So we do. Then there is always a service pack, or a service pack to the .NET framework (depending on when you are installing during the life cycle). Then we need to install SQL Server, and then a few service packs for it, and then we need to install the ASP.NET MVC kit, then the Silverlight kit (which has a few dependencies) and then we have to install…. well you get the idea. It is a never ending install of one thing and another.
Having a lot of friends that work at Microsoft and knowing how things work internally a bit, I know that different teams are responsible for various pieces of the .NET developer ecosystem. I also understand that what I am about to ask is not going to be trivial to build but I think it is a must because of how large and vast the .NET platform is these days. And of course it is about to get bigger when Windows Mobile 7 launches and comes out.
What I Want
I want my cake and to eat it too. Of course. But seriously, here is what I want. I want a *tool* or something baked into Visual Studio whereby I can install different things with a single click. Hmm, I’ve seen this somewhere before, oh yeah, the “Microsoft Web Platform Installer”. Here let me give you a clearer picture:
This tool, targeted at web developers only, is a start in the right direction, but the problem is the scope is too narrow. It needs to encompass the WHOLE platform. Personally I think this tool should be expanded to allow me to easily find any and everything I as a developer could possibly want to install. This may be CTP of MVC 2, a new release of Silverlight, or a new mobile SDK, or a Dublin or Oslo preview. Whatever it is it doesn’t matter, I should have a ONE stop shop whereby I can grab whatever I want. Oh, and it should interface with my MSDN account too in case there is something I need that I can only get off of MSDN.
Here’s a question: Why do I have to do a web search to find what I am looking for? Why do I have to figure out all of the dependencies by reading multiple web pages and so on. Every time I have to do a search for something that I need an angel looses their wings. Please help us keep the wings on the angels.
I understand this would require the left hand knowing what the right hand is doing but we as .NET developers need a simpler way of finding what we need and installing it than what we have today. Not to mention the fact that it boggles the mind of those to no end trying to learn .NET. I know this can be better. It just takes focus and prioritization.
You know what, even thinking about it more, 3rd party vendors would LOVE this tool if they could plug their stuff into it. And I, as a developer would LOVE to be able to install my favorite add ins without a fuss. This could be huge.
So there you have it, what do you say? Or maybe someone out here on the Internets has even a better idea. Like for example, maybe create PowerShell scripts that help us (similar to apt-get on Debian Linux). I personally don’t care how you do it, you have smart people there that can figure it out, I’m just the messenger telling you there is an opportunity here.
Thanks for listening,
Keith “is this thing on?” Elder