[Twitter/Tween]「パーマリンクを保持したReTweet(的なもの)」の仕様を考えていたら混乱してきた。


 Twitter/Tweenに興味ない人はこの先読まなくて良いですよ。


 先日仕事中に浮かんだネタ *1 を膨らませて整理してまとめようとした……んだけど、なんか無理っぽい気がしてきたのでのでとりあえず途中まで。
 文字ばっかりな上に最後はグダグダになって終わるのでそのつもりでw



■趣旨
 タイトルの通りです。(この機能を、以後本エントリ中では「RT2」(仮)と表記)



■思想
・「元ポスト」をルートとしたツリーを作るようなイメージ。
・同一の「元ポスト」を持つRT2は同一のツリーに組み込まれる。(同一のツリーとして扱う)
・RT2の本文に乗るのは、「RT2した人の発言」「直接RT2される発言」のみ(履歴のユーザ名は保持)
⇔(結果として)「この発言」に対して「こう応答した」を明示するツリーが出来る



■書式
「<CRLF>RT @(screen_name)+(ルート発言のパーマリンク):(status_text)<\t>{@(rireki_screen_name)...}」
※<CRLF>は改行文字。Twitter上では<LF>で統一されている? かも知れないので実動作優先。
※<\t>はタブ文字。通常のエディタで使用(入力)しない制御文字なら何でもよい。
 <LF>及び<\t>がTwitterサーバを通ることは確認。(2009/10/10現在)



■仕様案
・RT2の「初回」
 @original の「初回の投稿」(http://twitter.com/original/status/12345678)というPostを@rt2_1が加筆した上でRT2すると、以下のようになる。
「rt2_1が加筆<CRLF>RT @original+http://twitter.com/original/status/12345678:初回の投稿」(実際にはパーマリンクは短縮される(はず))



・2回目以降
 上記Postを@rt2_2が更にRT2すると、以下のようになる。
「rt2_2が加筆<CRLF>RT @rt2_1+http://twitter.com/original/status/12345678:rt2_1が加筆<\t>@original」
 ※ルート発言のパーマリンクは元Postのものを保持
 ※@(screen_name)及び(status_text)は、直接RTする発言のものを使用
 ※元発言の@(screen_name)は、(status_text)の後に<\t>で区切って追記
 更に@rt2_3が更にRT2すると、以下のようになる。
「rt2_3が加筆<CRLF>RT @rt2_2+http://twitter.com/original/status/12345678:rt2_2が加筆<\t>@rt2_1 @original」
 ※<\t>直後が最新、以後順にRT2履歴を遡るようなイメージ



■要検討事項
・保持し続けるパーマリンクを、ルート発言のものではなくRT2対象の発言のものにするという手もある。
(一覧性には欠けるが発言チェインは辿れる。RT2をどのような機能として位置づけるかによって変わる)
・(via @(screen_name))を発見したら削除してよいかも知れない(通常のRTは<CRLF>の前を削除する際に削除されるはず)
・RT2するときはフッターは付けないべき(可能なら)
・「#(status_id)」を組み込むとハッシュタグ連携が出来る
パーマリンクに加えてハッシュタグも必要かは議論の余地あり)
・書式を「<CRLF>RT @(screen_name)+(ルート発言のパーマリンク):(世代):(status_text)<\t>{@(rireki_screen_name)...}」として、RT2されるごとに「世代」をカウントアップしていくというのも考えたが、どのぐらい嬉しいかは不明
(始まったばかりか延々続いているのかがわかりやすいという点ではあったほうが良いかも)



■その他
・「ルート発言のパーマリンク」を保持し続けるる場合、後から検索などで一気に辿ることが可能(検索の精度に依存)
・本文を保持するのが一世代だけなので、世代の保持(議論参加者への@通知)は長持ちする可能性が高い





■大問題
 ……とここまで書いて思ったのですが、RTって2種類ありませんか?
1) 特徴的な単一の発言を延々とチェーンで繋ぐRT
2) ある程度まで履歴を引き継いで会話のログを残すRT
 で、上記1と2は「重きを置く対象」が異なっているので、一つの機能で両方に対応しようっていうのは無理がありませんか
(このエントリで当初考えていたのは基本的に2の方です)



「RT2」の仕様の前に、まず「RTに期待する動作」を整理しないとダメなんじゃね? どうなん??