Tip

Using Office 2007 Ribbon UI development tools

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.

More on Office 2007 development
Article: What the new Office means for developers

Tip: How to customize the Office 2007 Ribbon

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.

This was first published in December 2006

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.