The Ribbon interface used on office products isn’t there because it’s good UX. It exists because there’s a software patent on it.
If office didn’t use a patented UI, someone could make office software that replicated the UI of MS Office which would allow companies to switch to other products without having to retrain staff.
Microsoft was enshittifying their software long before anyone else.
I did an internship where I was creating a prototype UI for a Windows application, and used the ribbon API to build it. I thought it was a well thought out design, and was definitely an improvement over nested menus. A problem I’ve seen come up a lot though is shitty implementations where the pattern wasn’t followed correctly making it really hard to find things because the developers put items in dumb places.
Generally in UX you want often used buttons to always be in the same place to take advantage of muscle memory. Text is more intuitive than an icon, but an icon will use less screenspace, so once the user learns the icon, you can have an interface that’s more user friendly (though less intuitive) so that’s fine. Small amount of experience or training needed with the softwareresults in more buttons available at all times, so it’s worth the trade off to use one button bar. Less used items should be put into a menu because a) it’s not used often so it’s fine to be hidden away unless needed and b) it’s not used often so the user isn’t going to be familiar with an icon so text is preferable.
The ribbon is some weird combination between a menu and a bar with buttons on it. So all of the disadvantages of menu (buttons aren’t always on the screen) and all of the disadvantages of button panel (icons that have to be learned for nearly every single feature). The advantages of being able to access the most used features from muscle memory is lost, the advantage of being able to discover lesser used features by simply reading text is lost.
It’s just indecisive design. Not putting any thought about how the user actually uses the software, Just chuck some buttons onto a ribbon somewhere, make a pretty icon so it looks good and let the user click on various ribbons an click on random pretty buttons until they find the button that adds an attachment to an email in outlook. But when they find that button, make sure we default to OneDrive instead of the Documents folder because pushing cloud storage is currently the top priority as MS.
Sorry… bit of a rant there. But yeah, just put thought into which features will be used most often make them to be the buttons on the bar, put everything else into a menu. Worst case is the user has to click two things to use a feature, which is the same as using ribbons. Best case the user is clicking the same button they’ve clicked 100 times before and it’s in the exact same place as when they clicked it all of those times before.
I just want to come in with extra hatred for the “start” button, which looks like it’ll just open another ribbon, looks like another ribbon but doesn’t. No, it opens a full size menu where items are primarily arranged vertically for some reason.
I don’t disagree with a lot of what you said, but the applications that use the ribbon are just complex applications with too many commands and options, and while some commands are very common most of them end up having tons of middling use, where it is annoying to have to find them in a menu every time. I think the problem it’s trying to solve is a hard problem and all the other attempts at solving it have a lot of problems too, and I really don’t think menu based design is an improvement. I’m not saying ribbons are the perfect solution, just that the other solutions suck more.
Designed properly the ribbon should take advantage of repeat contexts, so if you’re doing one kind of task repeatedly, it’s likely you need commands from one tab over and over again which beats having to navigate through a menu multiple times. Of course it’s not always designed properly.
Frankly, menu navigation is probably the worst navigation ever devised in terms of hit targets and findability. It has the same organization hurdles of the ribbon, but worse navigation and sometimes nested menus which make things even harder to find. Really, all the ribbon is, is a tab bar on a tool bar, and power users can easily switch tabs with the number hotkeys. The power user option for menus is letter and arrow keys which suck.
Personally, I think the best option for productivity is the command pallet approach like in code editors, but the downside of that is that you need to be a power user to be effective at it.
If you’re running into an issue where a user is constantly going to the menu because they’re using a feature that’s only there then that’s a feature that should be on the button bar. If the button bar is full because the application has that many features that are commonly used, then it should be considered that that maybe the application is suffering from feature bloat. The application could be split off into two applications focused on the tasks for the different purposes the application is used for. If that’s not feasible, then context specific actions can be offered in a side panel that can be closed once the user decides they no longer need those context specific features.
Isn’t it strange that interfaces are still designed that still use up vertical real estate when basically everyone has widescreen monitors now? Probably there’s a thought that there’s a need to make an interface that will also work on phones and tablets, but that just results in poor interfaces for someone sitting on a computer for eight hours a day. But the problems with interfaces designed to work on all devices that end up being sub-optimal on everything is another subject.
Anyway for me I’m constantly just clicking around on different ribbons and trying to interpret the meanings of various icons just to try to get the thing to do what I want. There have been many times I’ve had to save an excel file to CSV so I could make changes to it in a text editor and import it back into Excel. I know Excel probably has a feature to do what I want, but it takes longer to find that feature than it is to just do it in a text editor.
Just to send an email with an attachment I have to click around a bunch of ribbons because the interface is different if I’m replying to an email in the preview pane or if it’s “popped out” then I realize the attachment button probably isn’t showing because I don’t have the window sized wide enough, so resize the window and click around again. Ok I should my signature on that email to look professional and shit, click around on some more ribbons to find that. Oh I want to copy and paste something as a table in the email? I have to pop out that email because that feature doesn’t work when replying in the preview pane for some reason. Why is it so much work to just send an email? I guess it’s because I’m not a power user?
To me the ultimate interface for an experienced user would be key combos. No need to click on anything if you learn the key combo. A menu can tell you the key combo for the action, and if it is something you use often then you know you just hit Ctrl-K, D and boom the tabination is fixed for a file that came from a dev with weird tab settings. Or whatever weird feature you find you need to do often. Sure maybe I could find some unfamiliar button on a ribbon, hover over it and hopefully it might say something about it being the button for fixing tabination, and maybe it tells me the key combo to do it. But that’s a lot of hovering over various icons to figure out if it’s the thing that does what I want.
So to me the ribbon is only good for people that have learned which features are available on each ribbon. I’m sure you can get good at it if you use it enough. But isn’t that true of any UI no matter how poorly designed it is? It’s not better than a menu for learning key combos, so less efficient for someone trying to use it more efficiently. It seems to me it’s just something for the “power user” which to me is just something MS invented to make people who know how to use MS software well feel proud of that, but it’s only MS software they know how to use well. But the whole thing just feels like a lock in scheme to me.
It is good UX though. I remember the switch to the ribbon UI in 2007. It was a huge improvement over the toolbar in Office 2003 once you overcame the muscle memory inertia.
If it wasn’t good UX why would other companies want to replicate it? Also, design parents don’t last all that long, Ribbon has been around since MS Office 2007, which means it would be at the longest recently out of patent coverage.
If it wasn’t good UX why would other companies want to replicate it?
That question actually answers itself. Because managers of companies use the exact logic you’re using. “If big company X is doing this thing, they must have a good reason, so we do the same thing.”
MS constantly fails at basic UX. It’s not the company anyone should follow when doing UX. But there’s a lot of people that don’t know what they’re doing and just copy someone else hoping they know what they’re doing.
I used the ribbon API when building a C# GUI. It’s just part of the Microsoft application framework. Maybe they prevent other frameworks from using it? Underneath the fancy paint there’s not really much to it though, it’s just adding a tab bar to a tool bar.
It’s been a long time since the ribbon came out. It’s possibly expired. If not, a company can enter into a license agreement to use patented technology.
The Ribbon interface used on office products isn’t there because it’s good UX. It exists because there’s a software patent on it.
If office didn’t use a patented UI, someone could make office software that replicated the UI of MS Office which would allow companies to switch to other products without having to retrain staff.
Microsoft was enshittifying their software long before anyone else.
I did an internship where I was creating a prototype UI for a Windows application, and used the ribbon API to build it. I thought it was a well thought out design, and was definitely an improvement over nested menus. A problem I’ve seen come up a lot though is shitty implementations where the pattern wasn’t followed correctly making it really hard to find things because the developers put items in dumb places.
Generally in UX you want often used buttons to always be in the same place to take advantage of muscle memory. Text is more intuitive than an icon, but an icon will use less screenspace, so once the user learns the icon, you can have an interface that’s more user friendly (though less intuitive) so that’s fine. Small amount of experience or training needed with the softwareresults in more buttons available at all times, so it’s worth the trade off to use one button bar. Less used items should be put into a menu because a) it’s not used often so it’s fine to be hidden away unless needed and b) it’s not used often so the user isn’t going to be familiar with an icon so text is preferable.
The ribbon is some weird combination between a menu and a bar with buttons on it. So all of the disadvantages of menu (buttons aren’t always on the screen) and all of the disadvantages of button panel (icons that have to be learned for nearly every single feature). The advantages of being able to access the most used features from muscle memory is lost, the advantage of being able to discover lesser used features by simply reading text is lost.
It’s just indecisive design. Not putting any thought about how the user actually uses the software, Just chuck some buttons onto a ribbon somewhere, make a pretty icon so it looks good and let the user click on various ribbons an click on random pretty buttons until they find the button that adds an attachment to an email in outlook. But when they find that button, make sure we default to OneDrive instead of the Documents folder because pushing cloud storage is currently the top priority as MS.
Sorry… bit of a rant there. But yeah, just put thought into which features will be used most often make them to be the buttons on the bar, put everything else into a menu. Worst case is the user has to click two things to use a feature, which is the same as using ribbons. Best case the user is clicking the same button they’ve clicked 100 times before and it’s in the exact same place as when they clicked it all of those times before.
Ribbons are just a crime against UX.
I just want to come in with extra hatred for the “start” button, which looks like it’ll just open another ribbon, looks like another ribbon but doesn’t. No, it opens a full size menu where items are primarily arranged vertically for some reason.
I don’t disagree with a lot of what you said, but the applications that use the ribbon are just complex applications with too many commands and options, and while some commands are very common most of them end up having tons of middling use, where it is annoying to have to find them in a menu every time. I think the problem it’s trying to solve is a hard problem and all the other attempts at solving it have a lot of problems too, and I really don’t think menu based design is an improvement. I’m not saying ribbons are the perfect solution, just that the other solutions suck more.
Designed properly the ribbon should take advantage of repeat contexts, so if you’re doing one kind of task repeatedly, it’s likely you need commands from one tab over and over again which beats having to navigate through a menu multiple times. Of course it’s not always designed properly.
Frankly, menu navigation is probably the worst navigation ever devised in terms of hit targets and findability. It has the same organization hurdles of the ribbon, but worse navigation and sometimes nested menus which make things even harder to find. Really, all the ribbon is, is a tab bar on a tool bar, and power users can easily switch tabs with the number hotkeys. The power user option for menus is letter and arrow keys which suck.
Personally, I think the best option for productivity is the command pallet approach like in code editors, but the downside of that is that you need to be a power user to be effective at it.
If you’re running into an issue where a user is constantly going to the menu because they’re using a feature that’s only there then that’s a feature that should be on the button bar. If the button bar is full because the application has that many features that are commonly used, then it should be considered that that maybe the application is suffering from feature bloat. The application could be split off into two applications focused on the tasks for the different purposes the application is used for. If that’s not feasible, then context specific actions can be offered in a side panel that can be closed once the user decides they no longer need those context specific features.
Isn’t it strange that interfaces are still designed that still use up vertical real estate when basically everyone has widescreen monitors now? Probably there’s a thought that there’s a need to make an interface that will also work on phones and tablets, but that just results in poor interfaces for someone sitting on a computer for eight hours a day. But the problems with interfaces designed to work on all devices that end up being sub-optimal on everything is another subject.
Anyway for me I’m constantly just clicking around on different ribbons and trying to interpret the meanings of various icons just to try to get the thing to do what I want. There have been many times I’ve had to save an excel file to CSV so I could make changes to it in a text editor and import it back into Excel. I know Excel probably has a feature to do what I want, but it takes longer to find that feature than it is to just do it in a text editor.
Just to send an email with an attachment I have to click around a bunch of ribbons because the interface is different if I’m replying to an email in the preview pane or if it’s “popped out” then I realize the attachment button probably isn’t showing because I don’t have the window sized wide enough, so resize the window and click around again. Ok I should my signature on that email to look professional and shit, click around on some more ribbons to find that. Oh I want to copy and paste something as a table in the email? I have to pop out that email because that feature doesn’t work when replying in the preview pane for some reason. Why is it so much work to just send an email? I guess it’s because I’m not a power user?
To me the ultimate interface for an experienced user would be key combos. No need to click on anything if you learn the key combo. A menu can tell you the key combo for the action, and if it is something you use often then you know you just hit Ctrl-K, D and boom the tabination is fixed for a file that came from a dev with weird tab settings. Or whatever weird feature you find you need to do often. Sure maybe I could find some unfamiliar button on a ribbon, hover over it and hopefully it might say something about it being the button for fixing tabination, and maybe it tells me the key combo to do it. But that’s a lot of hovering over various icons to figure out if it’s the thing that does what I want.
So to me the ribbon is only good for people that have learned which features are available on each ribbon. I’m sure you can get good at it if you use it enough. But isn’t that true of any UI no matter how poorly designed it is? It’s not better than a menu for learning key combos, so less efficient for someone trying to use it more efficiently. It seems to me it’s just something for the “power user” which to me is just something MS invented to make people who know how to use MS software well feel proud of that, but it’s only MS software they know how to use well. But the whole thing just feels like a lock in scheme to me.
I can’t use the new MS Office with butchered menu. LibreOffice is more similar to the classic MS Office than MS Office itself.
Oh I hear ya. I have to use MS Office at work, and it’s so frustrating. Constant game of “where the fuck did the button go?”
It is good UX though. I remember the switch to the ribbon UI in 2007. It was a huge improvement over the toolbar in Office 2003 once you overcame the muscle memory inertia.
If it wasn’t good UX why would other companies want to replicate it? Also, design parents don’t last all that long, Ribbon has been around since MS Office 2007, which means it would be at the longest recently out of patent coverage.
That question actually answers itself. Because managers of companies use the exact logic you’re using. “If big company X is doing this thing, they must have a good reason, so we do the same thing.”
MS constantly fails at basic UX. It’s not the company anyone should follow when doing UX. But there’s a lot of people that don’t know what they’re doing and just copy someone else hoping they know what they’re doing.
No matter where you stand on your views of the ribbon, Microsoft introduced it in what, 2007? The patent is gonna expire soon.
If it’s patented, how can Sibelius use it in their software?
I used the ribbon API when building a C# GUI. It’s just part of the Microsoft application framework. Maybe they prevent other frameworks from using it? Underneath the fancy paint there’s not really much to it though, it’s just adding a tab bar to a tool bar.
It’s been a long time since the ribbon came out. It’s possibly expired. If not, a company can enter into a license agreement to use patented technology.