Software Development optimize

Visual Studio 11: A refined and disappointing experience

Justin James gives his initial impressions of the Visual Studio 11 Ultimate Beta, in which he highlights the benefits and drawbacks of the new products.

I finally spent time with the Windows 8 Consumer Preview and the Visual Studio 11 Ultimate Beta, as well as the Team Foundation Server (TFS) 11 Beta. So far, I see good improvements, but the overall direction of the .NET ecosystem is not quite what I hoped. In this column and in my next several Software Engineer posts, I'll discuss the new products and share my thoughts about them as I work through a simple application.

The first thing that struck me was the ease of installation, though anyone stumped by the previous Visual Studio installations doesn't need to be in this business. This installation removes all of the choices other than how much documentation to run locally ("minimal" or "none" with an "advanced" option), and what set of keyboard layouts/commands/etc. to use (the traditional dialog the first time you start Visual Studio). The real surprise was TFS 11, which blows away TFS 2010 (it was fairly pleasant) and TFS 2007 (it was miserable); it's about as simple as you can get with TFS. If you are a single developer or a small shop where folks are going to install TFS locally, this is a huge boon; even for the bigger shops with a shared instance, a simple TFS deployment is always better.

Visual Studio 11 is streamlined and presents a much simpler UI. One drawback is that the UI is more "flat"; it has a ton of grey and not many colors, which makes it difficult to visually distinguish different components. In many places, existing functionality has been combined into one spot to reduce the number of UI controls. For example, they've dropped the original file-only view of solutions and made Solution Explorer the only view (Figure A). Along the same lines, Team Explorer dropped the multi-level tree view in favor of a drop-down that switches the top-level view. Even in my slightly under-powered Windows 8 VM (one CPU core, 4 GB RAM), Visual Studio 11 ran smoothly. Figure A

The Solution Explorer shows a deep-dive into files.
For my first Metro/WinRT application, I chose the "Grid Application" template. This template provides three screens: one to show groups of items and can be scrolled horizontally to show additional groups, one to show a "group detail" page to zoom in on one group, and one to show item details. My application ("MSR Browser") will pull information from Microsoft Research in OData format and allow the user to see what Microsoft Research has going on. It will group things by category ("article," "downloads," etc.). I created a new "Grid Application" project in Visual Studio, added it to TFS, and hit run, and Figure B and Figure C are what I got. Figure B

Out of the box, the "Grid Application" template is in great shape for an application. (Click the image to enlarge.)
Figure C

The item detail view for the "Grid Application" template. (Click the image to enlarge.)

You can see that the application is pre-populated with data. Inside the application are sample classes for the data model; these come with a lot of static "ipsum lorem" style data, but that is easy to change. In my next Software Engineer column, I will show what I've done to change the static data to pull from the OData source at Microsoft Research.

The overall experience of Visual Studio 11 feels like a refining, not a recreation or reimagining, of the existing Visual Studio experience. This makes sense, since so many people are already accustomed to Visual Studio. At the same time, Visual Studio has slowly accumulated a very rich feature set, but the interface is not very smart about presenting these features. Just as Office 2007 tried to present a view of Office in which features were visible on an as-needed basis to reduce clutter, Visual Studio could use some of that as well (though not necessarily the same way Office 2007 did it).

Visual Studio 11 is still a "legacy" desktop application; this means it will not be running on ARM-based Windows 8 systems. As Microsoft tries to push people towards the Metro/WinRT way of doing things, keeping Visual Studio a strictly "legacy" application raises the kinds of red flags in developers' minds that Microsoft would hope to avoid. The charge of, "you can't do real work in Metro" is already ringing loud and clear, and Visual Studio not using Metro reinforces that. While it is sensible from the aspect of WinRT not providing the tools needed for code development to be done (especially things like instrumentation, profiling, debugging, etc.), it definitely makes me wonder how long the "legacy" desktop will need to be around, regardless of what UI paradigms try to replace it. This isn't a criticism of Visual Studio 11, but merely an observation into the Windows 8 (and beyond) development and usage experience and expectations.

Disappointments

I experienced a number of disappointments with the beta that I hope are remedied by RTM. The biggest one is that IronRuby and IronPython are nowhere to be found. While most folks won't care, I consider that a major omission. I think this is a direction that Microsoft needs to be moving in, especially with the benefits I think it can bring to the MVC and MVVM models that Microsoft has been pushing lately (more on this in a future article). From what I have seen and from what I have read, there is not anything new here for WebForms or WinForms developers; again, that's not unexpected, but for those developers, it must be disconcerting to feel increasingly marginalized. Oddly enough, WP7 is not supported in the package either; for WP7 developers, the lack of support out-of-the-box is going to feel strange. Hopefully, the release of the functionality is waiting for a future release of the WP7 tools for Visual Studio 11, or it could be further tacit admission from Microsoft that Windows Phone 8 will really just be a new form factor for Windows 8, and a WP7 to Windows 8 converter will be all that is needed to bring WP7 developers into the modern world.

Conclusion

At the end of the day, if the beta is essentially "feature complete," then it's a possible upgrade for ASP.NET MVC developers, and it's a must-have for anyone who will be writing Metro/WinRT applications for Windows 8. For everyone else, there is not much here to recommend purchasing an upgrade, though if you have one available for free, an upgrade would be sensible.

J.Ja

Keep your engineering skills up to date by signing up for TechRepublic's free Software Engineer newsletter, delivered each Tuesday.

About

Justin James is the Lead Architect for Conigent.

10 comments
emgub
emgub

That is one of the shoddiest "reviews" I've ever seen. You take a product of the complexity of Visual Studio and you review it by saying that you think there is a "red flag" because Visual Studio isn't a Metro style application? How dumb is that? You have 100% misunderstood what a Metro style application is for and what a desktop application is for. Why do you think the desktop is still there in Windows 8? It's because there are a whole class of applications that we've been using for 25 years which really need a mouse and keyboard. Metro style applications are different, "at a glance" style applications. Then you note that WP7 support isn't in the product. Of course it will be and it's written up on the public internet here http://windowsteamblog.com/windows_phone/b/wpdev/archive/2012/03/05/windows-8-and-the-windows-phone-sdk.aspx Don't write any more of this stuff. You're not helping anyone.

albayaaabc
albayaaabc

if some thing essential for W7 keep it alive until reach varity VB+Visual studio developer nice more than ASP.net yah. Thanks Wisam H.al Bayaa

herlizness
herlizness

Is it just my imagination or does the VS 2011 Solution Explorer have more of a Mac OS look than a Windows look?

dogknees
dogknees

Looking at the screenshot, it appears that there is no "colour-coding" of items in the tree. Is it harder to see what you're looking for in all grey? It certainly looks that way.

FelipeKat
FelipeKat

I always read these articles hoping for some sense that Microsoft might remember power users. I vaguely recall at one time that power users could customize Microsoft applications with something called "macros" which even progressed to "VBA". But then security issues or excuses arose and Microsoft seemed to stop officially supporting this and instead moved customization to Visual Studio. Unfortunately, Visual Studio is reserved to "real" programmers at many corporations and power users are left to sigh wistfully as Word add-ins no longer function properly.

Justin James
Justin James

In case it wasn't clear, this was not meant to be a full-fledged review. It is the initial impressions of someone who is starting to do development with it. I am continuing to write about VS11 as I do work throughout the next few weeks, as you can see from the most recent article that went up yesterday. I most certainly did NOT misunderstand the differences between Metro and desktop. I have written extensively about the difference a number of times. I have been doing WP7 development for some time. But that does not change the fact that a lot of people have been saying that Metro cannot do "real work", and that Microsoft clearly feels that the legacy desktop model is outdated. Microsoft has made it clear with Windows 8 that the legacy desktop is not something they care to put additional investment in, and they do not seem to feel that it has much of a future; application developers and users alike are rightfully quite concerned that if Microsoft isn't going to care about the legacy desktop, that Metro had better be able to handle complex work. There is simply no reason *at the UI level* why VS11 cannot be a Metro app, but of course, the limited WinRT API would be the real issue (unless, of course, it communicated with a bunch of locally installed services for the things like compile, debug, etc., which is a possibility!). A Metro version of VS11 would go a long way in satisfying those folks. You will also note that I made it VERY clear that even if Microsoft wanted to, a Metro/WinRT version of VS would be an impossibility due to the restrictions in the WinRT API. Apologies for not knowing 100% the status of the WP7 SDK. Finally... you may want to think about toning the personal attacks down a bit. I happened to see on another article a similarly nasty comment directed at another TR writer. TechRepublic is generally a civil place, even when there is disagreement. Lately, though, a number of people have come in and started treating it like yet another stinking hole on the Internet for them to vent their rage and frustration and take it out on the folks who work hard to deliver content. If you don't like the article, that's fine. Feel free to disagree and criticize, and I will gladly respond as best I can. But there is no need to trash the writers or the articles themselves. If you feel you can do better, we are always on the lookout for more writers. Instead of taking the easy, negative route and writing a "your article is junk" comment, file to be a writer and try it. I write 2+ articles a week for the last 6 years, it is a guarantee that every one won't be perfect, satisfy everyone, contain every possible fact, or examine every possible angle. You are more than welcome to send me your own review of VS11, and I will see if we can get the editors to post it. But there is no need for personal attacks or being nasty. J.Ja

Justin James
Justin James

You are correct that there is very little color coding... not just in the Solution Explorer, but in the entire application. Outside of the code editor itself, it is a mix if grey, white, black, and blue (for highlighted items). It does indeed make things harder to see, and is one of the most common criticisms of the Visual Studio 11 experience. J.Ja

Justin James
Justin James

I'm not a big fan of TFS. TFS' big advantage is the total integration of the lifecycle and integration with Visual Studio, and other products (like Fog Bugz and Kiln, off the top of my head) provide that as well. When I have a choice, I use Mercurial. But, many shops insist on using TFS, and TFS is part of the Visual Studio family, so I felt that it was important to take a look at the TFS experience. And yes, it is improved, at least from the installation standpoint. But the overall workflow hasn't changed, and the things that I don't really like about TFS... well, they are never going to go away because they are integral to the TFS product. J.Ja

Justin James
Justin James

... and most likely will be for a long, long time. Too many customers have a large investment in macros/VBA for Microsoft to abandon support for it. They just keep cranking up the security controls which makes it harder and harder to access the functionality. For example, in Office 2007 and up, documents with macros even need a different extension to help identify them to users as a potentially damaging item. J.Ja