One of the most noticeable user interface changes in Microsoft Office 2007 is the Ribbon. This UI element brings...
an application's most commonly used menus and task panes into a single, collapsible pane, as opposed to the horizontal list of pull-down menus one sees in Office 2003.
The news for developers is that the Ribbon can be customized. One option is Microsoft's Visual Studio 2005 Tools for Office Second Edition Beta, which in a nutshell is VSTO for Office 2007.
Blogger Bil Simser, meanwhile, has downloaded, demoed and reviewed several other toolkits for Ribbon development. His finding appear in a blog entry called Ribbon UI Control Roundup for Developers.
Some of the products he tried, like TAdvToolBar, Toolkit Pro 2006 and BCG Control Bar Pro, are written in C++ code. Others, like Elegant Ribbon, are still in beta. Commenters add a few tools to the mix as well, including r.a.d.controls for Windows Forms and Infragistics 2006 Vol. 3.
Ultimately, Simser found the best tool to be the XtraBars Suite from DevExpress. Like the company's XtraGrid offering, XtraBars Suite includes a plethora of designers, editors, skins and themes to make Office 2007 development much easier. "[I]f you're serious about building apps using the Office UI and have lots of time to kill learning something, this would be your best bet," Simser wrote.
Don't forget the fine print
Before diving into Office 2007-style development, however, developers must consider licensing.
Jensen Harris of the Office 2007 development group has posted in his blog information about licensing and the Office 2007 UI. Anyone who plans to develop custom ribbons -- or any custom Office 2007 UI elements for that matter -- should carefully read Harris's post, the comments on that post and the Office UI guidelines, which Harris links to.
An important consideration is that even if a developer is using one of the tools listed above, he has to obtain a license from Microsoft. Why? The license from a third-party vendor is not automatically transferable to anyone using that vendor's products.
Recently Mike Gunderloy opined on this site that the licensing agreement represented a dubious claim on a development concept and would, if widely implemented, make Office-style software development much harder than it should be.
Simser, in a post called Being a responsible open source developer, agreed that the licensing agreement, which tops out at 120 pages, is a bit much and also said there are plenty of unanswered questions about how the license really works.
Simser's main point, though, is that whatever interface an application developer works with, the app should not be tied to libraries or other tools that are open-source one day and commercial the next. With Microsoft's license agreement, he said, at least developers know what the back end of their Office 2007-esque UI elements will look like.