The latest version of Microsoft's core development IDE, Visual Studio 2012, was officially released September 12. It follows reliably on the two-year heartbeat of new Visual Studio releases. Unlike previous versions that simply refined (sometimes substantially) the developer experience, this release has a different primary purpose: enabling development of Windows 8 applications for the many platforms and two processor families the new operating system runs on. In this regard, there can be no denying the substantial amount of new technology delivered in the package. (The Ultimate Edition now tips in at more than 8 GB.) For Windows 8 development, this is a must-get upgrade.

Developers remaining on current versions of the operating system will find many useful new features, although one of them is unlikely to be the UI. The design and layout of the interface are explained in the review and developers wishing to upgrade will need to assess carefully whether switching to the Metro-style UX is something they are willing to accept to access the new functionality.

The UX aside (and that is a major item to disregard), we were generally impressed with the new functionality, but disappointed that Microsoft continues to ship key products with many small problems that make life unnecessarily difficult for its customers. We'll get into these in the body of the review. This review covers Visual Studio 2012 Ultimate Edition. While the product debuted today, the bits have been available for a few weeks on the MSDN website. This review is based on those bits. A companion article by Dino Esposito explores ASP and Web technologies used in Windows 8 that were released in this package.

Getting Going

Visual Studio comes in multiple versions: Ultimate, Premium, Professional, Test Professional, and Express. The last of these is a free (as in beer) edition that contains a bare set of tools and a stripped-down IDE. It's intended for hobbyists and developers who do not need a whole pantheon of Microsoft tools. There are actually several versions of the Express edition that specialize in Phone, Web development, and the like. Test Professional has stronger tools for testing, particularly running test suites and managing defects in Team Foundation Server (TFS), exploratory testing, and so on. Its target audience is testers within a dev organization who want to run code, step through it in the debugger, log problems, and communicate via the tools directly with developers. It's not aimed at developers who will be coding in the IDE all day long. For those developers, the Ultimate and Premium editions are the only realistic choices. Many of the features discussed here  particularly as they interface with the TFS ecosystem  exist only in those editions. This leaves the Professional edition as a marooned product with no particular audience in mind, save perhaps those who want to upgrade from Express without going in whole hog and buying a high-end version.

The Ultimate Edition is a big download (3.5 GB downloaded, roughly 8.3 GB installed). It requires Windows 7 on desktops and Windows Server 2008 on the server. Installation is straightforward and fairly quick, taking a total of about 40 minutes, most of which is I/O time. The number of options was mercifully short and given today's capacious disks, Microsoft has opted for installing pretty much everything. Selection is primarily by checking packages (see Figure 1), rather than through an extended series of pruning exercises to install only what you want, which was the norm in early editions of the product.



Figure 1: The simplified installation menu.

The UI

Let's get this over with up front. The UI is shockingly different from previous versions of Visual Studio. It is a bigger change even than the UI upgrade that appeared in the migration from the 2008 to the 2010 versions. Early betas of this release led to considerable complaining by users, including us, about the new UI. Microsoft responded with mostly minor tweaks, not all of which improved the product. The result is that the IDE is a primarily monochrome experience black, white, gray, and blue. Other colors appear only in the syntax highlighting of the code and in some minor features.

Moreover, icons are small, black and not inherently intuitive. As we've described in previous discussions, this makes them hard to locate because the absence of color detracts from the ability to locate them quickly. It's comparable to determining which traffic light is on at an intersection by its location in the traffic signal, rather than by its color. Certainly, you can get used to this approach, but the absence of color actively detracts rather than enhances. Moreover, it seems contrary to the design of the Metro interface, which, on portable devices and touch screens, is based on big blocks of bright color. (Speaking off the record, a Microsoft employee with the Windows 8 team confessed that the Metro team was "very surprised" when they saw how the Visual Studio team had interpreted the Metro guidelines. We share in his puzzlement.) Figure 2 shows this Metro look. (Note: Due to legal reasons, Microsoft is phasing out the term "Metro," in favor of "Windows 8-style UI." However, the documentation for Visual Studio is replete with references to "Metro," so for purposes of expediency, we'll use that term in this review.)



Figure 2: The Metro UI in Visual Studio 2012.

Notice that the top menubar has also morphed. You now click on a word in capital letters to access a drop-down menu. We were told by Microsoft that this design is intended to push developers into the Metro way of viewing things. However, we found that application of the UI was highly inconsistent. For example, the configuration manager dialog box was essentially unchanged from the pre-Metro version used for years in Visual Studio (Figure 3).





Figure 3: The conventional configuration dialog.

Enough said on this topic. We think Microsoft has not found its footing with Metro for the desktop and it will continue to refine the look and feel. We'd be happy for an option that allowed VS 2012 to use the current Windows 7-style interface.

Coding and Building

Coding and building projects is essentially unchanged from earlier versions. Microsoft has slightly changed the project files for VS 2012, but clicking on them pops up a dialog (Figure 4) that offers to update them for the new IDE. Once this step is complete, the projects build and generate the expected result without difficulty.





Figure 4: The quick and easy way to update project files.