どのような種類のソフトウェアであれ、ユーザーの学習期間を短縮できることは、そのソフトウェアの採用と成功にとって重要なことです。幸い Eclipse には、User Assistance プロジェクト (「参考文献」を参照) があり、このプロジェクトには Eclipse ベースのアプリケーションに関するエンド・ユーザーのユーザー・エクスペリエンスを改善するためのさまざまなツールがあります。Eclipse User Assistance プロジェクトの Web サイトによれば、このプロジェクトの使命は、「Eclipse アプリケーションの使用サイクルのあらゆる局面においてユーザー支援を提供することであり、このユーザー支援は単なる 1 つのワークベンチ成果物ではなく、ある特定の種類の補助のために調整された成果物の集合です。」
この記事では、こうした成果物を、いくつかの例や関連する拡張ポイントのリストを示しながら説明します。この記事の目的は、成果物のそれぞれを詳細に解説することではなく (詳細については「参考文献」を参照してください)、ユーザーを補助したいと望む開発者のためにプロジェクトの概要を紹介することです。
Eclipse User Assistance プロジェクトは多くのコンポーネントから構成されていますが、ユーザーを補助するための主なツールとしては下記の 3 つがあります。
- welcome フレームワーク
- チートシート
- ヘルプ
ユーザーが Eclipse を起動すると、次のような「ようこそ」画面が表示されます。
図 1. Eclipse の「ようこそ」画面
ユーザーは、Eclipse の「ようこそ」画面から、チュートリアルやサンプルを容易に利用することができます。皆さんのアプリケーションのユーザーにも同様のものを提供したい場合のために、Eclipse は welcome フレームワークを提供しています。welcome フレームワークは、初期設定のような作業においてユーザーをガイドする助けとなり、またオンライン・リソースを容易に利用できるための機能を (welcome コンテンツとして) 提供しています。welcome コンテンツは、生の SWT ウィジェットを使って詳細を設定することもでき、あるいはもっと一般的には、統合された一連の Web ページを使って詳細の設定をすることができます。典型的な welcome コンテンツがどのようなものかを知るために、ここではテンプレートとして PDE (Plug-in Development Environment) を使って、welcome コンテンツを提供するサンプルRCP アプリケーションを作成します。
PDE テンプレートを利用するには、まず新しいプラグイン・プロジェクトを作成する必要があります (File > New > Project... > Plug-in Project)。ここで重要な点として、新しいプラグイン・プロジェクト・ウィザードの中で Rich Client Application を作成することに注目してください。これが終わったら次のページに進み、テンプレートのセットを使ってプロジェクトを作成します。ここでは RCP application with an intro テンプレートを選択します。
図 2. RCP application with an intro テンプレート
プラグイン・プロジェクトが作成された後、そのアプリケーションを起動すると、そのアプリケーションが新しい「ようこそ」画面にポップアップされます。
図 3. 「ようこそ」画面を持つ RCP アプリケーション
生成されたプラグインを調べてみると、いくつかの拡張 (表 1) が使われていることがわかります。ここでは特に、org.eclipse.ui.intro.config 拡張ポイントが使われていることに着目します。この拡張ポイントによって、アプリケーションが introContent.xml ファイルにリンクされます。このファイルは、welcome コンテンツとして動作する XHTML ファイルへのリンクを含んでいます。welcome コンテンツの作成を開始するのは、これほど簡単なのです。
表 1. welcome フレームワークに関連する拡張ポイント
| 拡張ポイント | 説明 |
|---|---|
| org.eclipse.ui.intro | 導入画面と特定の製品とを関連付けるために使われます。 |
| org.eclipse.ui.intro.config | 導入構成を作成するために使われます。導入構成は Eclipse の welcome フレームワークの基本的な構成ブロックです。 |
| org.eclipse.ui.intro.configExtension | 既存の導入構成を、さらに多くのコンテンツで拡張するために使われます。また、welcome コンテンツを再利用しやすくするために、特定の構成から内容を分離するための手段としても使われます。 |
チートシートは、ある特定の作業を行うための一連の対話型命令と考えることができ、一連のステップをとおしてユーザーをガイドするための方法です。そのために、場合によっては対話型アクションをスクリプト化し、ユーザーによる動作を単純化することもあります。例えば、あるアプリケーションを使い始めるためにユーザーが特別なタイプのプロジェクト (例えば写真のプロジェクト) を作成する必要がある場合を考えてみてください。チートシートを利用することによって、新しいプロジェクト・ウィザードを自動的に起動することができ、ユーザーが手動で起動する必要がなくなります。この動作をよく示している例が、Create a Hello World application というチートシートです。
図 4. Create a Hello World application チートシート
Eclipse は、こうしたチートシートを簡単に作成するための方法として、(Eclipse V3.3 から) 新しいエディターを提供しています (図 5)。このエディターは、File > New > Other... > User Assistance > Cheat Sheet を使えば容易に利用できます。Eclipse のチートシート・ファイルの XML フォーマットを直接操作したくない人にとっては、このエディターを使った方がずっと簡単です。この新しいエディターに加えて、既存の Eclipse コマンドと容易にリンクするためのコマンド・コンポーザーもあります。これによって、推測しながら手動コマンドで Eclipse を操作するという、間違いを起こしがちな作業をなくすことができます。
図 5. チートシート・エディターとコマンド・コンポーザー
チートシートに関連する拡張ポイントを下記に示します。
表 2. チートシートに関連する拡張ポイント
| 拡張ポイント | 説明 |
|---|---|
| org.eclipse.ui.cheatsheets.cheatsheetContent | チートシートのコンテンツ構成部品が Eclipse のヘルプ・メニューに現れるように登録するために使われます。 |
| org.eclipse.ui.cheatsheets.cheatSheetItemExtension | チートシート項目に対する拡張を作成するために使われます。これによって、実質的にチートシート・ファイル・フォーマットに新しい属性を導入でき、そうした属性を自由に処理できるようになります。 |
これまでに Eclipse あるいは IBM® 製品を扱ったことのある人は、infocenters として知られているものをおそらく見たことがあるはずです。infocenters は Eclipse のヘルプ・システムの一部です。infocenters を使うことで、ヘルプ・コンテンツを提供して構成することができ、またユーザーはヘルプ・コンテンツを素早く検索することができます。ヘルプ・コンテンツは、Eclipse 自体の中で検索することもでき (Help > Help Contents...)、あるいは上記のように infocenters を使ってブラウザーから検索することもできます。一般的にヘルプ・コンテンツは、HTML ファイルにリンクする XML ファイルの階層構造の中に組み込まれています。もしヘルプ・コンテンツが、既に DITA (Darwin Information Typing Architecture) や DocBook など一般的な文書フォーマットになっているのであれば、そうした内容を Eclipse で利用可能なヘルプ・プラグインに変換することができます。
PDE には優れたテンプレートがあり、サンプルのヘルプ・コンテンツを参照しながら作業を始めることができます。Plug-in with sample help content テンプレートを選択すると (図 6)、PDE は org.eclipse.help.toc 拡張ポイントの拡張を持つ初期プロジェクトを作成します。このプロジェクトが作成されたら、単純に新しいランタイム・ワークベンチを起動し、ヘルプを選択すると (Help > Help Contents...)、提供したヘルプの実際の動作を見ることができます。
図 6. Sample help content テンプレート
Eclipse V3.3 では、リモート・ヘルプも利用できるようになりました。このことは、実際のアプリケーションとは別にヘルプ・コンテンツを出荷できるということを意味します。ヘルプ・コンテンツを同梱して出荷する代わりに、ヘルプ・コンテンツをホストするサーバーを用意し、アプリケーションがそのヘルプ・サーバーを指すようにできるのです (図 7)。こうすれば、ユーザーがヘルプを要求した時に、必要に応じてヘルプをダウンロードすることができます。ただし、ユーザーがオフライン環境で作業する場合にはヘルプを利用できず、これが弊害となる可能性があるので、開発者は十分に注意する必要があります。これはつまり、アプリケーションの初期ダウンロード・サイズを削減することと、完全にオフライン環境で作業できる便利さとのバランスの問題になります。
図 7. リモート・ヘルプの設定の例
Eclipse のヘルプに関連する拡張ポイントのリストを下記に示します。
表 3. ヘルプに関連する拡張ポイント
| 拡張ポイント | 説明 |
|---|---|
| org.eclipse.help.toc | 個々のプラグインが、ヘルプ・コンテンツに対して使います。 |
| org.eclipse.help.index | ヘルプ・コンテンツで使用される索引を生成するために使われます。 |
| org.eclipse.help.contexts | 個々のプラグインが、コンテキストによって変わるヘルプを提供するために使います。 |
| org.eclipse.help.contentProducer | 実行時にヘルプ・コンテンツを動的に生成するために使われます。 |
| org.eclipse.help.contentExtension | これによって、再利用可能なヘルプ・コンテンツをヘルプ・システムで再利用することができます。 |
この記事では Eclipse のユーザー支援機能を紹介しました。皆さんが開発者として、エンド・ユーザーのためにこうした機能を使うことを検討するようにお勧めします。要約すると、適切な (そして統合された) ドキュメンテーションがあれば、ユーザーの学習期間を削減する大きな効果があります。また Eclipse User Assistance プロジェクトは、それを実現するためのさまざまなツールを提供しています。
ユーザー支援に関する専門知識をもとに、この記事をレビューしてくださった、Dejan Glozic とCurtis D'Entremont、Lee Anne Kowalski、そして Chris Goldthorpe の各氏に感謝いたします。
学ぶために
- Eclipse の User Assistance プロジェクトについて調べてください。
- Eclipse の PDE (Plug-in Development Environment) について学んでください。
- チートシートを作成するための方法を学ぶために、Phillip Tiedt による developerWorks の記事「Building cheat sheets in Eclipse V3.2」とチュートリアル「Building cheat sheets in Eclipse」を読んでください。
- Eclipse のヘルプ・システムの扱い方を学ぶために、「Writing Documentation and Help for Eclipse Projects and Plug-ins」を読んでください。
-
Eclipse documentation wiki を調べてください。
-
DocBook.org と DITA の Web サイトを訪れ、この 2 つの一般的な文書フォーマットについて学んでください。
- DITA について学ぶために「Darwin Information Typing Architectureの紹介」と「 Darwin Information Typing Architectureでの特殊化」を読んでください。
- developerWorks で DITA に関して公開されている、もう 1 つの記事、「Frequently Asked Questions about the Darwin Information Typing Architecture」を読んでください。
- Eclipse でのオーサリング方法を学ぶために、Eclipse Foundation の記事「Authoring with Eclipse」を読んでください。
- Eclipse User Assistance に関して知るために、EclipseCon 2007 に参加してください。
- Eclipse コミュニティーの最新ニュースを知るために、Planet Eclipse を訪れてください。
- Eclipse プラットフォームへの優れた入門記事として、「Eclipse Platform入門」を読んでください。
- 「Eclipse オススメ情報リスト」を調べてください。
- developerWorks には他にも Eclipse 関係の記事が豊富に用意されています。
- IBM developerWorks の Eclipse project resources を利用して Eclipse のスキルを磨いてください。
- developerWorks podcasts では、ソフトウェア開発者のための興味深いインタビューや議論を聞くことができます。
- developerWorks technical events and webcasts で最新情報を入手してください。
- IBM オープンソース開発者にとって関心のある、世界中で今後開催される会議や業界展示会、ウェブキャスト、その他のイベントについて調べてみてください。
- developerWorks の Open source ゾーンをご覧ください。オープンソース技術を使った開発や、IBM 製品でオープンソース技術を使用するためのハウ・ツー情報やツール、プロジェクトの更新情報など、豊富な情報が用意されています。
-
Safari Books Online には、オープンソース技術に関するリソースが豊富に取り揃えられています。
-
製品や技術を入手するため
-
Eclipse プラットフォームをダウンロードし、今すぐ Eclipse を使い始めてください。
- IBM alphaWorks に用意された、Eclipse 技術に関する最新のダウンロードを調べてください。
- 皆さんの次期オープンソース開発プロジェクトを IBM trial software で革新してください。ダウンロード、あるいは DVD で入手することができます。
議論するために
- Eclipse に関する質問を議論するための最初の場所として、Eclipse Platform newsgroups があります。(このリンクをクリックすると、デフォルトの Usenet ニュースリーダー・アプリケーションが起動され、eclipse.platform が開きます。)
-
Eclipse newsgroups には、Eclipse を利用し、拡張することに関心を持つ人達のために、さまざまなリソースが用意されています。
-
developerWorks blogs から developerWorks のコミュニティーに加わってください。

Chris AniszczykはIBM Lotusのソフトウェア技術者であり、IBMのExtreme Blueインターンシップ・プログラムの卒業生でもあります。オープンソースの信奉者であり、現在はGentoo Linux (http://www.gentoo.org) ディストリビューションに取り組んでいます。またEMFT(Eclipse Modeling Framework Technology)プロジェクトのコミッターでもあります。