jvdb.org Blog

Express in Vista redux

on Tuesday 15 August 2006 @ 11:08 in General, Software Construction, Visual Studio

After writing a post proposing the inclusion of VS Express in Windows Vista it seems there has been a large amount of talk on the subject. Which is good, because at least everybody seems to agree that it’s something worth discussing (well okay, maybe not everybody agrees). Last week Daniel Fernandez responded on his weblog with a list of reasons why it’s not going to happen:

  • 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).

The first one, Legal, is a reason that I’ve seen a lot in comments on different weblogs discussing the issue. I’m not a lawyer, but I think the IE and WMP cases were quite different from anything that could result from including a graphical development tool in the OS, since it’s not in any way integrated in the OS like IE is (it’s not like Outlook will start up Visual Studio in the background to render C++ code that someone e-mails you) or that having Visual Studio installed means that other development tools are somehow hindered or less functional.

Besides, Apple is showing the new advanced IDE for XCode that’s shipping with MacOSX Leopard. And I don’t know of any regular desktop distribution of Linux that ships without development tools. But I suppose having the market share that Microsoft does means they have to be more careful with this type of thing.

The second reason, Setup, is explained in more detail in a post by Aaron Stebner, where he writes:

As Dan stated in his post, the underlying installation engine for OS setup is not the same as the engine used to install applications. Applications such as Visual Studio are packaged as MSIs and installed by Windows Installer. As a result, MSP patches must be produced to patch those MSI setup packages and install hotfixes and service packs. OS components are installed by the OS installation engine (sysocmgr and the OCM infrastructure in pre-Windows Vista system and a series of new technologies in Windows Vista). They have their own requirements for creating hotfix and service pack packages that are different from the Windows Installer MSP format.

He goes on to explain that five editions of Express in nine languages means 45 additional patch packages every time there’s a hotfix or service pack for Visual Studio. I appreciate the amount of extra work to create those additional packages, but 45 is a little over the top. I mean, sure there will have to be some kind of decision which versions of Express to bundle with Vista, but I don’t think Visual J# would be a serious candidate in the same way that Visual C++ could easily be omitted (since it would be aimed at the absolute beginners). And as for VB.NET and C#, including only one is sufficient (although I’m not touching the flamewar that would ensue upon trying to decide which one). So that leaves only two editions in nine languages. I would expect localized versions of patches to be easier to test than entirely different patches, so even though I will admit the amount of work involved, it’s not as bad as is suggested.

The Vista Bar reason is an interesting one that I hadn’t considered before. Apparantly Visual Studio itself doesn’t qualify as a built-in application for Windows Vista. Getting this up to par will probably be a lot of work (although, to be honest, I can’t really think of a lot of stuff that should be changed, apart from the setup issues). This brings some of the alternatives into view: add an install-link to the Programs-menu or just have an OEM install a bunch of Express editions (to think I would actually be happy about OEMs pre-installing stuff on new machines!) So it seems that in the end, we’ll have to lobby with Dell, HP and the likes instead of with Microsoft.

Leave a Reply