We have an application that heavily relies on Microsoft Ribbon UI to perform actions etc on say a document. We have a few ribbon groups defined and each have a certain set of actions they can perform on a document.

The problem is, certain set of user base is used to an old technology where they perform ActionA → ActionB → ActionC on a document quickly. (Each followed by the other). Now when we showed them the new ribbon design, we allow for these actions BUT they are defined in separate ribbon groups, so they would have to perform

ActionA → choose ribbon group B → ActionB → choose ribbon group C → ActionC

This they say is heavily not effective in their work process. I have to say that they are a certain set of our user base, the other set of our user base does not care or want these actions specified together.

Are there any alternate design patterns to solve their particular case without having to specifically rewrite the ribbon which may affect other users?

  • I take it your users cannot customise the ribbon to meet their own requirements, like I can in Microsoft Office?
    – Matt Obee
    Commented Oct 3, 2014 at 8:39
  • We did think about customizing the ribbon but we are wary of going down that path because of issues related to cost of implementation etc. We were looking for alternatives. Allowing personal customization was the "last resort". Thanks Matt
    – theOne
    Commented Oct 3, 2014 at 8:41
  • Does mouse-wheel scroll through the ribbons like in MS products? Certainly a quicker way to get from ribbon to ribbon to perform the sequential actions.
    – bdimag
    Commented Oct 3, 2014 at 14:10
  • 3
    Customizing is expensive (dev time-wise) in the short term but very advantageous for power users. This said, Ribbon is one of the UI paradigms that are somehow overvalued. Commented Oct 3, 2014 at 20:26

5 Answers 5


If you implement the Ribbon, you are also supposed to implement the Quick Access Toolbar, where the user can add options they require. I find this useful in Office for example, where I can put common commands and not have to remember where they are on the main ribbon.

  • 6
    This is an answer, and a pretty good one in my opinion.
    – user31143
    Commented Oct 3, 2014 at 9:17
  • 2
    And with these upvotes you have the privilegie to comment again! Commented Oct 3, 2014 at 10:43
  • 2
    @BennySkogberg with our powers combined...!
    – bdimag
    Commented Oct 3, 2014 at 14:11
  • You could have "favorites" where it starts with a few common actions and is manually user-mutable, "recently used", "suggested" based on context, "most used" based on use history...
    – bjb568
    Commented Oct 3, 2014 at 19:29
  • 2
    Quick access toolbar looks like a nice approach.
    – theOne
    Commented Oct 7, 2014 at 8:48

In this talk, The Story of the Ribbon, Jensen Harris explains how the Ribbon came to be from the old Office 2003 UI.

At this point, he mentions what he calls Command Loops: two or three commands that users often run in sequence, that should be in the same tab of the Ribbon.

We looked at Command Loops, which is if you have two commands that you use over and over again, and they're on different tabs, every time it requires an extra click to switch tabs, like, use this one, switch tab, use this one, switch tab, use this one. So you have to get the Command Loops eliminated.

The Office team spent a great deal of time making sure that the commands on the Ribbon were correctly placed to remove command loops and to aid usability in general. It sounds like you still have an awkward command loop on your Ribbon.

  • Perhaps you can reorganise the Ribbon to bring a commonly used sequence into the same tab.

  • If this sequence is popular enough to deserve extra UI, perhaps you can create a "tool" with separate UI that brings A, B and C together to make this option easier.

  • Or: maybe consider that the Ribbon may not suit your goals. It was designed for a very specific purpose for Office 2007. It also happens to be perfect for other people as well. But Harris points out, it's not magic, and it's not worth using it if it causes more problems than it solves.


A few options:

  • Have good, easily discoverable keyboard shortcuts. These users sound like expert users, and keyboard shortcuts would probably be faster for them than either the new or old interface. It would depend on them learning this new way of working, though. By "easily discoverable", I mainly mean list the keyboard shortcut in the tooltip.
  • Reorganize your panels so that all appear on the same one. Presumably you have considered this and rejected this, because the commands are not logically related. But have you considered a "common tasks" panel that is selected by default and includes the most-used commands from the other panels?
  • Create a new panel tailored to this specific user group. Presumably they are doing a specific kind of task, so you could have a panel that shows everything useful for this use case. It could have the three actions together, or possibly even an action that automatically does all three at once. You might want to hide this panel by default, if it is not relevant to most users.
  • Create something like macros or batch operations which would allow users to create a custom command that does several things in sequence. This is one of the more complicated to implement, but perhaps it has added value beyond this one example.
  • I like the first suggestion in particular. I would consider Ctrl+num# or F# to be intuitive since the ribbon tabs are at the top of the screen, much as the number and function keys are at the top of most keyboards.
    – Pharap
    Commented Oct 4, 2014 at 5:33
  • 1
    @Pharap, I think there should always be good keyboard shortcuts in programs that are used more than occasionally. It may not be the solution to this problem, but it should be done regardless.
    – user31143
    Commented Oct 4, 2014 at 6:11

One way would be to implement a new floatable quick access area that's always visible, to where the user can drag and drop the favorit items. Hard to tell if this answer means that you have to alter your current ribbon implementation, as you don't want to.

This has the advantage of not forcing the users to always be in their favorites ribbon tab. After all, the ribbon interface is there to allow users to focus on different tasks at a time, and choosing the best ribbon tab for that task.

enter image description here

An alternative solution is to have a menu in Favorites, where users can chose what to show there. A bit more troublesome for the users, a bit easier to implement


Make the ribbon groups adaptive.

It sounds like Action A would leave your document in a state where the result of that action is the active selection. If now the natural next action on that result is from the Group B, automatically switch to Group B, so that the user can apply any of the Action Bs onto the selection. Then the same goes for Action B to switch to Group C.

Of course, this solution is not viable if your Action A/Action Bs do not have "focusable" results, if there are actions from multiple groups that could be applied to the focused element next, or if your regular user base does not understand this sequence (but uses each of these actions separately).

  • Automatically switching between tabs of the ribbon? Ack!!! This would be absolutely horrible. Users don't expect the program to dynamically navigate the ribbon for them, and what if they don't actually want to go to action B? Clearly A -> B -> C are not that closely tied together. Otherwise they would all be on the same group.
    – user31143
    Commented Oct 3, 2014 at 13:26
  • 2
    @dan1111: It sounded to me as if they were quite close for one user group, and rather meaningless for the others. If I recall correctly, even Microsoft does this e.g. in Word, when you press Insert in one ribbon group and then select to enter an image, after the image is placed in the document and has focus the ribbon bar automatically switches to Image Tools
    – Bergi
    Commented Oct 3, 2014 at 13:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.