KiSAKU
技術系約4分で読めます

印を付けただけでは、探せるようにならなかった

公開

記事一覧のカードには、前から「読了済み」の印を付けていました。

付けた当時は57本でした。いまは110本を超えています。印は役に立たなくなっていました。

この記事で扱うこと

読了の印だけでは足りず、未読だけを出す絞り込みを足した話です。URLに入れなかった理由、読んだ人にだけボタンを出した理由、そして0件の見せ方を書きます。

見分けることと、探すことは違う

印が付いていれば、目の前のカードが既読かどうかは分かります。見分けることはできます。

けれど「まだ読んでいないものを見たい」ときにやることは、100枚のカードを上から順に見て、印の付いていないものを拾う作業になります。これは探す作業で、印はそれを助けていません。

それは一覧の仕事だった

並んでいるものから条件に合うものを取り出すのは、一覧の側がやることです。

印だけ出して残りを目でやらせるのは、判定の材料は渡したが、判定はそちらでやってくれと言っているのと同じでした。

URLには入れなかった

この一覧には、すでにカテゴリとタグの絞り込みがあります。どちらも /blog?category=tech のようにURLに入ります。

未読の絞り込みは、同じ形にしませんでした。

絞り込み 誰にとっても同じか URLに入れるか
カテゴリ・タグ 同じ。誰が開いても同じ記事が出る 入れる
未読 人によって違う 入れない

URLに入れるということは、その状態を他の人に渡せるということです。カテゴリなら渡せます。「技術系の記事はここ」と共有できます。

未読は渡せません。渡された側にとっては、自分と関係のない条件で記事が消えている一覧になります。共有したつもりの人も、渡された人も、何が起きたか分かりません。

読んだことがある人にだけ出す

ボタンは、1本でも読んだ記録がある人にだけ出しています。

初めて来た人にとっては、全部が未読です。押しても何も変わりません。

効かないものが置いてあると、その場所ごと見なくなる

押して何も起きない経験を一度すると、そのボタンは「効かないもの」として記憶されます。

後日ちゃんと効く状態になっても、もう押されません。意味を持つまで出さないほうが、意味を持ったときに使われます。

0件を、失敗のように見せない

未読だけにして0件になる状態は、全部読み終えたという意味です。良い状態です。

ところが検索の0件と同じ文面を出すと、何かを間違えたように見えます。そこで分けました。

状況 出す文面
検索で0件 「〜に当てはまる記事はありませんでした」+用語集への案内
未読が0件 「記事はすべて読み終えています」+絞り込みを解除するボタン

解除のボタンを添えているのは、行き止まりにしないためです。0件の画面で、絞り込みを外す手段がその場に無いと、戻り方を探すことになります。

戻ってきたときに、数が合わない

実装して最初に気になったのが、ここでした。

一覧から記事を開いて読み、ブラウザの「戻る」で一覧に帰ってくる。このときページは作り直されません。離れたときの画面がそのまま出てきます。

いま読んだ記事が、未読のまま残る

読了の記録は更新されているのに、一覧は古いままです。「未読だけ」と書いてあるのに、たったいま読んだ記事が並びます。

戻ってきたときに発生する合図(pageshow)で読み直すようにしました。結果として、戻った瞬間にいま読んだ記事が一覧から消えます。目の前で消えるのは少し驚きますが、「未読だけ」と書いてある以上、消えるほうが正しいと判断しました。

読了の記録は、こちらには届いていない

念のため書いておくと、どの記事を読んだかという記録はその人のブラウザの中にだけあります。こちらのサーバーには送っていませんし、見ることもできません。

だからこの絞り込みは、サーバー側では掛けられません。ブラウザ側でやっているのはそのためです。

今回の学び

まず、材料を出すことと、仕事をすることは違うということ。印は判定の材料でしたが、判定そのものは読む人に残っていました。数が増えると、その差がそのまま手間になりました。

次に、渡せる条件と渡せない条件があること。URLに入れるかどうかは、実装の都合ではなく「他の人に渡して意味があるか」で決まりました。

そして、0件には種類があること。見つからなかった0件と、やり終えた0件は別のものです。同じ文面で済ませると、良い知らせが悪い知らせに見えます。

この記事を共有する

Xでポストはてブ
← ブログ一覧へ戻る