ハコヅミを作る #70:メンバーをフォローする(いいねは1件に、フォローは人に)

#69 で、いいねと、いいねの多い順を作りました。ステップ7(コミュニティ機能)で残っていたのは、フォローだけです。

その夜のうちに相談して、朝までに本番に出しました。

  • テスタ募集の投稿が、9回しか見られなかった
  • いいねは1件に、フォローは人に
  • フォローした人の新しい共有を、どう見せるか
  • 「新しい」は、どの日付で決めるか
  • フォローされている数は、本人にだけ
  • 手元で通った型チェックが、PR で落ちる
  • いいねとフォローが、2日でそろった

テスタ募集の投稿が、9回しか見られなかった

本題の前に、1つ。

#64 で、X にテスタ募集の投稿を出しました。10月13日です。翌日の夜にも、文を変えて、もう1回出しました。

数字を見比べたら、ずいぶん違いました。

1回目(10月13日) 2回目(10月14日の夜)
表示された回数 84 9
画像 同じ 同じ
リンク 本文に入れた 本文に入れた
ハッシュタグ #キャンプ #キャンプ道具 #個人開発 #キャンプ
出だし キャンプの忘れ物をなくすチェックリスト 個人開発の…ベータ版を始めて1週間。テスタは、まだ0人です

どちらも、いいねは付いていません。画像もリンクも同じです。違うのは、2つ目のタグと、出だしと、2回目だったことです。

Claude Code に聞いてみました。返ってきたのは、こういう見立てでした。

  • 前の日と同じ画像・同じリンクの投稿は、くり返しと見られて、広げてもらいにくいと言われている
  • #キャンプ道具 を追っているのは、道具が好きな人。ハコヅミを使ってほしい人たちそのもの。#個人開発 は、作る側の人が中心で、届く相手がずれている
  • 「ベータ版を始めて1週間」「テスタは0人」は、作る側の事情。キャンプに行く人の、困りごとではない

X の中の仕組みは公開されていないので、どれが効いたかは、分かりません。ただ、3つ目は、自分で読み返しても、そう思いました。正直に書いたつもりの出だしが、読む人の手を止める理由になっていませんでした。

次は、出だしを困りごとにして、画像を変えて、何日か空けてから出します。


いいねは1件に、フォローは人に

本題です。フォローを作るにあたって、わたしから出した考えは、これでした。

キャンプ、ギア、料理、それぞれ単品に付けられる「いいね」とは違って、「フォロー」は、そのメンバーに対して付けるものと考えている

いいねは、「このケトル、いいな」。フォローは、「この人の持ち物、いつも参考になる」。印を付ける相手が、違います。

ボタンは、メンバーの共有のページの、名前の下に置きました。

やまのぼりさんの共有のページ。名前の下に、緑の「フォローする」のボタン

押す前(架空のデータ)

押したあと。ボタンが淡い緑の「フォロー中」に変わる

押したあと。もう一度押すと、外れる

自分のページには、出しません。フォローできるのは、1人 500 人までにしました。1人が何千人もフォローして回るのを止める、歯止めです。


フォローした人の新しい共有を、どう見せるか

わたしが相談したのは、ここでした。

あとはフォローした相手の情報をどのように見せるべきか?の提案が欲しい

Claude Code が最初に置いたのは、目的でした。フォローは、「また開く理由」になるものです。それなら、相手が新しく共有したものが、自分から見に行かなくても、目に入る形がよい。

トップページに、新しいものを3件

ハコヅミを開くと、まずトップページが出ます。お知らせの下に、「フォロー中の新着」を置きました。

トップページのお知らせの下に「フォロー中の新着」。ギアのチタンマグ 450、キャンプの湖畔キャンプ場、料理のダッチオーブンの丸鶏の3件に「新着」の印。右下に「すべて見る」

トップページ

フォローしている人がいないとき、新しいものがないときは、出しません。何もない枠を見せても、しかたがないからです。

「フォロー中」のページ

「すべて見る」で開くのが、「フォロー中」のページです。タブは「新着」と「メンバー」の2つ。

「フォロー中」のページの「新着」のタブ。ギア・キャンプ・料理がまざって、新しい順に並ぶ。それぞれに種類・日付・持ち主の名前。7日以内のものに「新着」の印

新着は、ギア・キャンプ・料理をまぜて並べる

ギア・キャンプ・料理を、種類で分けずに、まぜて並べました。「この人、新しいチェアを買ったんだ」「あ、このキャンプ場に行ったんだ」と、その人の動きとして、続けて見られるように。

「みんなの共有」には、札だけ

「みんなの共有」のタブを1つ増やす案も、考えました。今のタブは、「メンバー」「ギア」「キャンプ」「料理」の4つです。5つ目は、幅 320px のスマホに入りません。

代わりに、「メンバー」のタブで、フォローしている人に札を付けました。

みんなの共有の「メンバー」のタブ。やまのぼり、そとごはんの名前の横に「フォロー中」の札。ソロキャンパーには札がない

フォローしている人に「フォロー中」の札

並び順は、変えていません。フォローしている人を上に寄せると、ほかの人が見つけにくくなります。


「新しい」は、どの日付で決めるか

作り方を決めるうえで、いちばん迷ったところです。

ハコヅミの共有は、種類ごとに、まとめてオンにします。ギアの共有をオンにした瞬間に、それまでに登録した何十個のギアが、一度に共有されます。1件ごとに「共有した日」は、持っていません。

「新しく共有したもの」を並べるとき、日付の候補は2つでした。

案 並べる日付 起きること
A その1件を登録した日 新しく買ったギア、行ったキャンプが、上に来る
B 登録した日と、共有をオンにした日の、新しいほう オンにした直後に、その人の持ち物が全部「新着」になる

A にしました。

B だと、だれかが共有をオンにした日、フォローしている人の新着が、その人の持ち物で埋まります。何年も前に買ったランタンが、「新着」として並びます。

A なら、「新しく登録したもの」が、素直に上に来ます。新しい列も、要りません。

もう1つ、あとから気づいたことがあります。A では、フォローした時点より前に登録されたものも、新着に並びます。フォローした直後に、その人の共有が、まとめて見えます。これは、そのままにしました。フォローした直後こそ、その人のものを見たいはずだからです。


フォローされている数は、本人にだけ

いいねと同じく、だれがフォローしているかは、だれにも見せません。フォローされた本人にもです。

迷ったのは、数のほうでした。

案 だれに見せるか
出さない だれにも
本人にだけ アカウントの画面で、自分の数だけ
だれにでも 共有のページで、その人の数が見える

「本人にだけ」にしました。

だれにでも見せると、数の比べ合いになります。数の多い人が偉い、という空気は、持ち物の覚え書きのアプリには、要りません。でも、本人には、励みになるはずです。自分の共有を見てくれている人がいる、と分かれば、写真を撮り直してみようか、という気にもなります。

アカウントの画面の「共有」の下のほう。「フォローしているメンバー 2 人」「フォローされている数 2」と、「みんなの共有を見る」「フォロー中」「いいねしたもの」のリンク

アカウントの画面(自分にだけ見える)

「フォロワー」ではなく、「フォローされている数」と書きました。カタカナの言葉を、なるべく使わないようにしています。


手元で通った型チェックが、PR で落ちる

PR を出したら、CI の型チェックで落ちました。E2E は、3つとも通っています。

Argument of type 'SQLiteColumn<{ name: "user_id"; tableName: "camps"; ... }>'
is not assignable to parameter of type 'SQLiteColumn<{ name: "user_id"; tableName: "gears"; ... }>'.

フォローしている人の新着を読むところで、ギア・キャンプ・料理の持ち主の列を、1つの小さな関数に渡していました。その関数の引数の型が、ギアの列に決まっていました。キャンプと料理の列は、合いません。直し方は、条件を、問い合わせごとに書くことでした。3行の重なりを、1つにまとめたくなったのが、もとです。

それより気になったのは、手元では通っていたはず、という点です。

調べたら、手元の型チェックの結果を、「Error」という文字で絞って見ていました。エラーが出たら、その行が表示されるはずでした。何も出なかったので、通ったと思い込んでいました。

手元の型チェックは、エラーを「ERROR」と、大文字で出していました。「Error」では、引っかかりません。

結果を絞って見ると、見たいものだけが見えます。絞り方がまちがっていると、見たいものも、見えなくなります。最後の行の「エラー 0 件」を見れば、それで済む話でした。次からは、そうします。


いいねとフォローが、2日でそろった

10月15日の朝に、計画の順番を入れ替えて、コミュニティ機能をステップ7 にしました。

日 できたもの
10月15日 いいね、いいねの多い順
10月16日 フォロー

これで、ステップ7 で作ると決めていた、いいねとフォローは、そろいました。コメント・チャット・DM は、作らないと決めています。

ただ、ステップ8 の課金に進む前に、小さな直しを、いくつか挟みます。それが済んでから、ステップ7 を閉じて、課金に取りかかります。


おわりに

  • 正直な出だしでも、読む人の困りごとでなければ、手は止まらない
  • 届けたい人がいるタグを選ぶ。作る側のタグは、作る側に届く
  • いいねは1件に、フォローは人に。印を付ける相手が違う
  • 「また開く理由」にするなら、自分から見に行かなくても目に入る形にする
  • 何もない枠は、出さない
  • 「新しい」は、登録した日で決める。共有をオンにした日で決めると、昔のものが「新着」で埋まる
  • 数は、本人には励みに、ほかの人には比べ合いになる。本人にだけ見せる
  • 結果を絞って見るときは、絞り方がまちがっていないかを疑う。最後の行の件数を見る

テスタを募集しています。キャンプに行く方、よければ、触ってみてください。

← トップページに戻る