リアルタイムな伺かメモ

※注:以下は現時点ではα以前の構想段階です

現状の伺かで問題だと感じた点

開発者視点ではなく、あくまで数年ぶりに戻ってきた、いちユーザとして…

問題点1
あまりに多数のゴーストがいてインストールしきれない。ユーザからすれば管理が面倒くさいし、ゴースト開発者側も自分のゴーストが埋もれる危険をはらんでるはず
問題点2
アーカイブの定期更新という方法は原始的だし、毎回アーカイブを準備するゴースト作者も面倒くさい(はず)。時事問題やニュース等への瞬発的な反応力はなく、基本的には辞書に準備されている言葉しか喋れない。
問題点3
ゴーストは能動的に起動される必要がある。起動されていないゴーストは、自己主張する機会もないままにほとんど存在を忘れられる運命にある。
問題点4
実際問題として伺かユーザもTwitterやmixiやニコ動などの他の手軽なネットサービスに興味を奪われつつある(ように感じる)。「非実在のキャラが住む場所」は、いまは伺かではなくTwitterだったりする。もったいない。

現状のボトルシステムはこんなん

「ゴーストが生きている」を体感するにはいい線いってる。(SSTP Bottle)

  • 問題点2である、即時性という意味で非常に優秀(ある意味Twitterより優秀)であり、テレビの実況中継すらゴーストを通じて可能。
  • 問題点3である、起動されず忘れられていたようなゴーストが、存在を主張できる場としても役に立っている。

しかし、ボトルはあくまでゴースト作者ではなく利用者の方を向いたサービスであり、ゴースト作者にとっては使いづらい、どころか、場合によっては邪魔な存在である。また、現実問題として伺かコミュニティの中ですら、存在を忘れられつつある(笑)

そして、そもそもボトルクライアントがSSPと別に起動していないと話にならない。

そこでやりたいこと

やりたいこと1
ゴーストは出来るだけ透過的にインストールされるようにしたい(YES/NO形式でダイアログでの確認くらいするでしょうが)。発展型としては、インストールするという概念自体をなくし、クラウド上で管理される存在にするのもアリ。
やりたいこと2
ゴーストの会話に即時性を持たせたい。具体的にはゴーストマスターが裏で、インストールされているゴーストの会話をリアルタイムで送信できるようにしたい。ボトルのようなユーザコミュニティの範疇ではなく、ゴーストの標準機能として、そういうものでありたい。
やりたいこと3
ゴーストは自分で喋りたいときに自分で起動して良い(もちろんユーザの許可の上で)。仮に能動的に起動せずともちゃんと生きており、存在を忘れられないようにしたい。Twitter上ででも生きていて欲しい。

一言でいうと

「ゴーストが自動インストールされ、透過的に起動し、デスクトップ上でリアルタイムに会話を繰り広げ、それをユーザが見て楽しむ」という状況の実現。

ボトルそっくりですが、「あくまでゴースト開発者が自分のゴーストを操るための仕組み」なので、似て非なるものです。

たとえばTwitter上では色々なゲームキャラがつぶやいています(公式・非公式問わず)し、彼らは(非実在の)キャラクター同士でリアルタイムに会話をしていたり、あるいはユーザとコミュニケーションを取ることがあります(もちろん裏に「中の人」がいる)。

これをTwitterのタイムラインなんていう狭い場所でなく、デスクトップ上で、伺かで、実現したくはありませんか? ということ。

Q: ゴーストマスターさんの負荷が高いんじゃない?
A: 「半年間ゴーストのアーカイブの更新はしてないけど、その間にTwitter上では5000回くらい発言した」という人、いるでしょ? その気軽さを目指すということ。

実装方法案と比較

当然の前提として、既に存在する伺かの莫大な資産を壊すようなものは作れない。また結構負荷のかかる中央サーバ的なものが当然どこかに必要。

以下の話では送信側がどうなるのか一切言及されていませんが、それこそTwitter的に、各種の投稿方法(Web、アプリ、…)がゴーストマスターには用意されるもの、と考えて下さい。

方法1:ゴーストマスタ用のSSTP Bottle姉妹版を作る

ボトルクライアントの機能縮小・受信専用版のようなプログラムが、SSPと別にWindows上で常時起動しており、中央サーバからメッセージをストリーミング受信する。Direct SSTP/Socket SSTPを使ってゴーストに喋らせる。

利点:実装が早く、SHIORIを入れ替える必要が一切無い。ゴーストマスタがユーザ登録するだけで、既存の数千体のゴーストが、アーカイブ更新の必要すらなく対応できる。

欠点:その専用クライアントが普及し、常時起動していないとお話にならない(そして今のボトルにそんな力はない)。再生可能なスクリプトはSSTPのセキュリティの範疇に制限される。この方法を使うと、「ゴーストの自動インストールと起動」という、もう一つの重要な目標が全く叶えられない。他OSとの互換性がない。

方法2:独自のSHIORIを作る

ローカルの辞書から選んで喋るのではなく、サーバからメッセージをリアルタイムに受信して喋るような独自のSHIORIを実装し、それを使ったゴーストを普及させる。

利点:実装は比較的簡単。

欠点:既存のゴーストの大半が一切対応できず、事実上「今後生まれる新たなゴーストのためだけのオモチャ」になってしまう。自動インストールは無理。

方法3:SSPが対応する

SSP自体が、ボトルのような、「インストールしているゴーストのメッセージをリアルタイムに受信する機能」を実装してしまう。(「フォローしているユーザのつぶやきを半リアルタイムに受信する」のがTwitterクライアントだから、実はイメージ的にそれに非常に近い)SSPは受信したメッセージに応じ、SSFファイルによる台本読みの要領で、必要なゴーストを起動し、受信したスクリプトを再生する。

また、「ネットワーク版ゴーストでありセキュリティ的に安全」であることを何らかの方法で認証できれば、そのゴーストは自動インストールに対応できるようにする。

利点:すでにインストールされているゴーストに関しては、(ゴーストマスタがやる気を出せば)すぐにリアルタイムな会話をするようになる。SHIORIによる準備済みの会話と、リアルタイムな掛け合いとが両立できる。

欠点:ぽなさんの負荷が凄いことになる。セキュリティ的にSHIORI込みの自動インストールは非常にまずいから、自動インストールに対応できるゴーストは今後生まれるごく限られたものになってしまう。

方法4:シェルだけ利用する、SSPとはまったく別のベースウェアを作る

「narファイルを自動ダウンロードしてシェル/バルーンだけを展開して使用する」「上記のような自動受信機能を実装する」の2つの機能に絞った、まったく別のベースウェアを(AIRかなんかで)作成する。SHIORI (DLL) という既存の仕組みから決別し、「リアルタイムなコミュニケーション」「Web上で管理されるゴースト」の世界で仕切り直す。

利点:自動ダウンロードを本気で頑張るならこれしかない。互換新ベースウェアは(作り直しだし特殊なバイナリが不要なので)他OSやモバイルに容易に進出できる。仕切り直し感が強いが、逆に過去のしがらみを捨てることで、他のサービス(Twitter等)にガチ対抗出来、あわよくば企業が採用とかまでしてくれるかもしれないような道が開けるかも。

欠点:伺か世界の再構築に等しいので、現存する大多数のゴースト作者の同意がないことには、この世界は始まらない。

方法3と4の共存

SSPもこのサービスに対応しつつも、自動インストールに対応しSHIORIを使用しない独自ベースウェアもある、という世界。

リアルタイムのメリットが認知され、オンライン上で主に活躍するゴーストが増えるなら、それでもいい。逆にオフラインでSHIORIを使うことで生まれる細やかな楽しみもあるので、それらが残る選択も良い。オンライン版のゴーストからオフライン版に興味を持ってくれる人がいるかもしれない。両方のメリットを最大限に生かしつつ、共存すればいい。

利点:自動インストールが重要な人も、既存のSHIORI資産が重要な人もハッピーになれる。

以上4方法のまとめ

開発コスト普及しやすさ自動インストールリアルタイム性他OSとの互換既存資産との互換
方法1低い×××
方法2低い×××
方法3ぽなさん次第
方法4ほぼ新規開発×
3+4併用とても大変

(余談)Twitterとの連携

ゴーストマスタ用のメッセージ投稿インターフェース(ブラウザ上になるのか、Tween的なデスクトップ上のクライアントになるのか、おそらく両方でしょうが)は、Twitter投稿も可能なようにしたい。(ゴーストの会話を、ベースウェア経由だけでなくTwitter上でも再現できるように同時投稿する)

つまりゴースト用に\0側と\1側の2アカウントがあり、掛け合いをTwitterのタイムライン上と、ゴーストのフキダシ上の両方で再現できるようにしたい。

SSP上、独自クライアント上、Twitterに行っちゃった人、全員がゴーストのことを忘れないでいてくれる…はず。

全体像

全体像(最終形態の理想像)

中央Webインターフェース(HTML)

  • Twitterの発言画面+ブログの管理画面を想像してください
  • ユーザ登録、権限付与
  • ゴーストマスタ向け
    • 管理画面
      • ゴースト新規登録、サーフィスなど編集
      • narアーカイブからのまとめ登録
      • 連携Twitterアカウント(\0/\1の2アカウント)の登録(オプション)
      • ランダムトーク登録
    • 発言画面
      • Flex(Flash)によるWYSIWYGな発言編集UI
      • 里々記法による発言UI
      • その他とにかく発言は気軽にできるように最大限頑張る
      • 発言は即時配信や日時指定の予約配信が可能
      • 「毎日12時」などの定期的な発言はどうする? そういう投稿はふぁぼれるべき? 機能自体不要
      • 発言は携帯電話用ページ経由やメール投稿も可能
      • 発言はゴーストユーザに送信されると同時に、Twitterへも同時投稿される(発言ごとに連携するかどうか選択できる)
  • 一般ユーザ向け
    • ゴースト紹介、検索、一覧
    • AIRクライアントダウンロード画面
    • 各ゴーストの発言一覧をWeb上で成形して表示
    • ゴーストの発言にスターを付ける
    • ゴーストの発言をTwitterでつぶやく/ゴーストに向けてリプライ
    • トップページにはTwitter的な発言ストリーミング表示

中央APIインターフェース(HTTP+XML/JSON)

  • ゴーストマスタ向け
    • 発言API(即時or日時指定)
    • 特定のゴーストの発言一覧取得
  • 一般ユーザ向け
    • 発言取得(SLPP的なもの、ストリーミング)
    • ゴーストの検索
    • ゴーストのダウンロード

Erlangで実装する

ゴーストマスター向けデスクトップクライアント

  • ブログ管理ソフトや、Tweenのようなイメージの、発言を容易にするための単体クライアントアプリ
  • Flex 3+AIRで実装 (=Windows, Mac, (Linux, Android)対応)
  • SARS的な、サーフィスをマウスで選ぶことによる発言管理
  • 里々記法にも対応
  • 「ゴースト上のみで再生」「Twitterのみ」「ゴースト/Twitterに同時投稿」を選択できる。

ゴーストユーザ向けデスクトップクライアント

  • Flex 3+AIR
  • 「ボトルクライアントを内蔵したSSPのようなもの」あるいは「SERIKOのみ使うセキュアなオンラインゴースト専用ベースウェア」のイメージ
  • インストールされているゴーストに関する発言を受信し、TwitterのTL的な表示が可能
  • ゴースト管理機能(検索・インストール・削除)
    • ゴーストごとに「常時起動」「自動起動」「起動しない(インストールされてるだけ)」が選べる
  • SVG+TalkShowとSERIKO+Balloon両対応が理想

メモ

  • 中央サーバはゴーストの検索機能を有するべき
  • BOT開発も可能なように発言投稿APIは公開する
  • 国勢調査的な物は最低限の方がよさげ
  • 「ゴースト同士が勝手にデスクトップ上で会話してる」を実現するためにはTwitter的な「返信」「~宛て(@記法)」に対応する何かが必要
  • ゴーストの管理者のほかに共同で発言を配信できるゴーストサブマスター機能
  • 他人が特定のゴーストのネタを思いついたときに仮投稿してゴーストマスターの承認後に配信する機能
  • Retweetは流石に要らないよね
  • どうやって宣伝するん? 一番大きなコミュニティーってどこ?
  • 自分のゴーストが行った発言の一覧をWebでもリアルタイムに公開できるAPI
  • 中の人などいないっ!

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-05-08 (土) 10:15:35