AIR」が公開されてからおよそ1年が経過し、国内でも本格的な導入事例が増えつつあります。そのなかでも、AIRの特徴であるローカルDB(SQLite)やメッセージングをフルに活用したAIRクライアントの実装例が、イマヒマの「Colabolo(コラボロ)」です。Done)ツールです。メール・クライアント風のリッチUIを備えており、Inboxやスマートフォルダ、ドラッグ&ドロップ操作などを利用して、個々の仕事を表す「課題」の作成や絞り込み、状態や優先度の設定、プロジェクトの各メンバーへの割り振りを行えます。その使い勝手は、おおよそiTunesを想像していただければよいでしょう。このColaboloのひとつの特徴は、「デスクトップ・アプリのポータビリティと可用性」も備える点です。一般的なWebアプリケーションは、当然オンライン状態でなければ役に立ちません。Colaboloの場合は、唐突にLANケーブルを抜いたとしても表面上はまったく変わりなく利用でき、UIのフリーズやレスポンス低下は皆無です。メンバーとのリアルタイム連携は途絶えるものの、それ以外の機能やデータはすべて継続して利用でき、例えばネット環境のないミーティング・ルーム、または地下鉄の車内でさえ、GTDの収集や処理、分類、評価といった作業を進められます。“接続性フリー”なアプリケーションと言えます。ローカルDB「SQLite」の活用がカギそもそもColaboloは、後述するように全機能がローカルDBで実装されているため、Webアプリのようにサーバやネットワークの調子もしくは混み具合によって反応が鈍くなったりダウンしたりすることはありません。このあたりの使い勝手は、WordやExcelといったデスクトップ・アプリそのものです。ネットワーク接続が復帰すれば、それまでの更新内容がほかのメンバーにも自動的に反映される仕組みです。このColaboloをごく短く評するとすれば、「iTunes的なリッチUIとメッセンジャーのスピード感を持ち、Excel並にポータブルなタスク管理ツール」といったところ。この独特のエクスペリエンスを生み出すカギは、AIRのローカルDB「SQLite」の活用にあります。Playerをベースとしたデスクトップ・アプリケーションの実行環境です。AIRがFlashやFlexといった既存のテクノロジーと大きく異なる点、そのひとつは、リレーショナル・データベース「SQLite」がAIRの実行環境そのものに組み込まれていることです。AIRクライアントでは、以下のようなActionScriptコードを記述することで、簡単にデータベースをオープンすることができます。conn.open(dbFile);ここでは、ローカルPC上に保存されたデータベース・ファイルfoo.dbをオープンし、オープン処理が完了したら関数onDbOpenedを呼び出すことが記述されています。つづいて、例えば関数onDbOpenedには以下のようなコードを記述します。}ここに示したように、SQL文を表すSQLStatementオブジェクトにデータベース接続とSQL文を渡したのち、executeメソッドを呼び出すだけで、SQLiteによるDB検索を実行できます。検索結果の個々のレコードはオブジェクトのかたちで取り出せるという流れです。SQLiteのパワーをいかに引き出すかこのようにSQLiteは、1つのファイルに全データを格納するというAccessライクな軽量RDBであり、AIRクライアント内部でActionScriptコードを記述することで、比較的手軽に利用できます。その一方で、ひととおりのSQL構文やトランザクション管理をサポートし、性能的にもMySQLにそれほど引けを取りません。AIRは、クライアント単独でも動作する業務アプリケーションを、上述のような比較的シンプルなコーディングで構築できる能力を備えています。Colaboloのミソは、個々のクライアントが内蔵するSQLite間を同期するレプリケーション機能と、同期のタイミングをリアルタイムに通知し合うメッセージング機能を組み合わせた「リアルタイムDB同期」にあります。これにより、それぞれのAIRクライアントは「個別のデスクトップ・アプリケーション」として完全に独立しつつも、オンライン状態では密接に連携し合って「プロジェクト単位のコラボレーション・ツール」として振る舞うのです。ColaboloのリアルタイムDB同期は、以下の2種類のサーバによって実現されています。DB同期サーバメッセージング・サーバこのうち「DB同期サーバ」は、各メンバーのColaboloクライアントに内蔵されたSQLiteの内容を相互に同期する役割を担います。Colaboloクライアント上のユーザ操作によって何らかのデータが更新されると、DB同期サーバに対して更新データが送信される仕組みです。この同期処理はColaboloクライアントのバックグラウンドで実行されるため、サーバのレスポンス時間がUIのレスポンス性を律することはありません。このリアルタイムDB同期のメリットはほかにもあります。DB同期サーバが「デスクトップ・アプリのバックアップ・サーバ」としても機能する点。すべてのデータがサーバ側にも保存されているため、もしクライアントPCがクラッシュした場合でも、Colaboloを再インストールするだけですべてのデータをクライアントへダウンロード可能です。可用性の面では、単純なWordやExcelのファイルよりも高いのです。1.5以降ではSQLiteのデータベース・ファイルは暗号化されており、かつデータ同期やメッセージングの内容も暗号化することで、WordやExcelのファイルに比べても高度なセキュリティを確保できます。した特徴は、Webアプリケーション譲りのメリットと言えるでしょう。以上、本稿ではイマヒマのコラボGTDツールColaboloを軸に、AIR+SQLiteによって生み出された新しいユーザ・エクスペリエンスとそのメカニズムを紹介しました。ローカルDBが持つポテンシャルの高さを実感していただけたらなら幸いです。Done)ツールです。レビューや承認などのさまざまな「チームワーク」に対応し、GTDのアプローチで「さくさくお仕事」を進めるための基盤を提供します。AIRで実装されたメール・クライアント・ライクなリッチUIを備え、GTDの「処理」や「整理」での振り分け作業をInboxやスマートフォルダ、ドラッグ&ドロップを利用して手早く行えます。更新内容はColaboloサーバを通じて瞬時にプロジェクト・メンバーに伝わるため、メッセンジャーや電話と同じスピード感覚でメンバー間の課題のキャッチボールを進められます。GTDの「収集」のプロセスを支援する機能として、メールと課題を相互に自動変換する「メールto課題」機能や、アップロード時間ゼロ・容量無制限でドラッグ&ドロップによるファイル共有が可能な「ファイル四次元ポケット」機能を備えます。商用版では1ユーザあたり月額3,600円前後での提供を検討しているとのことです。イマヒマは、日本を拠点としてグローバルに活動するインタラクティブ・メディア・テクノロジーカンパニーです。決済ゲートウェイ「PayMe」や企業用のナレッジワーカー向けソフトウェア「JIRA/Confluence」などのビジネスを国内で展開します。これまでにはiモード版AOLインスタントメッセンジャー、Habboホテル、ハリーポッター公式モバイルサイトの立ち上げや運営の実績を持ちます。地域を選択してください地域を選択すると、アドビサイトで使用する言語と内容が変わります。