The official source of product insight from the Visual Studio Engineering Team
As we’re closing in on the final designs for Visual Studio 11 I want to thank you again for your feedback. I want to pass along that we are still internalizing your feedback and actively working on the next Visual Studio 11 milestones.
The purpose of this post is to follow up on a common request relating to the earlier RC preview post. The request was for more information on the Visual Studio 11 dark theme.
Leading up to our being engineering complete for RC we focused most of our design attention on optimizing the light theme experience, because that’s what our telemetry indicates the majority of you are currently using. Once that was complete, we turned our attention to the dark theme, focusing on the top dark theme feedback we heard from Visual Studio 11 beta. Many of you will see significant improvements to the dark theme in the RC release, but several of the key changes I’m sharing with you now didn’t make the timeline for RC. In this post, I’d like to share what you will see in RTM and call out some of the dark theme improvements we’ve made from beta to RC and subsequently to RTM.
As a part of giving you a preview of the dark theme I want to call your attention to several important characteristics of the Visual Studio 11 iconography. The first is that the icons are generally much simpler or more symbolic in their form. Secondly the color palette we employ within the icons has been simplified and made much more consistent.
In Visual Studio 11, we generate our icons from a common library of glyphs. This approach improves consistency as we produce the approximately 6000 icons of various sizes and formats that are used in approximately 28,000 different locations throughout the product. This presents an interesting challenge in terms of how to most effectively host these icons in different themes, and on different shaded backgrounds (tool windows, editors, drop-downs).
We considered the pros and cons of outputting separate complete sets of swappable icons for each theme. As we looked into this approach we found it still didn’t allow us to optimize across the various backgrounds on which the icons would be hosted in each theme.
In Beta and RC we used a ghost outline around the icons to make them visible on both lighter and darker backgrounds. The disadvantage of this approach is that it makes the icons appear fuzzy on both themes and too bright in the dark theme.
In the RTM version, we dynamically adjust the icons according to the theme, resulting in icons that are cleaner and better matched to the theme and background color. At runtime, we modify the luminosity of the raster images to match the outline of the icon with the background on which it is drawn and to make the fill and accent colors stand out effectively. For the dark theme, this essentially inverts the brightness of the icon, making dark areas of the original icon light and light areas of the original icon dark. The same happens on the light theme, as icons are displayed on differently shaded backgrounds. The luminosity match makes the background and outline of icons disappear as it matches the surface color they are displayed on.
The difference between the traditional outline based approach we used for beta and RC, and the approach we employee for RTM, is readily apparent in the following screenshots.
In addition to being simpler in form, and being better suited to dynamic theming, glyph style icons also lend themselves to much cleaner resizing or scaling. All of our Visual Studio 11 icons are maintained in an icon repository as vector graphic files which we output in various file formats and sizes as needed within our products. For example the same glyph can easily be rendered in a size and format appropriate for use in different Visual Studio 11 contexts such as the Solution Explorer or the New Project Dialog.
As a part of the Visual Studio 11 overall release plan we will be making all of the icons for this release available to you in multiple file formats including vector. You are free to take full advantage of the easy theme-ability and resize-ability of these assets within your own applications.
One of the most common requests for dark theme enhancements has been for us to theme scrollbars. As I hinted at previously we were close to sharing with you in our last post that scrollbars will be custom themed within both the light and dark themes. We’ve since completed sufficient testing to feel confident in sharing our RTM designs with you.
Visual Studio's UI is a mix of WPF, Windows Forms, Win32, HTML, and other UI technologies which made scrollbar theming a challenging project. Because there is no single technology solution to theming all scrollbars in VS, we applied scrollbar theming on a technology-by-technology basis. We created a style targeting ScrollBar and ScrollViewer in the root of VS document and tool windows. In some cases, where it’s not appropriate to show a themed scroll bar, the UI can opt-out. An example is a pop-up dialog that will continue to show light even in the dark theme should not show dark scroll bars.
Individual pieces of UI can opt-out of themed scrollbars by setting a special property on the HWND. UI may decide to opt-out if it is not optimized for the dark theme or if it presents a very specific user content.
The themed scrollbars are designed to work together with the RC changes we shared with you previously, such as drawing our own custom window chrome, to improve the overall sense of coherent styling within Visual Studio 11. As I mentioned above we would like to hear more regarding your impressions of the cumulative updates we’ve shared with you.
Many of you have expressed a preference for coding within a dark editor. For example, dark editor themes dominate the list of all-time favorites at web sites such as http://studiostyl.es/ which serve as a repository for different Visual Studio styles.
Chief among the reasons many of you have expressed for preferring dark backgrounds is the reduced strain placed on the eyes when staring at the screen for many hours. Many developers state that light text on a dark background is easier to read over longer periods of time than dark text on a light background.
Downloading styles from web sites such as Studio Styles provides a great starting point to begin customizations. With that in mind, we themed every single customizable item and category in the Fonts and Colors list to be consistent with the overall dark theme design. This way, further customizations can be made and new features introduced in Visual Studio 11 will benefit from the defined default dark fonts and colors. We made several dark editor theme updates in RC in keeping with beta and early RC user feedback, including:
In RTM you’ll also find that we have themed a core set of the commonly used dialogs. The New Project, New Web Site, Add New Item, Extension Manager, and Reference Manager dialogs now have dark theme versions of their UI.
For those of you who choose to work within the dark theme you will undoubtedly want us to continue to push our theming efforts deeper and more broadly across Visual Studio. We too are eager to continue our work in this area through the remainder of this release cycle and beyond.
I’ve included a screenshot that helps bring into focus how the various dark theme updates such as the shell, editor, design surfaces, etc. all fit together. The screenshot below shows a dark themed Visual Studio 11 with the Windows 8 simulator running in the foreground.
As was the case with the changes we announced as part of the previous RC preview post the RTM changes reflected in this post are designed to both address core feedback areas and to maintain alignment with our primary design objectives for the release. I’m hoping you will take the time to share your feedback on these newly announced RTM changes.
Monty Hammontree – Director of User Experience, Microsoft Developer Tools Division Short Bio: Monty has been at Microsoft for ten years focusing primarily on developer tool experiences. He and his team provide product design and user research direction for the Visual Studio product family. He has 25 years of industry experience in product design and user research management.
VS2010 theme -> visualstudio.uservoice.com/.../2819619-leave-vs-2010-theme-and-the-theme-editor-extensio
In RTM's dark theme you've increased the contrast in areas like the Solution Explorer, which makes my eye strain kick in almost immediately. If you look at Studio Styles there are a lot of themes that use an off-black background and less saturated colors on the fonts. I think a lot of us would appreciate more than two choices -- dark and light. Can we get a less contrasty dark theme?
How about allowing us to control the themes? (Maybe that was in the post, if so, forgive me.) We really would like more control over the colors in VS... we have to look at this thing 10 hours a day after all! I know you guys do too!
I love the dark theme, but, at least in beta and RC, it is quite difficult to spot the insertion cursor when editing. This makes extreme difficult to select code on the editor, which, I don't know you, but I use to do quite often.
By the way. A dark theme doesn't mean a "black" theme. If you darken too much then the code will contrast just like black on white which means the same eye strain. I think the trick consists in minimize the contrasts as much as posible without losing readability, not in darken the background until pure black. Adobe Photoshop Lightroom is a great example of a dark interface beautifully implemented. I'm not saying VS dark theme is awful, but it is way more dark than appropriate. For that matter, the theme in beta was far superior.
Thanks for another great article detailing your process, it's very interesting learning all of the research and planning that goes into the product design.
From the screenshot, I much prefer the less saturated font colours for the dark theme. Having super-bright text is not great when you're trying to reduce eye strain.
Dark theme is great, thank you thank you thank you.
But.. is it me or is the cursor hard to find at times?
seems like the cursor color should have been inverted?
Nice cue from Apple. Remove all of the color so I have a can't get easy visual recognition of individual icons.
This is really really bad...VS has UI improved through 2010 and then suddenly much worse with 2012 beta and even worse than that with RTM if that's even possible. Wow. Fail.
I would gladly hear, which usability rule was applied, when you reduced the number of colors in the glyphs to 3 (at most). Most people see in colors, so if you want to find an icon, you primarily seek for an area with specific amount of specific colors and then check, if the shape of the icon is right. Now you always have to check the shape of an icon, because most of them look very similar, what is quite frustrating if you work a while longer.
And I absolutely don't understand the ALL CAPS in the menu. Is it a joke?
Personally, I like the look of VS 2010 a lot more than incoming 2012. And while I liked the change from 2008 to 2010, I really hate the change from 2010 to 2012. I hope, that you'll return to the classic desktop look of applications by 2014 (assuming, that new VS will appear then).
Yes! I have really wanted a dark theme for VS, thanks!
Don't mind dark so much... easier to stare at all day. One thing that would be nice is when you have multiple VS instances open is to be able to easily distinguish the IDE and debug code running from other IDE instances.
So if I am running the same program in 2 instances of VS (say I am developing 2 different bugfixes), I can't tell by looking at the IDE which is which easily. If they had some color differentiation on the window border for example, it would make life easier.
This is looking über-cool! Awesome.
You do plan on replacing those super crappy icons in the dark-theme right? I mean this looks like rubbish, having pixelated white borders around each item, just as if I would go take a screenshot of the white theme, cut them out manually and drop them back into a black theme. This is really a showstopper for the dark theme. Please make them integrate smoothly.
Icons that are used in Visual Studio 2012 Is not there will be public?