Eclipse Mylyn(source) を生み出し、その開発を主導している Tasktop Technologies 社(サイト・英語)が先日 Tasktop version 1.0(source)をリリースした。InfoQ は Tasktop の社長で CTO でもある Mik Kersten 氏(source) にインタビューし、今回のリリースと、それが如何にして Mylyn のタスク指向インタフェースをより多くの人たちにもたらすのかについて話を聞いた。
Mik Kersten 氏はまず Tasktop Techonologies 社と Tasktop 1.0 リリースの背後にある理念について次のように述べた。
私たちの理念は Tasktop Technologies のロゴにもなっている less is more という三つのシンプルで美しい言葉で言い表わすことができる。私たちのデザイン、インテグレーション、実装は全てこの原則で満ちている。「 less is more 」というのは、私たちが開発やナレッジワークのためのツールに感じた最近の傾向に対する反応だ。それらには学ばねばならない情報、機能、ツール、WEB UI がうんざりするほど多く、そのため、仕事を片付けるよりも情報を探す方により多くの時間を費やすというのが常態となってしまっていた。私たちはウインドウや WEB アプリケーション、デスクトップアプリケーションの間を絶えずクリックして行き来し、必要な情報を探すために検索と画面スクロールを繰り返している。どのツールも、あらゆる種類の有用な情報を簡単に利用できるようにサポートしようとしていたが、それらには統合やフォーカスが欠けており、私たちの過剰な負担は相変わらずだ。だから私たちは Tasktop Technologies を作って宣言することに決めた。「わかった、もう十分だ。ツールを構築するための情報中心のアプローチはデスクトップに数十のファイルしかなかった 80~90 年代には有効だったが、そこまでだった。今必要なのは、私たちの仕事の流れに応じてツールを整理するタスク中心のアプローチだ。ファイルシステムへの情報の格納方法に応じたものなんかではない」、と。
Kersten 氏は更に、「 less is more 」という言葉がどこから生まれたのか、それは Tasktop にとってどういう意味があるのかというディティールに踏み込んだ。
面白いことに、私にとって、このフレーズが生まれたところは、多くのツールがいまだに熱心に使っているデスクトップユーザインタフェースというメタファが生まれたのと同じ場所、つまり Xerox PARC だった。私は 1999 年に AspectJ のための IDE サポートを構築するために Gregor Kiczales 氏に雇われた。そこで私は自分にできるかぎりのたくさんの機能をツールと WEB サイトに構築することに夢中になっていたのだが、彼は定期的に私のデスクのそばに来て、「 less is more 」だと何度も何度も、次第に厳しい口調で言った。このことは、できるかぎりシンプルなソリューションを生み出し、フィードバックを得るためにそれをユーザに提示し、一般的なユースケースのフローが正しくなるよう設計のイテレーションを行う、という設計面における美意識を私の頭の中に打ちつけた。そして Mylyn と Tasktop によるタスク指向インタフェースのおかげで、「 less is more 」というアイデアは新しい段階に移行したのである。
タスク指向インタフェースは Mylyn と Tasktop 1.0 両方の根底に横たわるカギとなるアイデアである。Kersten 氏はタスク指向インタフェースの更なるディティールについて次のように述べる。
私たちはクリックに多大な時間を費やすが、これを何とかしなければならないと感じていた。私は AspectJ のリリースのためのコーディングで長いあいだ腱鞘炎(source)に悩まされていたため、まず自分自身にとって必要なことから手をつけようとしたのである。私は大好きなコーディングをやめなくても済むよう必死だった。私はさまざまな入力デバイスやクリック回数を減らすためのテクニックを試してみるようになった。私は、自分が参照しなければならないものがスクリーン上にあれば繰り返しそれを検索しブラウズする必要はなくなる、ということに気付き、これをさらに探求するために、最高のスキルと経験をもったツールの研究員である Gail Murphy 氏とブリティッシュコロンビア大学の博士課程をスタートした。私たちは利用者にとって最も関係の深い情報を自動的にランキングするための関心度モデルを考え出し、このモデルを人間のエピソード記憶の働きに関する比較的最近の発見と結びつけるための重要なひらめきを得た。簡単に述べると、タスクを相互作用とコラボレーションの主要な要素とし、タスクコンテキストの想起を自動化することによって、人間の記憶をよりよく利用するタスク指向インタフェースを生み出したのである。これはすこし複雑に聞こえるかもしれないが、最終的に生まれる UI はシンプルで、利用者がタスクを活性化すると、その利用者がタスクの一部として接触するすべてのものがそのタスクのコンテキストとなる仕組みだ。コンテキストは保存され、共有できるので、複数の操作を行うところがシングルクリック操作になる。現在いる何十万人ものプログラマが Eclipse と Mylyn を使うことでタスク指向インタフェースの恩恵を受けることになると私たちは見積もっている。
Kersten 氏は最初 Mylyn に実装されたタスク指向インタフェースを Tasktop 1.0 がどのように拡張するのかについても語った。
Mylyn の目標は、プログラマのためのタスク指向インタフェースの参照実装として利用される、オープンで拡張性の高いフレームワークを作り出すことだった。プロジェクトは私の博士論文の主張を検証する手段としてスタートし、その後、これら生産性の利益をほかの人たちとシェアすることに心を奪われるようになった。しかし、私の論文(PDF・英語)の概要から気付かれるとおり、目標はこれらの利点をプログラマだけではなくすべてのナレッジワーカにもたらすことだった。これを実現するため、私は Eclipse ワークベンチというエレガントな世界を離れ、Mylyn のタスク指向インタフェースをデスクトップや WEB のアプリケーションという一般的に利用される環境へと拡張しなければならなかったのである。
Tasktop では 1 年の間、自分の作業をするときはいつもこのツールを使うようにしていた。そして数百人の人たちがベータ版を試してくれている。Tasktop の最初のパブリックリリースは Eclipse を使っているプログラマには $40/年 、スタンドアロンアプリケーションを必要とする人たちには $60/年 で販売をスタートする。今日これを発表できることを心から嬉しく思っている。これは私たちが主導している Mylyn プロジェクトへのサポートとなるだけではなく、人々の作業にフォーカスをあてるという私たちの目標に向けた大きなランドマークになる。
Tasktop 1.0 リリースの主な機能について教えて欲しいという私たちの要求に Kersten 氏は次のように答えた。
まずはその価値がもっとも明らかな機能から話をし、最後にもっとも意味深いものについて話をしようと思う。まず最初に、すべての人が Mylyn を利用するようになる。Mylyn のタスクリストを使えば、すべてのタスクを、それが個人的なものであれタスクリポジトリでシェアされているものであれ、一元的に管理できる。
プログラマではないがリッチなクライアントが欲しい場合や、JIRA にオフラインアクセスしたいという場合、NetBeansや Visual Studio を使ってプログラミングしていて Rally に接続したいという場合には、スタンドアロンの Tasktop RCP アプリケーションでそれが実現できる。セットアップを簡単にするために、Atlassian の JIRA と CollabNetと Rally 用のコネクタのワンクリックインストーラも含まれている。Outlook ユーザなら Outlook の E メール、タスク、カレンダーイベント用コネクタを手に入れることができるし、統合されたカレンダーを通じてタスクをスケジューリングするためのサポート機能や、オフラインのときでも Google Calendar に登録されている近日の全イベントを提示するアジェンダポップアップのような嬉しい機能をもつ Google Calendar 統合を手に入れることもできる。フォーカスされているファイルをブラウジングすることによる恩恵と、すばやいファイルアクセスを提供するため、 Tasktop は Microsoft Windows と完全な統合を果たしている。Tasktop は OS に個別の統合をしているので、 Eclipse の上と外、両方の場所でタスクの処理に費やされた時間を正確にトラッキングすることも可能だ。Eclipse プラグインバージョンを使えば、Mac や Linux を使っているプログラマもこれらの恩恵の一部にあずかることができるが、現在のところ、それらにはタスク切替時の外部アプリケーションの自動的な終了など欠けている機能がある。
しかし、私がもっともエキサイトしたのは、Tasktop を起動時にデフォルトのブラウザとして設定できることだ(今のところ Windows のみ対応)。これで、利用者のブラウジング活動のすべてにフォーカスが当てられることになる。そして利用者がプログラミング作業にもどり、ドキュメントを読んだり Wiki を編集しなければならなくなると、対応するブラウザタブがすばやく復元される。Skype 上で JIRA の課題へのハイパーリンクをクリックしたら、即座にオフラインコピーがリッチなタスクエディタで開き、バックグラウンドでサーバと同期をとる。Tasktop を利用するメリットについてもっと話を続けることもできるが、それよりも実際に自分で使ってみるのがよい。私は 1 年間 Tasktop を使って作業をしてみたが、リッチエディタやコンテキスト管理機能をもたない以前のタブブラウザにもどることは想像できない。
Kersten 氏は Tasktop を実際に使っているところを見ることのできるオンラインビデオout (source)や現時点で Tasktop が提供している統合の完全なリスト(サイト・英語)が提供されていることに触れ、Tasktop 1.0 を支えるテクノロジや最近の SpringSourceとのパートナーシップ(source)についても語った。
Mylyn と Eclipse API の統合とそれらがもつ力はすべて Tasktop によるものだ。人々のすべての作業にフォーカスをあてるためにはその人々が使っているタスクリポジトリ(課題トラッキングやプロジェクト管理を行える WEB サービスなど)用の Mylyn コネクタと、ツール( Java エディタや WEB ブラウザなど)用の Mylyn ブリッジが必要だ。私たちはプロプライエタリ・オープン両方のリッチなエコシステムが Mylyn と統合可能となるように力を入れて作業に取り組んでいる。ツールのエコシステムは今も成長している。Tasktop は Google と Microsoft のツール用コネクタと WEB やファイルのブラウジング用ブリッジを使って、プログラミング以外の活動との間のギャップを埋めている。私たちは API がオープンソースになり、Eclipse と Mylyn が完全な統合フレームワークを提供し、Tasktop がそこに頼れるようになることを強く信じている。
私たちが 3 月にある EclipseConで紹介しようとしている統合に向けた活動のひとつの例として、 SpringSourceと共に行った Spring Tool Suite (STS) に関する努力が挙げられる。Mylyn にバンドルされているブリッジの参照実装が Java プログラマをサポートするというすばらしい仕事をしている一方で、Java EE 開発のライフサイクルと統合するために必要な多くの追加ブリッジをサポートするプロジェクトの背後にあるリソースを、私たちは手にしたことがない。そのとき私たちは Spring フレームワークが Java EE のためのデファクトスタンダードになりつつあったことに気付き、タスク指向のエンタープライズアプリケーション開発環境を創り出すために SpringSourceと提携したのである。Spring フレームワークと同じように、STS も強力かつシンプルであることを目標としている。3 月の EclipseConでその最初のパブリックリリースを発表するのがとても楽しみだ。STS は Mylyn API を使って構築されているため、開発者は STS を Tasktop と連携させて用いることで、自分たちの Java EE プログラミングやそれ以外の活動の両方にフォーカスをあてることができる。
最後に Kersten 氏は Tasktop の今後の方針に光を当て、次のように述べた。
おそらくお察しのとおり、私たちの試みはまだ始まったばかりだ。最初のパブリックリリースから 2 年が経った Mylyn のような改良と統合の継続的な軌跡を Tasktop でも見られることを期待していてほしい。EclipseConでは、利用者の作業と Eclipse ワークスペースの管理をより簡単にする Tasktop の更なる統合も発表する予定だ。原文はこちらです:http://www.infoq.com/news/2008/02/tasktop-10
初期のユーザがツールの発展に大きな影響を与えるという意味で、今回の Tasktop のような新しい試みの始まりというものはいつも楽しいものだ。試用版を http://tasktop.com からチェックアウトし、タスク指向インタフェースがあなたの作業をサポートするにはどのようにするのがベストか、統合されたレポーティング機能を使って私たちにフィードバックしてほしい。