About

I am a software developer in Seattle, building a new AI software company.

Ads

April 2009

Sun Mon Tue Wed Thu Fri Sat
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

Categories

Ads


« Symbolic Ray-Tracing | Main | The Western Tradition »

August 17, 2007

Ribbon UI

Patrick Smacchia, developer of NDepend, asked me how he could improve the user interface of his product. I referred to my experience with the three main component suites that I use in NStatic and am satisfied with: These are DevComponent's DotNetBar, Actipro Software's SyntaxEditor, and Developer Express's DXExperience; they are all outstanding. I really care as much about form as function, and they all deliver both.

NDepend's user interface was somewhat unorthodox, and I felt that he could make a better impression with a standard user interface, which apparently he is moving to in version 2.4. Patrick just put up a post on "UI Matters: Menus and Toolbars vs Office 2007 Ribbons."

He raised the question of whether the Ribbon user interface was more appropriate that the traditional "command-bar" user interface used in Visual Studio and repeated a remark from Bob Powell, a UI guy.

"If developers are your users, the closer your UI to Visual Studio, the better."

NStatic, being a developer tool, Patrick suggested, should resemble Visual Studio rather than Office. He also mentioned that if one I integrated my product into VS the user experience impact would be minimal.

I have actually thought about the proximity of the user interface to Visual Studio as can be seen in my prior post on Toolbar Icons in 2004.

I do believe that an application has to match the Office user interface to be respected. First, most users are familiar with Microsoft applications. Users expect other applications to use the same shortcuts and operate the same way. They tend to be more receptive to an application that feels natural than to one that requires learning a new interaction model. Second, users are most likely to pay for a product that appears similar to another product that they have already paid for. Users often judge the quality of products through non-merit-based, surface-level heuristics, such as the conformance to a well-known, well-respected standard like the Office user interface.

While I have examined any data, met with any users, or conducted any usability studies, I thought the Ribbon interface was the best path for me to take.

Much of the VS UI functionality has been retained: I switched my text editor to Actipro Software because of its higher fidelity to Visual Studio. The window docking behavior is preserved and many of Visual Studio's task panes have equivalents in the new NStatic application. I am determined to reproduce many of the shortcuts and behavior as much as possible, so that learning costs are minimal. As many VS developers also use Office, learning the ribbon is not likely to be a problem.

The Ribbon UI, while apparently a dramatic improvement, can be seen as a logical evolution of the work on combined menus/toolbars (aka, "command bars") that Office group started in Office 97 and continued forward ever since. I was never a fan of the original command bar work (which merged menus/toolbars and flatten the look to make them more web-like) and emphasized rarely used features like detachable menus, custom toolbars, and vertical/bottom placement. The command bar interface always felt dated and sub par compared with what can be seen on the web and other applications.

The new ribbon is more discoverable, properly designed by actual industrial designers, makes better use of the space, and has a lot more useful properties such as hosting controls. It's also visually arresting and many readers have called the NStatic interface, stunningly beautiful--a compliment that I would not expect with the traditional command bar interface. Office 2007 is slick, and Office sales seem to reflect that.

The ribbon fits in with my strategy much better: My goals including building a number of applications, some of which are non-development, off of the same code base, and minimizing unnecessary differences between applications. I may attempt to release a ribbon-based notepad. One disadvantage with the ribbon, though, is that it requires more commands to fill up the user interface.

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d8345242f069e200e54ecc79148833

Listed below are links to weblogs that reference Ribbon UI:

Comments

I think the ribbon is both counter-intuitive and counter-productive. I also think a UI that resembles Visual Studio too much may be confusing as well.

Counter-intuitive ribbon : let's see how much time it takes for you Excel guy to find how to turn group outline upside-down.
It's counter-intuitive because to me ribbon controls look like a giant mess. Before that, we had nice uniform toolbars (the icons were equally sized and uniformly layout, so that did not hurt the eye). Now not only this is a giant mess but the mess reshuffles itself as you stretch the window. Crazy!


Counter-productive : I find myself clicking on ribbons all the time. Hate every moment of it. Besides this, you have sub-ribbons. If you create a shape like a text box and start formatting it, then you end up using clicking on sub-ribbon tabs and on the main ribbon tab, only to format that damn text box. It's crazy.

Resembling Visual studio UI : well, the risk is that by having your window and Visual studio running and displayed, it's hard to distinguish which is which. That's analoguous to Windows Vista's inability to show which window is active or not, thanks to this wonderful Aero rendering...

Thought you disappeared Steph.

Okay, so you are saying, both are bad... but the ribbon is the lesser evil.

I would say the opposite, but that's a personal opinion.

There's a third point against the ribbon : the third-party control you use to integrate the ribbon is bound to Microsoft ribbon license, which determines how it should behave. In other words, even if you'd rather not have the controls resize and reshuffle themselves as your stretch the main window, there appears to have not much choice. Again, changing the UI as you stretch the window is evil for the eyes and mind : it's just as bad as smart menus in Office 2003 (that's the first thing I disable after an install).

In fact, what you end up with with the ribbon, if you are lucky, is a user interface where all UI controls are clickable with the left button. For some application, especially those simple enough not to have sub-ribbon tabs, this may make sense to a certain extent. But since neither Windows XP nor Windows Vista use the ribbon model, there is no way you are going to achieve a coherent UI theme anyway.

The license is the one big thing that I worry about... but I'll cross that bridge when I actually deliver my "wordprocessor."

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment