新月の仕組みをどう見せるか
今の新月はどう見せるかというのが、まったく決まってないんですよね。 たとえば「新規作成」っても、 ネットワークに掲示板を新しく作るという意味ではなくて、 自分のローカルに掲示板を作るという意味で、 他のノードにも同じ名前の掲示板があったら勝手に同期するんですけど、 それをどう表現するか、ってのがよくわからない。
と書いたのですが、 今回はもっと詳しく新月では アーキテクチャをどうやって表現しようかというところで 困っているという話を書きます。
ふと思い出したのが Source Mage GNU/Linux というプロジェクトで、 これはソフトをインストールするのを「呪文を唱える」みたいに表現するんですよ、 たしか。 何年か前に知ったときはそうでした。 今は違うかもしれないけど。 そんな感じで、 うまいこと新月の仕組みを何かの比喩で表現できないかと思ってるんですけどね。
新月は「掲示板」と言ってますけど、 掲示板の書き込みは半永久的に保存される保証がなくて、 基本的には起動している期間の発言が拾える(運が悪ければ駄目だけど)という 仕組みなんですね。 その点ではIRCのチャットに近いですよね。 誰かがログを保存・公開していれば読めるけど、 そうでなければ繋いでいる間のログしか読めないという仕組み。 このあたりをどう表現するべきなのかなあ、という問題があります。 なんというか、2chの(新月が出てきた専門板の)文化って、 発言する前に過去ログ読めみたいな感じなんですけど、 新月って過去ログは読めないのがデフォルトですからね。 そういうものなんだ、というのが使っていて自然に見えてこないと、 うまくいかないと思うのですよ。 掲示板のリンクをクリックしたら、何も書き込んでない掲示板が出てきた。 さてどうするか、というあたりで。
これと関連しますけど、 新月の掲示板ってタイトルが識別子になってるんですね。 「新規作成」といっても、それはローカルに掲示板を作ることで、 作られた掲示板は他のノードの掲示板と同期します。 ということは、新規作成のつもりでも、既存の掲示板と同じ名前の掲示板を作ると、 その掲示板を自分のところでも共有するというイメージになるわけで、 うーん、どう表現するのがいいのかなあとか。
組み合わせ技だと、1ヶ月以上書き込みがない掲示板に対して 誰かが「新規作成」をしたとしますね。 するとある人にとっては「1ヶ月ぶりに書き込みがあった」であり、 ある人にとっては「自分が1getだ」という認識になる。 ここで古参の人が過去ログ読めとかいっても、それはおかしいんですけど、 じゃあどうやってそれがおかしいということにするのかなあ、とか。
これは実装に近い部分の話なんですけど、 今の新月はクライアント側でもサーバ側でも機能するんですけど、 ええと、どういうことかというと、 ユーザ1人ごとにノード1つがあるという構造であっても、 1つのノードに数人のユーザがぶら下がるという構造でも動くんですけど、 どちらにしても中途半端な面はあるんですよね。 じゃあどちらに力を入れて強化していくのか、というのも未定です。 やっぱりクライアント側なのかなあ。
ということでアイデア募集中です… よく考えたら開発というより企画の範囲ですね。