Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

Get to know Eclipse User Assistance

Improve the usability of your Eclipse-based apps

Chris Aniszczyk, Software Engineer, IBM, Software Group
Chris Aniszczyk
Chris Aniszczyk is a software engineer at IBM Lotus focusing on OSGi related development. He is an open source enthusiast at heart, and he works on the Gentoo Linux distribution and is a committer on a few Eclipse projects (PDE, ECF, EMFT). He's always available to discuss open source and Eclipse over a frosty beverage.

Summary:  This article introduces the Eclipse User Assistance project and discusses the many ways to deliver quality user assistance for your Eclipse-based applications.

Date:  27 Feb 2007
Level:  Introductory
Also available in:   Chinese  Japanese

Activity:  6940 views
Comments:  

For any piece of software, the ability to short-circuit a user's learning curve is critical to the adoption and success of that piece of software. Thankfully, Eclipse has the User Assistance project (see Resources), which includes tools for Eclipse-based applications to improve the end users' experience. According to the Eclipse User Assistance project Web site, the project's mission "is to provide for assisting users of Eclipse applications in all phases of the usage cycle. It is not a single workbench artifact, but rather a collection artifacts tailored to provide a particular flavor of assistance."

This article explains some of these artifacts through examples and relevant listings of extension points. Our purpose is not to go into depth into each of these artifacts (see Resources), but rather to serve as a gentle introduction to developers wishing to get started in helping their users.

Tour de Eclipse User Assistance

User Assistance components

Besides the three components discussed here (welcome framework, cheat sheets, and help), the Eclipse User Assistance project is responsible for Eclipse Forms, Samples Gallery, and Eclipse Automation. More information is available in the Eclipse User Assistance Overview.

The Eclipse User Assistance project comprises many components, but provides three main tools to assist users:

  • Welcome framework
  • Cheat sheets
  • Help

Welcome framework

Users launching Eclipse are greeted with a welcome screen.


Figure 1. Eclipse welcome
Eclipse welcome

The Eclipse welcome screen provides easy access to tutorials and samples for users. If you want something similar for the users of your application, Eclipse provides the welcome framework. The welcome framework provides the facilities (by way of welcome content) for you to help guide users through tasks like initial setup or provide easy access to online resources. Welcome content can be specified using raw SWT widgets, or more typically, a series of integrated Web pages. To get a good idea of what typical welcome content looks like, we'll use Plug-in Development Environment (PDE) -- using a template -- to create a sample RCP application that provides welcome content.

To take advantage of the PDE template, we need to create a new plug-in project first (File > New > Project... > Plug-in Project). It is important to state that we are creating a Rich Client Application in the new plug-in project wizard. Once this is done and we advance to the next page, we can create a project using a set of templates. In our case, we want to select the RCP application with an intro template.


Figure 2. RCP application with an intro template
RCP application with intro template

After the plug-in project is created, we can launch the application and see that it pops up to a new welcome screen.


Figure 3. RCP application with welcome screen
RCP application with welcome screen

If we look at dissecting the generated plug-in, we can see that it uses a few extensions (see Table 1). In particular, we're interested in the use of the org.eclipse.ui.intro.config extension point, whereby the application links to the introContent.xml file. This file contains links to XHTML files, which serve as the welcome content. It's that simple to start building welcome content.


Table 1. Relevant welcome framework extension points
Extension pointDescription
org.eclipse.ui.introThis is used to associate an introduction screen with a specific product.
org.eclipse.ui.intro.config This is used to create an introductory configuration. Intro configurations are the fundamental building block of Eclipse's welcome framework.
org.eclipse.ui.intro.configExtensionThis is used to extend an existing introduction configuration with more content. It also provides a way to separate content from specific configurations so welcome content is more reusable.

Cheat sheets

A look inside cheat sheets

For a more in-depth understanding of how cheat sheets work, Philipp Tiedt wrote an excellent article titled "Building cheat sheets in Eclipse V3.2" and an accompanying tutorial titled "Building cheat sheets in Eclipse" that includes a thorough example.

Cheat sheets can be thought of as an interactive set of instructions to complete a particular task. They provide a way to guide users through a series of steps with the possibility of scripting interactive actions to simplify what a user needs to do. For example, say you have an application that requires a user to create a special type of project (for example, a photo project) to start working with your application. Cheat sheets allow you to launch your new project wizard automatically, instead of having the user do it manually. A good example of this behavior is the Create a Hello World application cheat sheet.


Figure 4. Create a Hello World application cheat sheet
Create a Hello World application cheat sheet

Eclipse provides an easy way to author these cheat sheets through a new editor (since Eclipse V3.3) that can be seen in Figure 5 and accessed easily using File > New > Other... > User Assistance > Cheat Sheet. This is much easier for those who don't want to work directly with the XML format of Eclipse cheat sheet files. On top of this new editor, there's a command composer that allows you to easily link with existing Eclipse commands. This effectively removes the guesswork and error-prone nature of working with commands by hand in Eclipse.


Figure 5. Cheat sheet editor and command composer
Cheat sheet editor and command composer

The relevant extension points for cheat sheets are listed below.


Table 2. Relevant cheat sheet extension points
Extension pointDescription
org.eclipse.ui.cheatsheets.cheatsheetContentThis is used to register cheat sheet content contributions so they appear in Eclipse's Help menu.
org.eclipse.ui.cheatsheets.cheatSheetItemExtensionThis is used to create extensions for cheat sheet items. Effectively, this allows you to introduce new attributes to the cheat sheet file format and have them handled in a desired manner.

Help

If you worked with Eclipse or IBM® products before, you have most likely stumbled along things known as infocenters. Infocenters are part of the Eclipse help system that offers the ability for you to contribute and organize content and allow for users to search that content quickly. The content can be accessed within Eclipse itself (Help > Help Contents...) or via a browser using infocenters as mentioned. Generally, help content is organized into a hierarchy of XML files that link to HTML files. If you already have help content in one of the popular documentation formats like Darwin Information Typing Architecture (DITA) or DocBook, there are transforms available to turn your content into a consumable Eclipse help plug-in.

Help content producers

As of Eclipse V3.3, there is a notion of a help content producer (see the org.eclipse.help.contentProducer extension point) that effectively allows other sources of documentation (like DITA or DocBook) to be plugged into the Eclipse help system.

PDE has an excellent template to get you started with what sample help content should look like. By selecting the Plug-in with sample help content template (see Figure 6), PDE will create an initial project that has an extension of the org.eclipse.help.toc extension point. After the project has been created, simply launch a new runtime workbench and select help (Help > Help Contents...) to see your help contribution in action.


Figure 6. Sample help content template
Sample help content template

Remote help is now an option as of Eclipse V3.3. What this means is you are now able to ship help content separately from your actual application. Instead, you can have a server hosting help content and your application pointing to the help server (see Figure 7). This way, when a user requests help, it will be downloaded when needed. As a developer, you have to be careful about this because if your users are working in an offline environment, this could be detrimental as they won't be able to get help. It's a balance of reducing the initial size of your application download vs. the convenience of working totally in an offline environment.


Figure 7. Sample remote help settings
Sample remote help settings

The relevant extension points for Eclipse help are listed below.


Table 3. Relevant cheat sheet extension points
Extension pointDescription
org.eclipse.help.tocThis is used to help content by individual plug-ins.
org.eclipse.help.indexThis is used to generate an index to be used by help content.
org.eclipse.help.contextsThis is used to help provide context-sensitive help by individual plug-ins.
org.eclipse.help.contentProducerThis is used to provide help content dynamically generated at runtime.
org.eclipse.help.contentExtensionThis allows for reusable help content to be reused by the help system.

Conclusion

This article introduced the user assistance facilities of Eclipse and entices you, as a developer, to consider using these facilities to benefit your end users. In the end, good -- and integrated -- documentation can go a long way in reducing the learning curve of your users and the Eclipse User Assistance project provides the tools to get you started.

Acknowledgements

The author would like to thank Dejan Glozic, Curtis D'Entremont, Lee Anne Kowalski, and Chris Goldthorpe for their UA expertise in reviewing this article.


Resources

Learn

Get products and technologies

Discuss

  • The Eclipse Platform newsgroups should be your first stop to discuss questions regarding Eclipse. (Selecting this link will launch your default Usenet news reader application and open eclipse.platform.)

  • The Eclipse newsgroups has many resources for people interested in using and extending Eclipse.

  • Participate in developerWorks blogs and get involved in the developerWorks community.

About the author

Chris Aniszczyk

Chris Aniszczyk is a software engineer at IBM Lotus focusing on OSGi related development. He is an open source enthusiast at heart, and he works on the Gentoo Linux distribution and is a committer on a few Eclipse projects (PDE, ECF, EMFT). He's always available to discuss open source and Eclipse over a frosty beverage.

Report abuse help

Report abuse

Thank you. This entry has been flagged for moderator attention.


Report abuse help

Report abuse

Report abuse submission failed. Please try again later.


developerWorks: Sign in


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Select information in your developerWorks profile is displayed to the public, but you may edit the information at any time. Your first name, last name (unless you choose to hide them), and display name will accompany the content that you post.

Choose your display name

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


Rate this article

Comments

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Open source
ArticleID=197027
ArticleTitle=Get to know Eclipse User Assistance
publish-date=02272007
author1-email=zx@us.ibm.com
author1-email-cc=

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

For articles in technology zones (such as Java technology, Linux, Open source, XML), Popular tags shows the top tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), Popular tags shows the top tags for just that product zone.

For articles in technology zones (such as Java technology, Linux, Open source, XML), My tags shows your tags for all technology zones. For articles in product zones (such as Info Mgmt, Rational, WebSphere), My tags shows your tags for just that product zone.

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Try IBM PureSystems. No charge.

Special offers