はじめに
SNSを作ろうと思ったわけではありません。
しかしずっとSNSは作りたいと思っていたことが結構強く反映されているのではないかと思います。
結果としてSNS…なのか?というサービスです。
なのでこのエントリではどのようなことに取り組んだのかを書き下します。
正確には、
フォロワー・タイムライン・評価指標を持たない
「社会的な場」は成立するのか?
という疑問を、思想ではなくコードで確かめてみた、というのが今回の話です。
現在、HUUHs(https://huuhs.com) というサービスを個人開発しています。
まだアルファ版で、アプリは未公開、利用規約とプライバシーポリシーも仮の状態です。
それでも、この設計は「技術として面白い実験」だと思っているので、
現時点の考えと実装をまとめておきます。
SNSを技術的に分解すると何になるか
まず、SNSを感覚ではなく構造として見てみます。
多くのSNSは、内部的にはほぼ共通しています。
- ユーザー = ノード
- フォロー = 有向エッジ
- フィード = グラフ探索結果
つまりかなり極端に抽象化すると、
SNSとは「人間関係グラフを前提にした情報配信システム」
と言えるのではないかと考えています。
フォロワーというグラフを捨てたら、SNSは成立するのか?
もし、
- ノード(人)はいる
- でもエッジ(フォロー)がない
- 情報の伝播もできない
そんな状態でも、「社会的な場」は成立するのでしょうか。
技術メタファで言うと、
- ❌ フォロワー → 隣接リストなし
- ❌ タイムライン → ソート済みキューなし
- ❌ バズ → グラフ伝播なし
残るのは、
単発のデータが、どこかに存在している状態
これを成立させるために作っているのが HUUHs です。
HUUHsの基本構造はとてもシンプル
思想が強く見えるかもしれませんが、実装自体はかなり素朴です。
メッセージは完全に独立したエンティティ
- 投稿同士は関係を持たない
- 投稿者同士も関係を持たない
- 作者を後から辿ることもできない
Message {
id
content
state
sent_at
reflow_at
}
ユーザーグラフも、フォロー情報も存在しません。
再送できないという制約(Reflow制約)
HUUHsでは、一度放ったメッセージはすぐに再送できません。
DRAFT → DRIFTING → BEACHED → PICKED / EXPIRED
- DRIFTING中は再送不可
- 時間経過、もしくは漂着後のみ解放
技術的には単なる状態制御ですが、思想的には重要な制約です。
- 言葉を軽くしすぎない
- スパムを構造的に防ぐ
- 投稿に待ち時間を持たせる
便利さを削ることで、行為の意味を残す設計です。
社会性は人間関係ではなく空間で担保する
フォロワーもタイムラインもないと、必ずこう聞かれます。
それって、ただの独り言では?
社会性はどこにあるの?
HUUHsでは、この問いに空間で答える設計を取りました。
メッセージは地図上にプロットされる
HUUHsのメッセージは、概念的に漂うだけではありません。
- 投稿後、世界のどこかの座標に割り当てられ
- 地図上の一点として存在します
人口分布や陸地判定などを使い、
人が実際に歩き得る場所に配置されます。
漂着(BEACHED)という状態
メッセージは、送信してもすぐには拾えません。
- DRIFTING: 漂っている状態
- BEACHED: どこかに漂着した状態
重要なのはこの BEACHED です。
「拾う」は物理的な行為として設計している
漂着したメッセージは、
- 地図上に存在し
- その場所に近づいた人だけが
- 実際に拾える
この体験はモバイルアプリのみで成立します。
Webでは拾えません。
読むという行為に、移動コストを課している
技術メタファで見る、この社会性
一般的なSNSでは、
- 社会性 = 人間関係グラフ
- 可視性 = エッジの数
- 影響力 = 中心性
HUUHsでは、これを完全に捨てています。
代わりに、
- 社会性 = 空間の共有
- 可視性 = 距離
- 出会い = 偶然の交差
フォロワーグラフの代わりに、ユークリッド空間を使っている
ただし、この設計は流行らない
正直に書きます。
この設計は、たぶん流行りを作れません。
拾うまで、内容は分からない
- 漂着していることは分かる
- でも中身は拾うまで見えない
タイトルもサムネもない投稿を、
わざわざ拾いに行くようなUXです。
意図した場所に、意図した言葉は置けない
投稿者は、
- 内容は選べるが
- 配置される場所は選べない
技術的には可能ですが、思想的にやっていません。
なぜ、そこまで不自由にするのか
理由は一つです。
意味を操作できる余地を、極力減らしたかった
- 狙って刺す
- バズらせる
- 文脈を支配する
そうした行為を、構造の段階で難しくしています。
技術的には確率的サンプリングに近い
このモデルは、
- Push配信でもなく
- Pull探索でもなく
確率的にサンプルされる出会いに近いです。
それでも、この実験をやる理由
言葉が、消費されにくくなるから
- 流れない
- 比較されない
- 数値で評価されない
拾った瞬間に初めて、
その言葉と一対一で向き合う。
付記:この実験のランニングコスト
HUUHsは、アルファ版の現段階では月数百円程度で運用できています。
- S3 + CloudFront
- API Gateway + Lambda
- DynamoDB
- Route53
多くは無料枠内で、固定費は最小限です。
流行らない可能性を受け入れた実験だからこそ、
コストも軽く保っています。
まとめ:これはプロダクトというより観測装置
HUUHsは、
- 成長曲線を描くSNSというより
- 制約下での人の振る舞いを観測する装置
に近い存在です。
答えは、実装して動かしてみないと分かりません。
だからまず、アルファ版として世に出します。
アプリの公開を楽しみに待っていてくれると嬉しいです。
🔗 HUUHs(α)
https://huuhs.com
※ アルファ版 / 仕様・規約は今後変更されます
