プログラミング+α学習ブログ

勉強したことの備忘録です。

備忘録/ユーザーインターフェース設計入門(9)

備忘録続き。コレ読んでます。
〔重点〕これからのUIの教科書 ~ユーザーインターフェース設計入門

複数のアプリを連携させる価値

連携させるアプリが増えるほど、ソフトの価値は増加する。

2つのアプリを結びつける方法

あるソフトで保存したデータを別のソフトから開く方法

いちいちファイルに保存するのは面倒。特に適切なファイル名をつけるのが面倒。2つのアプリがどちらも扱える共通のファイル形式を持っていない場合はできない。持っていても別の形式で保存するとやはり他のアプリに挿入できない。挿入されたデータは元のデータとは別のコピーになるので、元ファイルの修正が反映されるとは限らない。リンクとしてデータを挿入できるケースでは元ファイルの修正を反映できるが、誰かに渡すときは元ファイルを一緒に渡さないと画像が参照できなくなる(表示、印刷ができなくなる)。UIと言う観点からはもっと手軽な方法、使い勝手の良い方法がほしい。

カット/コピー/ペースト

これらはクリップボードというアプリ間データ転送のために用意された場所を扱う。アプリ内のデータ転送にも使用される。
カット:選択範囲を削除し、その範囲にあった内容をクリップボードに入れる。
コピー:カットと同じだがデータを削除しない。
ペースト:クリップボードのデータを貼り付ける(同じアプリでも別のアプリでもよい)。
ファイルに保存する必要がなく、ファイル名を考える必要もない。ファイル形式と比較してクリップボード形式はより標準化が進んでいて、最低限のデータを渡せる可能性がもっと高くなる。UI的に大幅に手間が少なくなる。

動的な連携

DDE(Dynamic Data Exchange):通信ソフトと表計算ソフトのExcelをDDEで連携させておく→通信ソフトが株価データを受信する→Excelの表に埋め込まれた株価データが、受信されたデータに自動的に更新されて表示される。
OLE(Object Linking and Embedding):アプリAで文書を作成する→アプリBに貼り付ける→貼り付けたデータを修正したくなったので、データをダブルクリックする→アプリB内で、アプリAの編集機能が動作するので編集を加える→アプリBの世界に完全に復帰して、アプリBの機能で文書の続きを作成していく。
HTMLのFRAME要素:HTMLページの一部として別のページを取り込むことができる。そのページが変更されていれば、FRAME要素を変更することなく表示内容を変化させることができる。

動的な連携のメリット

修正が発生したときのコストや手間を劇的に下げられる

動的な連携のデメリット

参照先が失われると機能性も失われる。実装が難しく、実現するコストや期間も長くなる。あまり標準化が進んでおらず、対応アプリも少ないので、連携できる確率が低い。操作が複雑かしやすく、わかりにくい。結局デメリットの方が大きいのであまり利用されていない。