ユユユユユ

webエンジニアです

hanami でブックマークマネージャを作った

1週間ばかり、 hanami による開発に取り組んでいた。動機付けを描写したのは以下のエントリ。

jnsato.hateblo.jp

jnsato.hateblo.jp

そして、作ってみたものがこちら。 heroku の無料 dyno にデプロイしている。

hanami-news.herokuapp.com

ブックマーク管理のアプリである。見ての通り、 Hacker News の模倣ではあるが、Hacker News がフィード形式とディスカッションを採用しているのに対して、こちらは淡々とブックマークを残すだけの簡潔なものにした。詳しくは以下で触れる。

「自分の使いたいもの」

ブックマーク管理、あるいはリーディングリストの管理について、あれこれのツールを試しつつ、どれもしっくりこなかった立場から、思うところは多い。それでこのアプリは、自分のための生産性ツールとして、自分の欲しいものを作る、というのを念頭に置いて作った。

「なにを目指したか」について語る前に、僕のブックマーク管理の遍歴について簡単に書くことにする。

ブックマークバー

まずブラウザのブックマークバー。ここには本当によく訪れるページしか保存しない。Google Chromeをもっぱら使っているが、ブックマークバーには毎日必ず開くページだけを保存して、ファビコンを羅列する方式で整理している。定期的に整理と入れ替えは行うが、多いときであってもたかだか20件ほどになる。

f:id:jnsato:20200613124301p:plain
筆者の Google Chrome のブックマークバー(抜粋)

フォルダを作って入れ子にしていくこともできるが、そうなってくるとなんらかの「整理術」が要求されてくる。雑多な情報を分類するのはそれだけで苦痛であるし、仮に分類できたとして、ブックマークバーには柔軟な操作性も検索性もそれほど期待できない。例えば「いつ保存したか」のようなメタデータを参照できないのも不便である。

要するに、ブックマークバーは日次で巡回するページを保存するのには向いているが、「あとで読む」リストや「お気に入り」のリストのように、思い立った時にザッと眺め返すものを管理するのには向いていない、というのが僕の持論である。

Pocket など専用ツール

Pocket Instapaper Raindrop.io といったリーディングリスト管理ツールももちろん試した。いや、試したというには長すぎる期間にわたって利用していたものもある。しかし手放しで満足することはできなかった。

これらのツールは「保存すること」のハードルを劇的に下げた代わりに、「読み返す」ことのハードルを高く上げてしまった。つまり、あまりに簡単にウェブページを保存できるものだから、不要なページまで次々に保存していってしまう。そしてその帰結として、やがて消化ペースが追いつかなくなっていた。

読み返さないページがどんどん蓄積されていくものだから、フィードは常に渋滞していた。結果、アプリを開くたびに、ひっきりなしに「整理」を要求されているようで疲れてしまっていた。

「読み終わったページをアーカイブするか、削除するか」という意思決定を全てのアイテムに対して下すのもエネルギーを要する。「削除」というと痛ましい気がして「アーカイブ」に移動してしまいがちなのだが、これは要するにフローリングに散らかった洗濯物やおもちゃをそのまま物置に突っ込んだだけで掃除をした気分になるようなもので、整理ができたとはとても言えない。

情報量が多いのも地味ながら苦痛になっていた。個別の記事の meta description とか og:image が表示されるのは、見た目には可愛らしいのであるが、かえって陳腐なキュレーションサイトの趣が出てしまう側面もある。これもあまり好きでなかった。

ノートアプリ

Evernote に日々保存する多種多様なノートとともに、ブックマークもここに保存する、というやり方も実践している。結局これが一番便利と思うことは多いが、ここでも整理には苦労する。

記事ごとにノートを作成していくだけでは、ノート間の繋がりを把握したり、関連するブックマークを集めて管理することができなくなってしまうので、なんらかの方法でグループ化する必要がある。テーマごとにタグづけして管理するのが素直なやり方であるが、タグを決める判断が重荷になることは少なくない。「プログラミング」とか「転職」とかであれば楽な方であるが、そうでないケースが時折あらわれる。例えば先日、朝日新聞のこの記事を保存しようとした。

www.asahi.com

スター・トレックに出演した俳優が、第二次世界大戦中の日系人差別を、COVID-19勃発以降の米国の混乱に重ね合わせて語り、民主主義を擁護する…。これにどんなタグをつけよう? 「戦争」? 「政治」? 「人種問題」? 「COVID-19」? どれも間違っていないが、内容の具体性に比べて抽象的すぎるきらいがある。差し当たり僕は「スター・トレック」と「朝日新聞」とだけタグ付けしておいたのであるが、不満足は残る。

Evernote への保存ということで付け加えると、ウェブクリップは僕はあまり使わない。なぜならウェブクリップも Pocket と同じように、「整理できない問題」と「読み返さない問題」を招くだけだから。「保存したことすら忘れてしまう」ことさえある。忘れるということはそもそも保存するに値しなかったとも言えるわけだ。

つまりなにを目指したのか?

要するに理想としては、「強く印象に残った記事のみを保存する」というのがよい。そのとき、保存されるアイテムは、そう多すぎてはいけない。あまり多くを保存しすぎると、個別の印象が拡散して忘れ去られてしまう。

そして「保存しすぎないこと」をデザインするにあたって、これはもう「自動化をしない」ということに尽きる、と考えた。感銘を受けた記事は、URLとタイトルをコピペして手動で保存するようにする。ここには決して小さくない労苦が発生するから、その労苦を甘受してまで保存するに値するものしか保存しない、ということになるはず。

そうして作ったのがこのアプリということになる。再掲。

hanami-news.herokuapp.com

機能としては実に簡潔なものである。記事タイトルとドメイン名を一覧表示するだけで、それ以上のものはなにもない。編集/削除さえ実装していない。これもまた、「後から編集や削除をすることはできない」という検閲の意識を常に働かせることで、「保存に値する」アイテムだけを保存させる無言の圧力を与えているわけである。逆に言えば、その検閲を通り抜けたアイテムは、保存時の関心領域や問題意識を強く反映したラインナップになるはず、と期待している。

フォントと配色は、好みに合わせた。とは言え、桜色を基調としているのは明らかに hanami という命名に引きずられているし、そしてその桜色に引きずられてポップな字体を選択させられたのは否めない。しかしまあ、重苦しさとは無縁のデザインであるとは言えると思うし、それは気に入っている。