Response: Visual Studio should be part of Windows


Jeroen van den Bos somewhat recently penned a blog post where he made the case for adding Visual Studio into Windows.  In it, he reflects on the old days:



Starting up your C64 would show you a prompt that would allow you to start typing in the first lines of your next program straight away. And it was easy to get started: the standard Commodore manual that came with the computer explained the BASIC syntax, complete with examples of how to program with sprites. And if you bought a typical C64 magazine it would always come with a bunch of listings that you could type in to get some cool working program. Just having to type it in confronted you with the concepts of programming.


As well as the problem with discoverability:



My only worry is that a lot of potential will stay untapped because it’s getting less and less likely that kids find out how easy it is to get into this world. Yesterday I had to tell a co-worker (who’s a great programmer) that he could download an Express Edition of Visual Studio and use it at home for free. If he didn’t come across it, how can we expect more casual computer users and kids to find it?


To Jeroen’s credit, the biggest blocker for Express adoption is awareness and beginner-level content.  If a programmer in the industry doesn’t know about a product offering, how is Joe or Jane Coder? I’ll need to dedicate a blog post to getting ideas for how to raise awareness some other day, but let me at least respond to Jeroen’s idea. The short answer is that yes we have thought about it and, at least for Vista, we’re not doing it in the operating system for just some of the reasons listed below:




  • Legal: No really, this was an issue. I’m not going into details, but this is a “deal-breaker” if you will.


  • Setup: Dropping bits on a CD is an easy task, but creating a way to service those bits (and every piece of the Windows OS is serviceable) is not straightforward. Without getting into the weeds of why this is, the short answer is that Windows have a wholly different setup (and therefore servicing model) than Visual Studio does. Servicing would basically be *way* too much work for the benefit. If, however, the setup/installer technologies were unified, this would be much easier.   


  • Vista Bar: To ensure quality, Vista has a number of criteria that need to be met and meeting this bar could add a huge amount of work that the dev team didn’t have schedule for.


  • Localization: A minor one to consider, but Visual Studio Express is only localized in 9 languages while Windows is in some 80+ languages or dialects. Our default answer here is to provide the English language when no localized version is available so this isn’t a showstopper


  • Versions: There are five different versions of Visual Studio Express. Do we include all? Who’s our customer? Which version are they most likely to use? Do we include Web tools? Which version of Vista does it make sense to integrate in (we only went for Ultimate).

Good, Better, Best
Given the whole slew of issues, we considered alternatives. The “good enough” alternative is to have customers just go to MSDN to download Express. It’s not hard and millions are actually doing it today. Second, Vista does include VB and C# compilers so if you wanted to go old school, you could use Notepad and vbc/csc to compile in much the same way you could circa 1980’s which is basically responding to folks who want the “You Did it in DOS with Basic” point.


A better solution was rather than adding the Express products natively, we could just add items in the Start>>Programs>> menu that would link directly to MSDN and start installing on your first run. The thinking here would be that it’s easy to do and whenever we ship Visual Studio Express “Orcas”, we can update the link to get the latest version so customers would have more dynamic software.  Another solution that is possible and we are pursuing is inclusion by OEM (Original Equipment Manufacturers) like Dell, HP, Compaq, etc.  The OEM channel gets past all of the issues outlined above and you could see a company like Dell could including VS Express in their high-end gaming rigs with some cool custom game-modder content (ex: Get the Dell XPS M170 with custom Unreal Tournament Modder content!). Gamers get value in that they want a screaming fast dev box and we would provide free tutorials, videos, etc to get started developing or modding games.


The best solution of course is to just have this in the operating system, but as the comments in your post show, there are many folks who do not want cruft in their operating system. No promises, but we’re of course hoping to get developer tools in as many places as possible.


 


Comments (26)

  1. Dean Harding says:

    The OEM option sounds ideal. Most of the people who start out programming at a young age are doing it to program games (hell, that’s how I started!) so it would be quite attractive, methinks.

  2. Jeroen van den Bos has made the case for adding VS to Windows. [1] Dan Fernandez responds by saying [2]:

  3. danielfe says:

    I figured I should to Jesse’s blog post (comments are disabled on his) where he thinks that besides the legal reasons, this is a "cop-out"

    I’d be curious how he would service Visual Studio Expres given that it doesn’t use the Windows infrastructure.  The fact that Windows and Visual Studio don’t use the same servicing infrastructure adds a surprising amount of work.  It’s fair to blame Microsoft on this one (why don’t we have a unified way to develop, service and localize software?), but it’s not fair to say that there’s no work involved.  Would you have Vista slip to add developer tools that are freely downloadable on the Web?  

    I also think the comparison to Linux doesn’t really make sense.  The primary distribution mechanism for Linux is through download and the level of sophistication of the average Windows user versus average Linux user is completely different.  For our more sophisticated customers, we provide pre-built, pre-configured virtual PCs which provide a Linux distro-like experience.  If customers are already downloading their operating system, than they can certainly download Express just the same.

    It would be interesting to get the non-developer perspective on this issue for a more balanced viewpoint.

    Thanks,

    -Dan

  4. danielfe says:

    Oops, forgot to mention that the mechanism the example he suggests, AOL, is one that is done by *OEMs* and no, AOL is not built into the Windows operating system. The OEM model is exactly the one I advocated. Also, you should know that OEMs aren’t in the business of adding free software just for fun. AOL pays money to get their product as a base install on a Dell/HP/etc image. Given that Express is free, it becomes more challenging to be integrated into an OEM image, but not impossible as long as it provides unique value (ex: Game Developer).

  5. Jared Evans says:

    Dan,

    You have http://www.windowsmarketplace.com/ however the problem with this is that it really tells you all about products not made by Microsoft.

    What you really need is a good page where it lists hot products made by Microsoft, the other day there was a MSN space (http://bhandler.spaces.live.com/blog/cns!70F64BC910C9F7F3!1231.entry) that listed a majority of the free software that Microsoft provides.  Build something like this, make it a default link in IE7.  have it so that you can easily find downloads from MS:R or the DN or Microsoft Game Studios.  Make it all rounded, have the front page showing whats hot.

    http://www.sonyericsson.com/spg.jsp?cc=gb&lc=en&ver=4000&template=ph1&zone=ph take a look at this page.  see the flash menu thing where it has "Win Back Time", "Never Miss a Shot" etc etc do this show off Linq, show off Halo 3, show off Microsoft Scoreboard.

  6. Well, when you have (in XP) media center,home and professional edition, you expect to get from the *professsional* more than just have it connectable to a domain. A preinstalled development platform will do this I guess.

  7. Jeff Key says:

    Why not start a "cool things I can do with my Windows computer" community site? Let people add programs, websites, etc. Include tagging and voting. Have a link to _this_ somewhere in Vista’s start menu. People interested in programming (or anything else) can get immediate access to MS’s offerings as well as anyone else’s. (Make legal happy.) And you give people easy access to client-side apps, which is pretty rare these days w/everything on the web. Apps on the client feed the cash cow.

  8. So there’s a discussion going around about bundling a form of VS.NET (likely some Express Edition) with…

  9. BarryD says:

    Interestingly I asked Developer Platform Evangelism UK a couple of weeks back for some CDs with Express on to give out at user group meetings.

    Apparently the descision was made within Microsoft to only distribute via downloads. So I now face the problem of do I burn some CDs myself, or do I not care about users losing the momentum and just hope that they will bother when they get home.

    (I’m currently involved in starting up a user group in a UK university town, we had the idea of a beginners session first and a more in depth session as the second session on the night and using Express to build a project over a year. We thought it would be nice to give the students an alternative to just Java)

  10. danielfe says:

    Thanks Barry for the heads up. While we no longer have the "box product" available, anyone internally, like the UK Evangelist can order Express CDs for their local geography to hand out to you, your user group or anyone else.  I’ll try to sync up with the UK team and see what the miscommunication is here.

    Thanks,

    -Dan

  11. CoqBlog says:

    Je vous avais parler il y a quelques temps d’un post de Jeroen van den Bos s’interrogeant sur  l’intégration…

  12. nrolland says:

    << Legal: No really, this was an issue. I’m not going into details, but this is a "deal-breaker" if you will. >>

    Legal department VS business ?

    If this really is the case, there should be some serious layoff. How can Microsoft as a business accepts that a department who does not produce value harm branches of the very same company that pays them ?

    << Setup: Dropping bits on a CD is an easy task .. >>

    Well.. what’s the drawback of just doing so ?

    OK I’ll go to the bottom line, concrete example of the stake at hands here :

    I run a trading desk with billions dollars of assets.

    So there are big incentives to manage IT things well…

    Nonetheless :

    – Everyone uses VBA

    – Dotnet is completely unknown. The IT is very reluctant on deploying it…. while many critical systems rely on it !

    I talked to a knowledgeable dev guy who works in RD department about dotnet. when I mentioned 2.0 he said :

    "yes we might be able to receive 1.1 next year, but not 2.0" while, 6 months ago, I had the IT to deploy 2.0 at the trading side where all the critical apps are.

    Dotnet is there, but no one knows it exists.

    I mean even the name is unheard of by the masses.

    And there is no chance a Mort on the business side will have it installed by a Mort on the IT side.

    The only way to overcome this is to have it by default.

    Otherwise in 10 years you’ll still have dirty VBA apps and people looking at you strangely when talking about dotnet.

  13. nrolland says:

    PS: AFAIK, to install it you need administrators rights….

    you can always dream corporate IT policies allows that.

    So not having VS Express by default is a show stopper… for DotNet popularity !

  14. Jon Galloway says:

    I really like your "Better" solution – a Start menu item that downloads the latest version – for much more than Windows Marketplace. Pretty much no one seems to know what that "Windows Catalog" link is for, and it’s really not doing the job.

    It would be great to have a "Get More Programs" folder on the start menu with categorized free downloadable programs. They’d preferably be ClickOnce apps as they become available, but even just direct links to download pages would do the trick, and non-Microsoft links would be designated. Yes, non-Microsoft links. Please oh please, if you can’t ship Paint.NET (http://weblogs.asp.net/jgalloway/archive/2006/01/14/435326.aspx), at least link to it.

    I just helped our babysitter set up her new laptop as she’s getting ready to head off to college (sigh). The first step of this process, as we all know, is to rip all the OEM bundled junk off the machine. That’s why an OEM install is less than ideal. They get paid to load too much junk on these machines, to the Dell L33T G@M3RZ Edition would also come with so much crapware (see the growing list here: http://www.yorkspace.com/pc-de-crapifier/) that the first thing anyone who’s likely to know enough to crack open VS Express would do is wipe the drive and reinstall. The OEM solution sounds good in a conference room, but I don’t think it would work.

  15. Dean Harding says:

    > Legal department VS business ?

    > If this really is the case, there should be some serious layoff. How can Microsoft

    > as a business accepts that a department who does not produce value harm branches

    > of the very same company that pays them ?

    Why? The problem is not that legal don’t WANT them to. It’s that the legal department understands that as soon as they start bundling it, the EU would be demanding a version without it, Borland and Sun and all the other competing companies would be suing for "misuse of a monopoly" and so on.

  16. Dave says:

    Fantasic idea, behind it 100%, but if you are interested in getting Kids programming by exposing them to this stuff by default then you can’t just target the ‘Ultimate’ edition.

    I don’t know if too many parents that are going to cough for the top of the line OS for their kids PC.

  17. An interesting &quot;philosophical&quot; question was posed recently that I just noticed over this past weekend…

  18. Niall says:

    nrolland:

    It’s mainly banks that are so behind the times with software as you describe. They’re afraid of security and stability. What works today will work tomorrow, what’s new tomorrow might not work for some time.

    This is why the bank I work in is rolling out a new desktop application build with Office 2003 and XP SP 2 (which you need for .Net 2.0) by sometime near the end of this year. Supposedly. For the moment, we have to sidestep guidelines/rules just to be able to set up a development environment to write software for the bank. And I’m still using Office 2000.

    Can you imagine how long it will be before we have Vista and Office 2007? Probably 2010 at the earliest. I don’t think including the latest versions of development environments in the latest versions of windows will change much, because by the time the machines are upgraded, the versions are already ancient and pushing the end of their MS support timeline.

    Most of the IT management here, if not all, are Java server people. They don’t know when new versions of .Net come out, they don’t know what the new versions do, they don’t know which version of VS to buy. There is plenty of opportunity for MS to make inroads into this culture in the same way as they seem to have broken into universities lately. I wish they would.

  19. Jon Galloway says:

    I really like your “Better” solution – a Start menu item that downloads the latest version – for much more than Windows Marketplace. Pretty much no one seems to know what that “Windows Catalog” link is for, and it’s really not doing the job.

    It would be great to have a “Get More Programs” folder on the start menu with categorized free downloadable programs. They’d preferably be ClickOnce apps as they become available, but even just direct links to download pages would do the trick, and non-Microsoft links would be destgnated Yes, non-Microsoft links (fine, put in a bunch of disclaimers). Please oh please, if you can’t ship Paint.NET

    (http://weblogs.asp.net/jgalloway/archive/2006/01/14/435326.aspx), at least link to it.

    I just helped our babysitter set up her new laptop as she’s getting ready to head off to college (sigh). The first step of this process, as we all know, is to rip all the OEM bundled junk off the machine. That’s why an OEM install is less than ideal. They get paid to load too much junk on these machines, to the Dell L33T G@M3RZ Edition would also come with so much crapware (see the growing list here:

    http://www.yorkspace.com/pc-de-crapifier/) that anyone who’s tech saavy enough to crack open VS Express would be likely to just wipe the drive and reinstall. The OEM solution sounds good in a conference room, but I don’t think it would work in the real world.

  20. Mohammed Shareef says:

    I do understand that there might be limitations such as legal etc with including the express edition but I dont agree with the discoverability part.

    If the user is provided with something he is more than likely to use it or at least discover it sooner or later. What example are we giving to the community out there when we say that at some point there is going to be a managed version of windows in .NET but are not really setting the tone up for it. Adding the express editions would definitely in my point of view evoke interest even if one doesnt know about it. Think about the Unix/Linux flavours ,they tend to have some kind of programming editors

  21. My good friend Dan writes a post about why Visual Studio shouldn’t be part of Windows, in response to…

  22. When I saw that there had been discussions about shipping Visual Studio Express as part of Windows Vista….

  23. it's me says:

    i’m dreaming of a nice software catalog that gets internet-updated – with different categories like "media, development" – not only for visual studio, also for programs like movie maker..

  24. Wesley Parish says:

    What I’m thinking of is a pack of Express cds that you could throw in as an extra, if the user is buying it for A: gaming; B: studenting; C: software development; D: system/network administration.

    Of course, to really compete with Linux and the free *nixes, you would want to be able to offer the source code, under a suitable license, say the Microsoft Community License, as well …

    Have a think about it.

  25. Michael says:

    offer the source code, really how many people are truly reading the linux source code? I am not and yes, I am a developer. I would like to see any edition of visual studio be bundled into vista. Think about it, vista will be distributed via DVD, just put the express edition on the DVD, and pop up a window to ask if install visual studio express while the user putting the DVD into a vista machine. (apple bundle the full xcode into OS X, it is on the DVD but not been installed by default.)