With TechEd North America just around the corner, it's pretty safe to assume that Microsoft's recent announcement of the Visual Studio 2012 Release Candidate (RC) effectively represents the final face and shape of Visual Studio 2012. As a result, I've been putting the release candidate through some light paces in my lab and wanted share some of my initial impressions.
The Visual Studio 2012 Installer and Footprint
Without a doubt, the Visual Studio 2012 installer is just plain gorgeous, as Figure 1 shows. Aesthetically, the installer is a minimalist spin-off from the coloring and direction of Visual Studio 2010. From a usability and performance standpoint, the installer makes setting up Visual Studio 2012 a breeze and manages to fly through the installation process. In fact, the installer makes it possible to install Visual Studio 2012 Ultimate in just a few minutes.
Although the installer is amazing, it still manages to (quickly) install gobs and gobs of crap that I don't want and will never use. Thankfully, the Visual Studio team listened to the feedback from beta users who complained about not having the option to exclude C++ Microsoft Foundation Classes (MFCs). And although there are options to exclude some tools and features from Visual Studio 2012, Ultimate still weighs in at a bare-minimum of 7GB of space required (9.7GB if you install everything). Of course, it's petty of me to complain about something that amounts to roughly $7 to $10 worth of solid state disk (SSD) storage space when it comes to Visual Studio, which boosts productivity and is critical to my needs.
Still, although I'd truly like to take more granular control over which features and IDE options the Visual Studio 2012 installer deploys, the reality is that the installer's underlying speed is inherently a great precursor to the overall responsiveness and speed that I sense when working with Visual Studio 2012. Only, I worry that much of that responsiveness will be overshadowed by the most obvious visible change to Visual Studio 2012: the UI redesign.
Visual Studio 2012's Revamped UI
As a fan of minimalistic design, I was originally delighted with the Visual Studio 11 Beta UI. However, my impressions slowly soured over time based on my interactions with the Visual Studio 2012 IDE. I also started to see other developers, who had spent much more time with the beta, validate my sentiments. Although the underlying engine for Visual Studio 2012 felt faster and more responsive, the UI actually betrayed those improvements by making the IDE usability more painful and prone to continuous bouts of visual confusion that degraded overall developer productivity.
Thankfully, Microsoft managed to do a decent amount of tuning to the UI after the beta, which is clear if you look at the before and after screenshots in their blog post that announced how the Visual Studio team addressed these problems. Still, even with the noticeable improvements facilitated by Microsoft's tuning, I'm not convinced that the UI is totally fixed. As I'm working with the Visual Studio 2012 RC, I still find that my mental workflow is broken up as I visually hunt and peck through what strikes me as a dearth of negative space and distinction between visual elements.
Similarly, although the introduction of the Visual Studio dark theme was met with much rejoicing, it doesn't appear to be fully baked into the release candidate. Figure 2 shows a properties page in the dark theme that's clearly displayed in a lighter display mode.
Of course, there's also the problem surrounding the continued use of all caps for top-level menu text (a vast improvement over the previous use of all caps that was practically everywhere in the Visual Studio 11 Beta). I think it's a bit lame that Microsoft is sticking to its guns and using all caps in what appears to be a branding exercise when it's clear that the use of all caps is a design faux pas. This problem is really so trivial that it makes me look lame to even bring it up. However, I can't help but wonder if Microsoft's choice of branding over productivity is related to the worries I have about the UI not being as accessible and productive as I'd like it to be, considering this is a tool for which developers and companies will shell out thousands of dollars to boost productivity.
All of my over-analysis and whinging aside, I've ironically found that I actually prefer all caps in the top-level menus as they help provide some additional visual distinction and delineation in my IDE.
A Welcome Fix: Not Targeting the Client .NET Framework
One of the great things that Visual Studio 2012 brings to the table is the fact that it corrects the Visual Studio 2010 problem that defaulted console applications (and a number of other project types) to target the client .NET Framework. Although the option of targeting smaller and lighter frameworks is a great idea and option, the decision to make a handful of Visual Studio 2010 projects target lighter-weight frameworks by default is a veritable train wreck—in terms of the number of hours of head-scratching that it must have caused developers that were wondering why certain features or facets of their apps simply weren't behaving as expected. Happily, these projects all appear to target the non-client .NET Framework 4.5 with Visual Studio 2012.
Final Thoughts on the Visual Studio RC
I'm still cranky that Microsoft allowed .NET 4.0 and .NET 4.5 to effectively masquerade as the same version even though they support different behaviors and APIs. In my mind, the whole point of versioning is to help developers know which features, APIs, and capabilities they're targeting. But overall, I'm excited to get my hands on some of these new features and APIs. Although for me the jury is still out about the Visual Studio 2012 UI rewrite, I'm excited that the overall IDE feels more responsive and faster. Therefore, I hope that as I keep working with Visual Studio 2012, some of the initial concerns and UX problems I have will go away as I become more familiar with the new layout and color schemes.