IPA


開発成果一覧へ





2004年度第1回未踏ソフトウェア創造事業  採択案件評価書


 



1.担当PM


  鵜飼 文敏 (日本ヒューレット・パッカード株式会社 ヒューレットパッカード研究所 主幹研究員)



2.採択者氏名


 代表者

徳永 拓之(大阪大学)

共同開発者

なし



3.プロジェクト管理組織


  日本エンジェルズ・インベストメント株式会社



4.委託金支払額


  3,874,839



5.テーマ名


  S 式表現を利用したプレゼンテーションツールの作成



6.関連Webサイト


 http://spresso.org/



7.テーマ概要


 現在、プレゼンテーションツールには2種類のタイプが存在する。パワーポイントに代表されるGUIで資料を製作するタイプ(以下GUIタイプ)と、マジックポイントに代表されるテキストエディタで資料を製作していくタイプ(以下エディタタイプ)である。
 エディタタイプにおける利点は、テキストエディタの強力な検索機能や置換機能を利用し、効率的にプレゼン資料を製作できることである。本プロジェクトでは、テキストエディタで資料を作成するタイプの新規のプレゼンテーションツールの開発をおこなう。




8.採択理由


 UNIX ユーザがプレゼンテーションツールとして使っている MagicPoint を超えるプレゼンテーションツールを開発するという提案で、論理構造とデザインを分離して作成できるような表現形式の定義がうまくできれば、本提案の成果物は期待できるものになるでしょう。描画部分に cairo という新しい 2D グラフィックライブラリを利用するということなので、本提案の開発を通じて副次的に cairo の発展などにも寄与することを期待しています。




9.開発目標


 Pcの普及に伴い、プレゼンテーションという行為の日常生活における割合は、以前よりも大きくなってきている。この増大に伴うプレゼンテーションの準備のためにかかる時間の増加は憂慮するべきものである。
 Windowsでは、GUIで資料を作成するパワーポイントが代表的であるが、UNIXの世界ではテキストエディタで資料を製作していくマジックポイントのようなエディタタイプのプレゼンテーションツールを好むユーザも多い。
 エディタタイプのプレゼンテーションツールは敷居が高いという欠点が存在するものの、資料の作成自体は習熟に従い短時間で行えるになるという利点を持っている。しかし、エディタタイプのプレゼンテーションツールはその数が少なく、また開発も活発に行われているとは言えない。そこで、本提案では新規にエディタタイプのプレゼンテーションツールの開発を行うことを目的とした。
 まず、本提案において解決する事を目標とした問題点を以下に挙げる。
  1. 文法が固定的である
  2. 視覚デザインに対する柔軟性が欠如している
  3. 画面以外への出力機能が貧弱である
 これら全てを解決したプレゼンテーションツールは存在していない。そこで、本提案ではこれらの問題点を解消したプレゼンテーションツールを開発することを目標とした。
 文法が固定的であるという点を解消するために、原稿を中間形式に変換し、それを更に解釈し、表示を行うこととした。これにより、原稿を中間形式へ変換するコンバータを書き足すことで新たな文法に対応できるようになる。中間形式としてはS式による独自形式とした。
 また、視覚デザインに対する柔軟性が欠如しているという点を解消するため、視覚要素の定義に関しては別ファイルに分離できるようにすることとし、画面以外への出力機能が貧弱であるを解消するために、複数バックエンドを切替えて画像出力が行う事が可能なCairoというライブラリを採用することとした。CairoはKeith Pacardが開発している、様々な出力デバイスに対応した新しいベクタグラフィックスのレンダリングエンジンである。



10.進捗概要


 2004年10月頃にソフトウェア名をSpressoとすることにし、http://spresso.org/ を用意した。この頃、SchemeインタプリタGauche用のCairo bindingであるGauche-cairoの最初のバージョンができた。
 2005年にはいってからも、開発者がかかわっている多言語入力ライブラリuimプロジェクトのほうに時間をさかれてしまったために、本プロジェクトに関してはあまりはかばかしい進捗はみられなかった。



11.成果


 本プロジェクトでは、まずschemeの一実装であるGauche用のCairo バインディングGauche-cairoを開発した。これはCairoの機能をGauche側から利用するためのものであり、Cairo のほぼ全てのAPIに対応する関数を用意した。ただし、Gaucheから利用できない機能を用いるいくつかのAPI(xlibバックエンド用のAPIなど)に関しては存在意義が無いので、対応する関数の作成は省略した。この開発をすすめるにあたりいくつかCairoの不具合を発見したので、その修正をフィードバックしCairoの開発への貢献もおこなった。
開発したGauche-cairoに関しては、Gaucheに倣いBSDライセンスで配布する事とした。現在のところまだ配布用のwebサイトなどは存在せず、http://xem.jp/~tkng/Gauche-cairo-0.1.0.tar.gzで試験的に配布している段階である。
spressoが本プロジェクトにおけるメイン部分である、プレゼンテーションツール本体である。Spressoの内部はC言語で書かれたユーザーインターフェース部分と、原稿を中間形式に変換するコンバータ部分、中間形式に落としこまれた原稿を解釈、表示を行うコア部分に分類できる。
ユーザーインターフェース部分に関してはGTK+を用い、マウス操作によりファイルを開きプレゼンテーションを行えるようにした。これは今までのエディタタイプにはみられない機能である。
原稿を中間形式へと変換するコンバータ部分に関しては、現在は河合史郎氏作のWiKi クローンであるWiLiKiのフォーマッティングモジュールを改造し流用している。しかし、やはりWiKiのフォーマッティングモジュールの流用にはやや無理があるので、公開までには独自のコンバータで書き直す予定である。
コア部分は中間形式に変換された原稿を受け取り、Gauche-cairoの機能を用いてそれを描画する。コア部分はSchemeで完結しており、これから容易に拡張できるようになっている。
spressoはGPL(General Public Licence)での公開を予定している。



12.プロジェクト評価


 S式表現を利用したプレゼンテーションツールの作成に関しては、最新のベクターグラフィックスライブラリCairoを利用して、新しいプレゼンテーションツールを作成しようという意欲はあったが、それ以外の点で革新的なアイディアを提供したわけでも、本期間内に非常に実用的で多くのユーザを獲得できたソフトウェアが開発できたわけでもなかった。
 現時点における開発成果の特徴は新しいライブラリを積極的に使っていることであり、残念ながらそれ以外の点についてはまだ積極的にアピールするポイントを見出せない。逆に、使用しているライブラリが新しすぎて、インストールの難易度が高すぎる、不安定であるなどのデメリットが目につく。しかし、使用ライブラリの問題に関してはこれから各種のディストリビューションがアップデートされる事で解決することが期待できる。Cairoに依存する新しいバージョンのGTK+は2005年中盤のリリースが予定されており、2005年の終わりには、これが収録されたディストリビューションの方が多くなるはずである。問題が解決されれば、逆に新しいライブラリを使用している事によるメリット(グラフィックハードウェアアクセラレーションによる高速な実行、Cairoのバックエンドの切替えによるpdfでの資料の出力など)が大きくなり、既存のソフトウェアとの差別化が行えるだろう。
 また、中間形式へのコンバータの実装はそれほど簡単にはできないようなので、文法が固定的であるという問題を解決することはできなかった。ただ、あまり文法が乱立するとユーザが混乱するであろうことを考えると、いろいろな文法で記述できるというのもいい点であるとはいえないのかもしれない。
 ソフトウェアの規模に関しては、最終的には数千人程度のユーザ数、数十人程度のコミュニティ規模を確保し、バザール制での開発に移行していけるといいが、現在の成果では、GaucheとCairoを利用したという以外にアピールする点がないので、公開するまでに既存のソフトウェアを越える機能を実装するなり既存のソフトウェアよりもはるかに使いやすいものにしあげないと、まとまったユーザ層を獲得することは難しいだろう。



13.今後の課題


 期間内に公開に至らなかったので、まずは公開できる段階までもっていくことが一番の課題である。ただし、不完全な状態で公開しても意味はないので、ある程度のドキュメントを整備し、インストール手順も今よりも簡略化してから公開したほうがいいだろう。ただ、公開するまでに既存のソフトウェアを越える機能を実装するなり既存のソフトウェアよりもはるかに使いやすいものにしあげないと、まとまったユーザ層を獲得することは難しいだろう。開発者は、2005年5月の公開を予定しているとのことである。
 現時点ではCairo等に関する情報は不足しているので、本開発者がCairo等を使って開発した時に得た経験・知識がまとまった形で公開されれば、これからこれらを利用しようという開発者にとって有用な資料となると思われるので、そのような知識等も機会を見て発表していってもらいたい。


  ページトップへ   






  Copyright(c) Information-technology Promotion Agency, Japan. All rights reserved 2004