Current — 未読の罪悪感なく流れていくRSSリーダー
(terrygodier.com)- RSSリーダーが共通して前提としてきた 「未読項目を処理しなければならない」という義務感 を根本から拒否し、コンテンツが自然に届き、とどまり、消えていく「川(River)」のメタファーをインターフェース全体で実装した新しいRSSリーダー
- 各フィードソースに 半減期 を設定し、速報は3時間、エッセイは7日など、コンテンツの種類ごとに表示寿命が変わることで、多投稿ソースがフィードを独占する問題を構造的に解決
- 記事を「既読にする」のではなく、「手放す」 というジェスチャーでカードを飛ばす物理ベースのインタラクションを採用し、ハプティクスフィードバック・アニメーション・取り消しまで細かく設計
- 個人ブログをフィードURLではなく 「Voices(声)」 として分離し、人と媒体を別々に扱い、すべてのAIベースのトピック分析と推薦は オンデバイス でのみ実行
- iPhone・iPad・Macそれぞれのプラットフォームに合わせた専用UIを提供し、Command-Kパレット や高速トリアージモードのSiftなど、デスクトップ固有の体験まで含む
River — 中核インターフェース
- メイン画面はすべてのフィードが1つに統合された River 形式で、未読記事カウントは存在しない
- カウントをなくした理由はミニマルデザインではなく、「数えるという行為そのものが問題だ」 という哲学的判断
- 記事は到着後、一定時間が経つと徐々に薄れて消えていき、既読表示や分類なしに、水が橋の下を流れるように過ぎ去る
- 各記事には velocity(速度) の値があり、どれだけ速く古くなるかを決める
- 速報: 3時間で消える
- 一般記事: 18時間
- エッセイ: 3日
- エバーグリーンなチュートリアル: 最大1週間
- 古くなった項目は徐々に暗くなり、完全に消える。ユーザーが別途操作する必要はない
- 「情報には自然な寿命があり、インターフェースはそれを尊重すべきだ」という原則
Half-Life — ソースごとの半減期設定
- すべてのソースに 半減期(half-life) を指定し、記事がRiverにとどまる時間を制御
- BBC Worldのような速報フィード: 3時間
- Ars Technica: 18時間
- Aeon、The Marginalianのようなゆっくりしたソース: 1週間
- Google Reader以降、すべての時系列フィードが抱えてきた問題、つまり 多投稿ソースが他を埋もれさせる現象 を解決
- The Vergeが1日に20本投稿しても数時間で消え、Craig Modが月に1本投稿するエッセイは数日間残る
- オンボーディングではBreaking、News、Article、Essay、Evergreenの5段階の速度を提示し、ソースごとに1つ選ぶだけで、残りはRiverが処理する
Release — 「既読にする」ではなく「手放す」
- 多くのRSSリーダーが使う "mark as read" には、管理者が書類を処理するような言語的含意がある
- Currentはこれを Release(手放す) に置き換えた
- Riverでカードを 左に長くスワイプ するとカードが飛んでいき、残りのカードは水が空いた場所を埋めるように整列する
- 記事本文の末尾に到達すると下部からReleaseボタンが現れ、1回タップするだけでRiverに戻れ、その記事はすでに消えた状態になる
- 物理ベースのインタラクション詳細設計:
- ドラッグ時にカードが少し圧縮され、緊張感を形成
- 閾値に近づくほど ハプティクスエンジンの振動が徐々に速くなる
- 端に暖かい光が現れ、閾値を超えるとカードが飛んでいく
- 取り消しウィンドウ を提供: 手放した記事は数秒間メモリに残るため元に戻せる。確認ダイアログはない
ソースごとの細かなチューニング
- velocityに加えて、ソースごとに追加オプションを提供
- 全文取得(full article fetch): ティザー段落しか提供しないフィードの記事全文をWebから直接抽出
- Webコミックモード: 画像優先リーダーに切り替え、ズーム・パン・alt-text表示をサポート(XKCDなどに最適化)
- ミュート: 特定ソースを1週間非表示
- ピン留め: 特定ソースをRiver上部に固定
- これらのオプションには設定メニューの奥深くではなく、各ソースを1回スワイプ するだけでアクセスできる
The River Speaks — 動的ガイドカード
- Currentは利用習慣を観察し、非侵襲的なガイドカード を記事の間に挿入する
- 特定ソースが1日に18本投稿すると、"The Verge posted 18 items today" カードとともに 速度制限・24時間ミュート オプションを提示
- 同じソースを10件連続でスキップすると、"You've skipped 10 from TechCrunch. Quiet or remove?" と提案
- 特定ソースを継続して読むと ピン留め提案、複数ソースで同じトピックを継続して読むと 新しいCurrent作成提案
- これらのカードは アルゴリズム推薦ではなく、エンゲージメントを最大化したり注意を奪ったりすることを目的としていない
- 「習慣に気づき、静かに棚を並べ替える司書」にたとえられている
- すべての知的処理は オンデバイスのみで実行: 自然言語処理でトピックを識別し、Foundation Models(利用可能な場合)で関連記事を検証し、いかなるデータもサーバーへ送信されない
Voices — 人と媒体の区別
- 多くのRSSリーダーはソースをサイドバーの フィードURL一覧 としてしか表示しない
- Currentは、個人ブログのように 1人が書くフィード を別個の Voice(声) として分離する
- 「人を購読するのではなく、その声を追いかける」
- Voiceに指定されたフィードは Voicesタブ に集まり、時系列タイムラインを形成する
- 活発なVoiceはフルカラーで、静かなVoiceは グレースケール で表示され、注意を強要しない
- Voiceをタップすると、その人物の記事だけにフィルタリング
- iPad: サイドバーに名前とファビコンを表示
- iPhone/Mac: タイムライン上に スクロール可能な顔の列 を表示
- Currentは個人ブログを 自動検出(サブドメインパターン、投稿頻度、バイライン信号)してVoice指定をやわらかく提案するが、最終的な選択はユーザーに委ねられる
Currents — カスタムコレクション
- Riverはすべてが統合された基本ビューで、範囲を絞りたいときは Currents を使う
- 画面上部の水平バーにあり、1回のスワイプで切り替え可能
- 標準で用意される3つ:
- River: 全フィード
- Voices: フォロー中の人々
- Read Later: 保存した記事(オフラインキャッシュ、暖かなアンバー色 で「自分のもの」と表示)
- 「フォルダー」は整理の義務を、「カテゴリー」はスプレッドシートを連想させるため、大きな川の中の小さな流れ を意味する "Currents" と名付けた
- 動的ガイドカードが読書パターンを検出し、新しいCurrentの作成を提案 することもある
Calm by Design — デザインシステム
- 「すべてのインターフェースは、ユーザーがどう感じるべきかについての主張である」という原則がデザインシステムの出発点
- デザインシステム内部のタグライン: "Calm but not boring. Beautiful but not loud. Typography as hero. Color as punctuation."
- 本文は iOSシステムセリフ体 の16〜18ptで、Dynamic Typeに合わせて拡張
- サンセリフのアプリが大半の環境での意図的な選択: セリフ体は500年にわたって長文読書の標準だった
- リーダービューでは18ptのセリフ体に拡大し、空画面や内省的な瞬間には別の "poetic" タイポグラフィ階層を適用
- 9種類のカラーパレット を用意し、それぞれライト・ダークの派生を提供:
- Bright: iOSブルー基調
- Paper: 暖かなアイボリーとアンバー、ろうそくの灯りで読むような感覚
- Ocean: クールなティールとシーフォーム
- Dusk: ソフトなバイオレットとラベンダー
- Ember: 暖かなラストとローズ
- Midnight: 真の OLEDブラック
- Slate: コードエディタのパレット
- Terminal: CRTを覚えている人向けの 黒地に燐光グリーン
- Solarized: Ethan Schoonoverの精密なパレット
- 色は装飾ではなく セマンティック な用途: 暖かなアンバーは常に「自分のもの」(保存記事、個人コレクション)、新鮮なティールは「新しいもの」、セージグリーンは成功、赤はエラー
Motion & Touch — アニメーションとハプティクス
- アニメーションは装飾ではなく 語彙(vocabulary) である
- 5段階のタイミング階層:
- Instant (0.15秒): マイクロフィードバック
- Quick (0.22秒): 主要インタラクション
- Standard (0.28秒): カード移動
- Gentle (0.35秒): パネル
- Smooth (0.45秒): アンビエントモーション
- 一貫したタイミングが 無意識の信頼 を形作る
- 背景には CurrentLines: 固有の振幅と位相を持つ5本の正弦波がゆっくり流れ、目に見えるというより 感じられる レベルでアプリに生命感を与える
- ハプティクスによるコミュニケーション詳細:
- Releaseジェスチャー: 緊張度50%でタップ、閾値接近時には 心拍のように加速するリズムパルス、トリガー時には強いタップ+やわらかなタップの 二段階確認
- Riverのスクロール安定時には微細な「吐息」、Voiceの記事を開くときにはやわらかなパルス
- Reduce Motionが有効 の場合、すべてのモーションを完全停止: アンビエントライン削除、遷移は即時処理、例外なし
- アクセシビリティは機能トグルではなく、システム全体をより良くする設計上の制約
Four Swipes — ジェスチャーカスタマイズ
- Riverのすべてのカードに 4方向ジェスチャースロット を提供: 左短押し、左長押し、右短押し、右長押し
- デフォルト: 左短=既読にする、左長=Release、右短=保存、右長=共有
- すべてのスロットを任意の動作に 再マッピング可能: 既読/未読にする、Release、保存、ソースのミュート、ソース編集、共有、またはなし
- 設定画面には ライブプレビューカード があり、適用前にスワイプを試せる
- 短いスワイプと長いスワイプには異なる閾値と 区別できるハプティクスフィードバック を適用
The Small Things — 細かな機能
- 左端からのスワイプ: 検索、右端からのスワイプ: 設定
- 最初の数回は端に近づくとヒントが表示され、3回後に自動で消える
- 読書進捗をパーセントではなく 自然言語で表示: "Just started"、"Halfway through" などをRiverカードに表示
- 全文検索(Full-text search): スクロールしたすべての記事、読んだすべての記事をインデックス化し、入力と同時に結果を表示。フィードが 検索可能な記憶 になる
- Read Later はキューではなく ライブラリ: 保存記事はオフラインキャッシュされ、有効期限なく、カウントもなく、本棚の本のように待機する
Beyond the Phone — iPad & Mac体験
- iPhoneアプリが大画面を単に受け入れるのではなく、各プラットフォームに合わせた 専用体験 を設計
- iPad:
- 折りたたみ式サイドバー: ソース、Currents、Voicesが必要なときにスライドインし、不要なら消える
- 横向き: サイドバーとリーダーが並んで配置され、記事を開いてもRiver内で位置を見失わない
- 縦向き: サイドバーを隠し、Riverが全画面を占有
- Mac:
- キーボードファースト 設計
- Command-K: コマンドパレットでCurrent切り替え、ソース移動、検索、テーマ変更など、あらゆる操作を実行。メニューをたどる必要がない
- Siftモード: デスクトップでの実際のトリアージ方法に合わせたモードで、キー1つで各記事を全画面表示し、Release・保存・スキップを 単一キー で処理
What I Left Out — 意図的に除外したもの
- 未読記事カウントを完全排除: 「まだ入れていない」のではなく 「決して入れない」、哲学的決定。未読カウントはRSS管理者(manager)としてはより良いアプリを作るが、RSS読者(reader)としてはより悪いアプリを作る
- 3ペインレイアウトなし: フィードサイドバー+項目リスト+読書ペインという構造を排除。2002年にBrent Simmonsが発明し、20年間みなが複製してきたこのレイアウトへの疑問を真剣に受け止めた
- アルゴリズムキュレーションなし: ソーシャルメディアがphantom obligationを 「今起きていることを見逃すかもしれないという恐れ(FOMO)」 に置き換えたという認識。Riverは到着順にのみ流れ、ユーザーが設定したvelocityだけが影響する
- ストーリースレッディング: 複数ソースの関連記事を物語的スレッドに束ねるシステムは構築済みだが、無効化した状態で公開。オンデバイスのFoundation Modelsによる検証まで動作しているが、提示方法がまだ適切ではないため、中途半端な状態で出すより、準備が整うまで、あるいは永久に保留する
- パフォーマンス予算: すべてのデバイスで 60fps、スクロール中のメモリ使用量を150MB以下に維持
- CurrentLinesは余裕を確保するため60fpsではなく 30fps で動作
- 一部の遷移はプロトタイプより簡略化: 旧型ハードウェアでフレームドロップが発生したため
- 「パフォーマンスは機能であり、カクつき(jank)はバグである」
3件のコメント
コンセプトは魅力的ですが、経験上こういう理想的な試みの中で成功したものはあまりなかったので…。
今のところは、AI機能も優れていて一番無難なのは Feedly ではないかと思います。
Reeder以降、ほかのリーダーはあまり見てこなかったのですが。
RSSリーダーを使う人なら惹かれる内容ですね。
設計は良いのですが、まだ初期段階だからか、キーボードショートカットのカスタマイズがないのが大きな欠点です。
ひとまずあと数日使ってみます。
幻の義務感