Featured Post

How To Run a ClickOnce Application on Startup

When .Net 2.0 launched several years ago, WinForm developers got a brand new technology baked into the framework that allowed WinForm applications to be deployed similar to a Web application.  The technology was called ClickOnce.  ClickOnce has seen a few enhancements since it’s initial release such...

Read More


Dear Microsoft: Please Simplify Your Platform for Developers

Posted by Keith Elder | Posted in .Net, MVP10 | Posted on 09-01-2010

I’ve been preparing a new laptop for the majority of the weekend that I am planning on using at Codemash 2.0.1.0 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. 

My Problem

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:

image

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

  • http://www.sadev.co.za/ Anonymous

    VS2010 has a new feature called the Extension Manager (not to be confused with the add-in manager) which is almost 100% what you asking for.

    - The extension manager works with the current VS online gallery so many addon’s and packs can be found (no MSDN support)
    - The have a package format for VS addon, features which is a ZIP file (with funky extension), a XML file telling VS what to do with it and the files needed.
    - For things which are not for VS, say Icons, zip files or documents can be sent down.
    -Built in search options in the extension manager too

    Not sure how it handles dependencies and I suspect that somethings from MS won’t be there and will remain download only or in a different tool like the web platform tool, but it is a start in the right direction.

    Have you thought of submitting your idea (or at least the bits that are still missing) to connect.microsoft.com so that it gets into the hands of the developers, rather than just posting on your blog and hoping someone with some clout stumbles on it?

  • http://ww.timvw.be/ Anonymous

    ms-get -i platform

    (sounds unreal.. but would be very welcome ;)

  • http://www.johndcook.com/blog Anonymous

    My problem isn’t all the installations, it’s all the possible points of failure, all the things I need to understand, or at least may need to understand when something breaks.

  • http://www.fallenrogue.com/ Anonymous
  • http://keithelder.net/blog/Default.aspx Anonymous

    @Leon

    There was a rumor that someone was trying to build one at one time, but honestly I don’t remotely have the time. Not just to build it but trying to manage it all would be a lot of work.

    I don’t know, I think it is something *they* should have for their platform. If I built it, yeah it may work for a small subset of people but it would miss the overall goal of *everyone* using it. I think it has to be owned by them and baked into the ecosystem at a root level, not an out of band type of system to really make an impact.

    There is also data that Microsoft has that we don’t on the outside. For example MSDN data as well as for they know those that are MVP’s or Advisors. It would be an opportunity to provide pre-CTP releases to that community easily. Which would be a huge improvement over the way things operate today.

  • http://fallenrogue.com/ Anonymous

    Just create a package manager app for .NET, Elder. Why wait for MS to build one? Make it simple for .NET developers to list their projects and then have community members to manage download locations for MS proper downloads.

    Many development envs have something similar to that concept and I’m surprised there’s not one for .NET.

  • http://jonkruger.com/blog Anonymous

    I’m totally with you. The Web Platform Installer is awesome. Now I expect everything to be that easy.

  • http://www.sullivansoftdev.com/blog Anonymous

    I wholeheartedly agree. I think Microsoft is on to something with the Web Platform Installer. It’s worked great for me the couple of times I’ve needed to use it. Turning that into a “one stop shop” for the Microsoft platform as a whole is an excellent idea. I hope MS is smart enough to have already thought of this themselves, and more importantly, that they have the constitution to get all the teams on the same page to make it a reality.