Improving the Visual Studio 2010 UI Menu System – Part 1


[ In this series – Part 1, Part 2, Part 3, Part 4 ]

UPDATED: 26 Sep 2010 – Added additional menus available once Project is added to Source Control.

Something different! This is the first post in a series that takes a look at the state of the Visual Studio 2010 UI menu system and explores ways of addressing what I believe is a fairly antiquated, bloated and inefficient interface. I make no claims to being a UX expert; however my daily frustration with complicated scrolling menus has driven me to put some thoughts down. I would love to hear from UX experts out there who read this and can offer better or additional solutions.

Every release of Visual Studio brings with it new features, many of which require additions to the Menu System to expose their functionality. These additions may come in the form of additions to the Context menus, the Toolbar menus or even both. Not only do these new out the box features add to the UI complexity, but we also have third party tools like ReSharper and Visual Studio Extensions which ‘compete’ for UI real estate. They don’t really compete; there is no awareness of other additions to prevent complexity, they all just add, add, and add. There are no restrictions.

Let’s start with the Context Menus. Unless you have a super resolution screen (my laptop is only 1200×800), you very quickly end up with the scrolling menus from hell,

image

Image: Scrolling menus from hell.

And if you do have a screen with a super resolution, then all you get is the ability to more quickly look through the frustratingly large menu for that one action you would like to perform.

Let’s start by looking at some sample menus, firstly the Project context menu. Out the box, no additional software, how many things do you think you can do to a C# Class Library project?

  • Build
  • Add Reference
  • Add Item
  • Unload
  • Properties
    That’s 5 off the top of my head. Let’s just go for 10. What did you guess? More? Less? Did you guess 28?

clip_image006

Image: 28 things to do when right clicking a C# Class Library project in Visual Studio 2010

Ok so we have 28, but no-one works with Visual Studio or a project in this state though. Let’s add the solution to Source Control, in my case Team Foundation Server. We get another 5 menus, but we lose ‘Add solution to Source Control…’, so we now have 32 context menu options to use on our project.

clip_image008

Image: New Source Control Options

Now we need to add an excellent extension for productivity, PowerCommands for Visual Studio 2010. This gives us another 6, so we are up to 38 context menu options to use on our project.

clip_image010

Image: Additional Power Commands menus

Finally we need to add ReSharper, a tool which I find immensely helpful in day to day coding. This adds another 8.

clip_image012

Image: Additional ReSharper Menus

So there we go; the best version of Visual Studio ever, with some great productivity additions and we’ve ended up with 46 context menu options on a project. While we are at it we may as well look at the File context menu as that’s possibly the most used context menu in Visual Studio.

UPDATE

Once an item is checked in there are three additional menu items available, so at times it means we have 49 context menus to deal with.

26-09-2010 14-47-50

 

Out the box you get this context menu on a C# file. It’s already at 10 menu options.

clip_image014

Image: Out the box C# file context menu

After adding the project to source control, adding the PowerCommands extension and ReSharper we get the following 33 menu options to deal with!

clip_image016

Image: File menu context options

I work for hours in Visual Studio every day and frequently get frustrated that I can’t find something on the context menus. I believe this is caused by

  • Too many options
  • The layout
  • The icons

We’ll explore this further in the next post.

  • In Part 2 we will take a closer look at the current menus, including the Toolbars.
  • In Part 3 we will look at what you can do today to get around this problem ‘efficiently’.
  • In Part 4 we will bring in a blank canvas and propose some simple and some radical solutions that the next version of Visual Studio can adopt to reduce the complexity of its UI and increase the day to day productivity of developers.

Mike

7 thoughts on “Improving the Visual Studio 2010 UI Menu System – Part 1

  1. Pingback: Visual COBOL - Blog

  2. Pingback: The Visual Studio Blog

  3. Pingback: Improving the Visual Studio 2010 UI Menu System – Part 4 « FreeToDev

  4. Pingback: Improving the Visual Studio 2010 UI Menu System – Part 3 « FreeToDev

  5. Pingback: Improving the Visual Studio 2010 UI Menu System – Part 2 « FreeToDev

  6. Nice one. I’ve always been frustrated with the sheer size of the menu but didnt realize what a monster it really is. We’ve always had Toolbar customization and the ability to remove commands we dont often use. I dont kniow why there isnt just an options page to allow us to setup our own hierarchy of commands. We can always have a separate menu on the main menus which has ‘everything’. Maybe this will be possible in Dev11.

  7. Pingback: Dew Drop – September 20, 2010 | Alvin Ashcraft's Morning Dew

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s