The ribbon is an innovative way to expose functionality to the user. You can see from the image that the ribbon is composed from tabs, where each tab has groups with buttons, check-boxes, combo-boxes, image galleries, etc.
It may look like just another toolbar layout, but it’s so much more than that.
First, the ribbon exposes all the application functions. No more endless menu items hiding your needed feature in a deep sub-menu you can never find.
Second, the UI is consistent. The ribbon is the only place to look for a feature. You no longer need to search through menus, toolbars and dialogs.
If you have Windows 7 installed and you want to see a live example of the Windows Ribbon Framework, check out both
Paint
and
WordPad
applications.
Another application that uses this ribbon is Microsoft Movie Maker, which is part of
Windows Live Essentials
.
Back in August 2003, when Office 2003 came out, the general consensus was that Office was done, in a sense that all the required features were finished. On a closer inspection, people have admitted that Office is very powerful but they don't know how to take advantage of it. The conclusion the office team reached was that the user interface was failing their users.
To better understand why the UI was failing the users, consider this:
Word 1.0, released back in 1989, had 2 toolbars and less than 50 menu items. That much UI is easily mastered by any user.
By the time Word 2003 came out, it had 31 toolbars (each consists of many buttons), 19 task panes (just another place to look for commands) and over 250 distinct menu items.
With so much UI functionality, people didn't even know where to look for a feature.
In fact, one obvious way to deduce there was a problem with the office UI was that people kept asking for features that already existed!
So, to rectify the situation, Microsoft did an extensive study on what bothered Office users the most. In addition, they have collected over 3,000,000,000 (yep, that’s 3 billion) Office sessions to research how users actually use Office.
After getting all this information, they began redesigning the Office UI to better answer the user's needs. And so, after making usability tests on many innovative user interfaces, they came up with the ribbon.
The ribbon is the single place where the user should look for functionality. The goal was to keep the user's focus on their content, cut the number of choices presented at any given time and above all, be consistent.
Ribbon APIs And Their Intended Audience
Since the Office ribbon turned out to be a major success, it was not long before many users started to request the ribbon feature in other third-party applications.
In order to meet public demands, Microsoft provided several implementations of the ribbon, each consistent with a different programming model and intended for different audience.
Note that the ribbon user experience remains the same regardless of the implementation.
Following are the Ribbon APIs available to date:
Windows Ribbon Framework
, the subject of this post, available in Windows 7 and Windows Vista with platform update, exposes a COM-based API, to be used by native Win32 developers.
MFC Ribbon
, available in Visual C++ 2008 Feature Pack, intended to be used by native MFC developers.
WPF Ribbon, Preview Version
, available in WPF toolkit for .Net 3.5 SP1, to be used by managed WPF developers.
Visual Studio Tools for Office Ribbon
, available with VSTO, to be used by Office add-ins developers.
SharePoint Ribbon
, available in SharePoint 2010, to be used by SharePoint developers.
Note
: WinForms developers can use
Windows Ribbon for WinForms
, which is a COM-Interop based wrapper around Windows Ribbon Framework.
Windows Ribbon Framework Overview
Let's review what are the included features in the Windows Ribbon Framework.
We will elaborate on some of these features in future posts.
CheckBox
and
ToggleButton
are two UI representations of a single command with a Boolean state.
Spinner
is a UI representation of a numerical value along with up / down buttons that allows the user to change it.
Figure 4: Spinner Control
ComboBox
represents a list of
text
items that one of them can be selected.
A gallery represents a dynamically populated list of
image
items that one of them can be selected. Galleries also give the live preview feature which enable users to see the results of selecting an item before actually selecting it. Galleries come in three variants:
DropDownGallery
,
SplitButtonGallery
and
InRibbonGallery
.
The group layout changes automatically according to the available space on screen and the layout definition. The group layout definition can be chosen from a predefined list of layouts or can be customized according to the user needs.
Support for changing the ribbon structure according to current application mode.
Contextual tabs allows you to add temporary tabs when a certain context is available (like showing image tools only when an image is selected).
Provides Quick Access Toolbar (
QAT
), a place for commands that the user selected for quick access.
Allows controlling the ribbon colors and visibility properties.
Provides an enhanced context popup to go with the ribbon.
Figure 8: Ribbon Context Popup
Provides highly accessible UI by implementing Microsoft Active Accessibility.
Provides support for High DPI and High Contrast settings.
Windows Ribbon Framework Requirements
Although Windows Ribbon Framework came out with Windows 7, it was made available to Windows Vista using the platform update mechanism.
The full list of Windows Ribbon Framework supported platforms is as follows:
License
Arik Poznanski is a senior software developer at Verint. He completed two B.Sc. degrees in Mathematics & Computer Science, summa cum laude, from the Technion in Israel.
Arik has extensive knowledge and experience in many Microsoft technologies, including .NET with C#, WPF, Silverlight, WinForms, Interop, COM/ATL programming, C++ Win32 programming and reverse engineering (assembly, IL).
A well written and useful article.
Just because the code works, it doesn't mean that it is good code.
Sign in
·
View Thread
You have mentioned that Ribbon UI is not supported in XP. But what i observed is ,
Office 2007 is installed on Windows XP shows the Ribbon UI. (VS 2008 is also installed on the same machine.)
Why is it so ?? or it is due to the VS 2008 installed on the machine.
Regards,
Prafulla Vedante
Prafulla Vedante
Sign in
·
View Thread
The "Windows Ribbon Framework" is a ribbon component by Microsoft which was
extracted
from Office 2007 and wrapped in a self contained COM component, which is deployed in Windows 7 and Windows Vista (via service pack).
This component is not available in Windows XP (I'm not sure there is a good reason why..)
Office 2007 uses it's own version of the ribbon (which was the source of the Windows Ribbon Framework). His version does work on Windows XP.
I hope it's clearer.
Arik Poznanski
Sign in
·
View Thread
Your'e welcome. You can check out my blog if you want to read it first. Just published part 3 yesterday.
Arik Poznanski
Sign in
·
View Thread
Hi Arik,
I'm a newbie to the development of ribbons so that I really like your tutorials. They are very helpful for me.
I have a question about the application menu. I use Windows 10 so that the label of the menu is "file" (In my case it's the german word for it). My problem is that I write an application where you can switch the language. Unfortunately the application menu label stays in the language of the O/S. Is there any possibility to change the label or change the language (without the need for the language beeing fully installed on the system) or use an image instead? Or maybe you have a completely different idea?
It 'd be great if you have any advice.
Thanks a lot in advance,
Michaela
Sign in
·
View Thread
Web04
2.8:2024-01-30:1