アプリケ−ション間のコピー&ペースト時にライブリンクを維持するオープンソースのフレームワーク「LinkBack」

USのCocoa-Dev MLに話題が出ていた。複数のアプリケーション間でのデータのコピー&ペースト機能を楽に実現するオープンソースのフレームワーク「LinkBack」が発表されていた。Nisus Softwareがスポンサーで、Omni Groupやblacksmith(お高いチャート作成アプリケーション「CHARTSMITH」で有名)。

まだ、アルファ段階なのでフレームワーク本体と、テスト実装されたサンプルが配布されているだけであるが、その概要を調査してみた。

http://www.linkbackproject.org/about

ダウンロードして驚かされるのは、そのソースの小ささだ。まだアルファ段階ということもあるとは思うが、非常にシンプルな実装になっていることが見て取れる。
LinkBackのテクノロジーをひとことでいえば……アプリケーション間でデータをコピー&ペーストし、元データが更新された場合にはアップデートをかけるもの、ということになる。

アプリケーション間で直接やりとりを行わずに、途中でサーバーを仲介してやりとりするのだという。また、サーバー側からのデータ更新リクエストを受け付けるクライアントも用意しアプリケーションはこのクライアントとやりとりするだけである。たしかに、シンプルで無理のない仕組みだ。

これは、昔からよくあった仕組みだと思うのだが……Publish & Subscribing(発行と引用)とか、OLEとか……アイデア自体はもんのすごく昔から存在していた仕組みを焼き直したものにすぎない。当時はアプリケーションの開発などは全然行っていなかったので気にならなかったが、これらの機能をアプリケーションに実装するには負担が大きくなりすぎたのだろうか。当時も一部のアプリケーションにしか実装されていなかった。

現在でも、Mac OS X上でMicrosoft Office製品の間ではライブリンクが生きていたような気がするような……しないような……。

このLinkBackでは明快なモデルで実装し、フレームワークを提供することで、開発者への負担を軽減しつつドキュメント間のライブリンクを実現することが目的である。

元ドキュメントのデータ変更がサーバーに伝達されるのは、変更した時点ではなくSaveを行ったタイミングだという(終了やクラッシュも監視しているようだ)。LinkBackのServerやClientはデータ更新の受け付けのみを担当し、データのやりとりはPasteboardを経由して行われる。

Mac OS X 10.4 Tigerには、SpotLightの機能が提供され、メタデータによる検索のほか、異なるアプリケーション間のデータ共有なども意図しているという(アップルが明言していたので間違いない)。もしも、アプリケーションがデータ保存をすべてメタデータで行うようにしていれば、データベース経由で異なるアプリケーション間のデータ共有が行えるという寸法だ。各アプリケーションがMac OS X 10.4上の機能にどの程度対応してくるか分からないが、やりようによってはできるという感じだろうか。

話を元に戻すと、LinkBackはデータ更新を通知してクリップボード経由で自動でやりとりする仕組みである。Tiger上のSpotLightとこのLinkBackが連携することで、より快適な環境を構築できるということだろう。

実際に配布されているLinkBackのソースアーカイブには、グラフィックツール「Sketch」と、テキストエディタの「TextEdit」のLinkBack対応版が含まれている。これらのアプリケーションはDevelopper Toolsに含まれているサンプルであるが、元のプログラムからの差分をファイル単位で見ると……

「LinkBackTextAttachment.m」「LinkBackTextView.m」の2つのファイル(と、それぞれ対応するヘッダファイル)が増えているぐらいだ。

もう少し仔細にわたって差分を取ってみると、具体的にどこを修正したかが分かってくると思うが、最小限の作業で実装できるという点を強調している。

海外ではいろいろとこのような面白いテクノロジーやアイデアが紹介されているのだが、日本のメディアなどでは取り上げられることもない。

Copyright By Piyomaru Software. All Rights Reserved