共働的ウェブアプリケーションへの一歩

Baby Steps to Synergistic Web Apps [@lesscode.org]
ウェブアプリケーション間でデータをコピー&ペーストしたい

今、ウェブアプリケーションのUI技術とプラクティスが集積されてきている

  • ドキュメントの構造と表現は分離すべし、というのは基本的な定理だ
    • ウェブスタンダード・プロジェクトのXHTML(構造)とCSS(表現)をみよ
  • また一方で 37signals のようなAJAXイノベーターがデスクトップかと見紛うようなウェブアプリケーションをつくっている

並行して、XMLボキャブラリの爆発的増大

  • 例: OASISOPMLMicrosoft Office XMLOpen Office XML
  • XMLボキャブラリは様々な分野・ドメインを表している; 構造でもなく表現でもなく
    • 例: 商業分野: 注文管理、個人的な協調作業の分野: カレンダーやコンタクト管理、その他様々な技術の分野がある
    • これら全体が一緒になって私たちの世界の巨大な「ドメインモデル」を作っていっている
  • これら共有された、フリーのドメインモデルの開発・改良・利用は、情報システムの作り手、使い手の両方にとって大きな価値がある

ウェブアプリケーションを考える

  • 静的なウェブサイトではなく、まっとうなウェブアプリケーション
    • eメール、カレンダー、カスタマーサポート etc.
  • ウェブアプリケーションが操作しているのは、特定のドメインに限定された情報である; もちろんユーザーに情報を提示する必要もあるが
  • その間、ウェブアプリケーションが互換性のある形で扱っている情報を外にだすことは極めて少ない
    • ファイルのアップロード・ダウンロード程度だ
  • あるアプリケーションから住所を選んで、別のオンラインショップで届け先として使えたりはしない

一つ一つのウェブアプリケーションは島である

  • こうした一枚岩的なアプローチのために、成功するのは巨大なアプリケーションをつくれるベンダーだけになる
    • Mashup 流にもできるが、エンドユーザーには大して恩恵をもたらさない

ウェブアプリケーションがこれまでのデスクトップのそれと違う点

覚えてるかい - 大学一年の英語の時間、後ろの席だったんだ

クリップボードの概念が重要な橋渡しだった

  • クリップボードパラダイムのもとでは、プラットフォームに共通した操作方法が、すべてのアプリケーションでサポートされている
    • 内容を指定し、クリップボードにコピー、その後別の場所に「貼り付ける」ことができる; 元のアプリケーションでもいいし、別のアプリケーションでもいい

クリップボードパラダイムの根底にあるもの: 同じ内容を表現するには、様々なやり方があるということ

  • ここに、表現とドメイン・モデルの橋渡しが実現されている
    • クリップボードの内容を受け取ったアプリケーションは、表現からモデルまでの種々のレベルのうち、適切なものを選び取る
      • 例: 回路図(モデル)を貼り付ける時、図的表現としてもあらわせるし、回路シミュレーションなら回路のモデリングに応じたあらわしかたをするだろう

ウェブのアーキテクチャ上でクリップボードの概念を実装することができたら、そのメリットは大きい

  • ウェブアプリケーションの提供者はより小さくしかけることができる
  • より多くの提供者・アプリケーション・機能がもっと早く世に出ることができる
  • 使えるXMLボキャブラリが花開いているというのに、私たちはファイルをアプリケーションの間でダウンロード、アップロードしている

「今でもブラウザーでカット&ペーストできる」とおっしゃるか

何を待っていることがあろうか

ちょっと待て、AJAXを使えないか?

ウェブアプリケーションクリップボード」のスタンダード

  • もし: 情報元のアプリケーションが、標準化された「ウェブアプリケーションクリップボード」の構造をデスクトップのクリップボードに持ち込むことができたとして
  • もし: ユーザーが目的のアプリケーションにその内容を送ることができたとして
  • そうなれば、ユーザー自身がその場その場で各所の情報をミックス Mash Up していることになる

実現のために何が必要か-標準化規格団体内にワークグループを、保守派に売り込みをかける…

この先起こりうること

ウェブプラットフォームへ乗り換えるときに取り残されたものを再び手に入れることで、次の世代のプラットフォームへの道が開ける

そう、別のrssリーダーを試すときなど、とみに思う