ハコヅミを作る #69:「いいね」と、いいねの多い順(朝に計画を直して、夜に本番へ)

#68 の最後に、こう書きました。

残っているのは、よく見られている共有を並べる、ランキングだけになりました。ランキングは、見る人がいて、はじめて意味があります。テスタが来てから、考えます。

その日のうちに、作りました。

朝、計画を見直したら、「テスタが来てから」の前提が、変わったからです。

  • 朝、Notion の計画を見直す
  • パブリック公開を、やめる
  • アクセスランキングを、やめる
  • コミュニティ機能を、課金より先にする
  • いいねは、数だけを見せる
  • いいねの多い順は、タブで分ける
  • 0 のものは、出さない
  • 同じ数には、同じ順位
  • お知らせの見出しで、テストが落ちる
  • 計画を直すと、同じ日に動ける

朝、Notion の計画を見直す

ハコヅミの計画は、Notion に書いています。段階ごとに「ステップ」と名前を付けて、やること・やらないこと・決めた理由を並べています。

共有(ステップ6)がひととおりできたので、その先を読み直しました。読み直すと、書いた時点では正しかったのに、今は合わなくなっているところが、3つありました。


パブリック公開を、やめる

共有を考え始めたころ、公開の範囲は3段にするつもりでした。

段 見られる人 今
非公開 自分だけ 作った
メンバーの中で共有 ログインしている人 作った
パブリック公開 だれでも(検索にも載る) まだ

3段目を、やめることにしました。

もとは、パブリック公開されたギアに、アフィリエイトのリンクを付けて、収益にすることも考えていました。でも、考えるほど、手入れの仕方が分からなくなりました。利用者が書く製品名は、表記がまちまちです。商品は販売が終わり、リンクが切れます。1人で、全部を手で直し続けるのは、むりです。

Claude Code に相談すると、ほかにも理由が出てきました。

  • 規約とポリシーに「見えるのは、ログインしている人だけ」と書いてある。変えると、約束が変わる
  • キャンプの写真には、家族や車のナンバーが写ることがある。だれでも見られると、検索に載り、写し取られ、消しても残る
  • 会員でない人は、通報も、止めることもできない相手になる

アフィリエイトは、形を変えて残しました。商品ごとのリンクは持たず、自分の「欲しい」のギアの名前から、通販サイトの検索結果へのリンクを、その場で組み立てる案です。データベースに何も持たないので、手入れが要りません。これは、まだ先の話です。


アクセスランキングを、やめる

共有の計画には、「アクセスランキング(よく見られている共有が分かる)」がありました。そして、その次の段階には、「いいね」がありました。

読み直して、気づきました。この2つ、目的が同じです。

「よく見られている」と「よいと思われている」は、近いようで、違います。自分で何度も開けば、見られた回数は増えます。それに、見られた回数を数えるには、新しい記録の仕組みが要り、プライバシーポリシーにも書き足すことになります。

いいねなら、本人が押した、はっきりした印です。アクセスランキングはやめて、いいねの多い順に一本化しました。


コミュニティ機能を、課金より先にする

計画では、共有の次が課金、その次がコミュニティ機能(いいね・フォロー)でした。順番を、入れ替えました。

課金を先にしたのは、10月6日です。「見張る仕事が増える前に、続けるための足しを入れておく」という理由でした。でも、これは、使う人がいて、はじめて意味があります。テスタは、まだ集まっていません。キャンプの季節も、終わりかけです。

正直に言うと、課金は、収益よりも、Stripe で課金の仕組みを作る経験を積みたい、というのが、今の大きな理由です。

Claude Code の返事で、いちばん役に立ったのは、ここでした。

「課金を作ること」と、「課金を始めること」は、別にできる。

Stripe には、本物のお金が動かないテストの仕組みがあります。作るのは、オフシーズンのうちに、テストで全部。始めるのは、料金や表記を決めてから、季節の前に。経験を積むのが目的なら、作るほうだけで、目的は果たせます。

もう1つ、Claude Code は、Notion に前から書いてあった心配を引いて、「オフシーズンに作るものの範囲を、今のうちに決めておく」ことを勧めました。その心配は、「『もう1つだけ』をくり返すと、いつまでも人に見せられない」というものです。これには、わたしが返しました。

すでにテスタ募集として公開自体はしているので、もう1つだけを繰り返すといつまでたっても人に見せられない…という点はもうクリアしているのでは?

ベータ版は、もう始めています。紹介のページも、だれでも見られます。この心配は、Notion を書いた時点のもので、今は、もう当たりません。範囲を決めておく理由は、「季節の前に、課金を始められるようにするため」に書き換えました。

計画に書いた心配は、書いた日の心配です。読み直すと、もう済んでいるものもあります。


いいねは、数だけを見せる

計画が決まったので、いいねを作りました。

共有されているギア・キャンプ・料理の詳細の画面に、ボタンを1つ置きます。

ほかの人のギアの詳細の画面の下のほう。おすすめ度とおすすめ理由のカードの下に、ハートの絵と「いいね 1」の白いボタン

押す前(架空のデータ)

押したあと。ボタンが淡い緑になり、ハートが塗りつぶされて「いいね 2」

押したあと。もう一度押すと、取り消せる

決めたことは、3つです。

  • 前向きな印だけ。低い評価や「よくない」は作らない。趣味の持ち物や、キャンプの思い出に、点を付け合う場にしないため
  • 出すのは、数だけ。だれが付けたかは、だれにも見せない。付けられた本人にも、管理の画面にも出さない
  • 自分の共有には、付けられない。自分のものには、付いた数だけが見える
自分のギアの詳細の画面。ボタンはなく、ハートの線画と「2」だけ

自分の共有では、数だけ

だれが付けたかを見せると、人のつながりが見えてしまいます。「この人は、あの人の共有に、いつも付けている」。それを知りたい人もいるでしょうが、知られたくない人もいます。見せるかは、声を聞いてから決めます。

自分の側の使い道

いいねを「相手に伝える」だけのものにすると、押す理由が薄くなります。そこで、自分が付けたものを見返せる一覧も作りました。

「いいねしたもの」の画面。料理のキャンプカレー、キャンプの湖畔キャンプ場、ギアのケトル 0.9L が、種類と持ち主の名前つきで並ぶ

いいねしたもの

気になったギアや、行ってみたいキャンプ場の、覚え書きになります。

書き出しには、何を入れるか

ハコヅミは、自分のデータを、いつでも書き出せます。いいねも、自分が付けたものなので、入れます。

迷ったのは、何に付けたかを入れるかです。何に付けたかは、相手のギアや料理の id です。前に作った通報では、「相手のものは、本人のデータではないので出さない」と決めていました。それに合わせると、書き出しには「種類と、付けた日時」しか入りません。見返す役には、立ちません。

Claude Code は、この迷いを、そのままわたしに返しました。わたしの答えは、こうでした。

何に付けたか?の情報はエクスポートに含めなくてOK

決まりは、1つに合わせておくほうが、あとで迷いません。


いいねの多い順は、タブで分ける

いいねができたので、次は、いいねの多い順です。

今の「みんなの共有」は、共有している人の一覧だけです。ギアや料理を、人をまたいで並べる場所が、まだありません。どこに置くか、Claude Code が3つの案を出しました。

案 形
A 「みんなの共有」の上に、タブを足して切り替える
B 人の一覧の上に、種類ごとの上位5件を並べる
C ランキングのページを、別に作る

A にしました。ハコヅミには、ギアの一覧や、1人の共有のページに、もう同じ形のタブがあります。見た目も、操作も、そろいます。スマホで、ページが長くなりません。

「みんなの共有」の画面。タブ「メンバー」「ギア」「キャンプ」「料理」のうち「ギア」を選んでいて、チタンマグ 450(12)、ツーバーナー スタンダード(9)、ウルトラライト ローチェア(9)、LED ランタン 300(3)、焚き火台 M(1)が、順位の番号つきで並ぶ。各行に、持ち主のアイコンと名前、おすすめ度の星

いいねの多い順(架空のデータ)

案では、タブの名前を「人」にしていました。わたしが、「メンバー」に変えました。

「人」とすべきか?「メンバー」の方がいいのでは?

ログインしている人だけが見られる場所なので、「メンバー」のほうが、合っています。ついでに、利用者が見る画面のほかの「ユーザー」も探してもらいました。残っていたのは、運営者だけが見る管理の画面だけでした。そこは、そのままにしています。


0 のものは、出さない

Claude Code の案は、いいねが 0 のものも出すでした。

出さないと、今はどのタブもほとんど空になる。出すと、新しい共有を見つける一覧も兼ねる。

わたしは、逆にしました。

ランキング表示の場合は、いいねが0のものは除外としたい(今はほとんど0だが、今後を考えて)

人が増えたとき、いいねの多い順の一覧の下に、0 のものが何百件と続くのは、ランキングとは呼べません。今の都合で、先の形を決めないほうを、選びました。

その代わり、空のときの案内は、ていねいにしました。

「キャンプ」のタブ。「まだ、いいねの付いたキャンプはありません。」と、「メンバーの共有を開いて、「いいね」を押すと、ここに並びます。」

いいねの付いたものが、まだないとき


同じ数には、同じ順位

画面の絵を見て、わたしが足したものがあります。順位の番号です。

番号のアイコンは、キャンプ情報の料理の手順のアイコンと同じがいい いいねが同じ場合は、同じ番号とする

上の絵の、左の丸がそれです。いいねが 9 の2つは、どちらも 2 位で、次は 4 位になります(1・2・2・4)。スポーツの順位と、同じ数え方です。

番号を足したら、幅 320px の画面で、持ち主の名前が「やまの…」と切れるようになりました。番号の丸が入った分、行が狭くなったからです。名前は切らずに出し、入らないときは、おすすめ度の星を、次の行に回すようにしました。

絵を見てから PR にする、と決めているのは、こういうものを、その場で見つけるためです。


お知らせの見出しで、テストが落ちる

いいねの PR も、いいねの多い順の PR も、一度ずつ、CI で落ちました。

1回目は、いいねと関係のない、ギアの一覧のテストでした。手元で 5 回流して 25 件とも通り、時々だけ落ちるものと判断して、流し直しました。

2回目は、関係がありました。落ちたのは、トップページの「みんなの共有」のリンクを確かめる、前からあるテストです。

strict mode violation: getByRole('link', { name: /みんなの共有/ }) resolved to 2 elements

「みんなの共有」という言葉を含むリンクが、2つ見つかった、というエラーです。もう1つは、今回足した、お知らせの見出しでした。

「みんなの共有」に、いいねの多い順を出すようにしました

トップページには、新しいお知らせの見出しが、リンクとして並びます。お知らせを1件足しただけで、トップページのリンクが増え、前からあるテストの探し方に、引っかかったのです。

テストは、リンクを、名前そのもので探すように直しました。

手元では、変えたところに関係するテストだけを流しています。全部は、PR の CI で流します。今回、このテストのファイルは、手元で流していませんでした。共有の画面のテストで、お知らせとは関係がない、と思っていたからです。

お知らせは、文を足すだけの、いちばん軽い変更のつもりでした。でも、画面に出る文は、画面の一部です。画面の一部を変えれば、その画面を見ているテストに、届きます。


計画を直すと、同じ日に動ける

今日やったことを、順に並べます。

  1. Notion の計画を見直す(パブリック公開・アクセスランキングをやめる、順番を入れ替える)
  2. いいねを作る
  3. いいねの多い順を作る
  4. 2つを、まとめて本番に出す

#68 で「テスタが来てから」と書いたのは、ランキングを、アクセスの数で作るつもりだったからです。アクセスの数なら、見る人がいないと、意味がありません。

いいねの数に変えると、話が変わりました。いいねの仕組みは、もう作ることに決めていました。いいねの多い順は、その数を並べるだけです。新しく持つものは、ありません。オフシーズンのうちに、ひととおり作っておく、という朝の決めごとにも、合います。

計画を直したら、その日のうちに、手が動きました。計画は、止まるために見直すのではなく、動くために見直すのだと思います。


おわりに

  • 計画に書いた心配は、書いた日の心配。読み直すと、もう済んでいるものもある
  • 目的が同じ2つの機能は、1つに寄せる。「よく見られている」より、「よいと思われている」のほうが、はっきりした印になる
  • 「作る」と「始める」は、分けられる。経験が目的なら、作るほうだけで足りる
  • いいねは、数だけを見せる。だれが付けたかは、人のつながりを見せてしまう
  • 決まりは、1つに合わせる。相手のものは、書き出しに入れない
  • 今の都合で、先の形を決めない。0 のものは、今は空でも出さない
  • 同じ数には、同じ順位
  • 画面の絵を見てから PR にすると、狭い画面のずれを、その場で見つけられる
  • お知らせの文も、画面の一部。足せば、その画面のテストに届く

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

← トップページに戻る