
2025/12/05 22:00
Making RSS More Fun
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
記事では、Timewaster Proという趣味レベルのFirefoxアドオンについて説明しています。
このアドオンはランダムな小規模ウェブサイトのコンテンツを表示し、ユーザーが投票したり(上位/下位)報告したりできるようにします。参加するには、メール認証付きでアカウントを作成する必要があります―著者はこの手順を面倒だと感じており、Appleログインやパスキーなどより簡単な方法に置き換えたいと考えています。
バックエンドはFastAPI、SQLAlchemy、およびSQLiteで構築されており、Kagiの小規模ウェブリストからRSSフィードを600秒ごとにクロールし、60万件以上のURLをデータベースに追加します。サイトの人気度が推奨に影響し、上位投票数が多いほどサイトは頻繁に表示されます。また、ユーザーの貢献はリーダーボードで追跡されます。
UI は意図的にミニマルで、Apple の「system.css」でスタイリングされており、非プロフェッショナルな性質を示しています。分析や広告は含まれていませんし、拡張機能のマニフェストは
authenticationInfo だけを許可するように制限されています。
既知の技術的課題には、キーボードショートカットの処理、プラットフォーム固有のショートカット、および JWT 認証の複雑さが含まれます。
今後の計画としては、コンテンツをカテゴリ化(機械学習で実装する可能性あり)し、下位投票数でフィルタリングし、写真・科学・クラフトなど他のコンテンツタイプへ拡張することが挙げられます。プロジェクトは StumbleUpon からインスパイアされた非商業的なオープンソース趣味プロジェクトであり、広告収益のためにユーザーをリダイレクトするようなマネタイズ手法は回避されるよう設計されています。
本文
TL;DR
Firefox 拡張機能をダウンロードして、必要に応じてスキップしてください:
https://timewasterpro.xyz/
嫌いだったり問題がある場合は Mastodon でご連絡ください: https://c.im/@matdevdug
機能概要
- ボタンをクリック → 新しいウェブサイトを表示。
- 上部投票で「いいね」、下部投票で「よくない」評価、問題のあるコンテンツは報告。
- アカウント作成(他に方法が思いつかなかったため)でリーダーボード上位になると人気投稿に対してポイントが付与されます。
バックエンドでは RSS フィードを遅延させてコストを抑えています:
- 600 秒ごとに 5 本のフィードを取得。
- 新しい記事があるか確認し、まだデータベースに無ければ SQLite に追加。
- 投票・報告状況を追跡。
SQLite は「趣味程度には十分」であり、暗号化されたオブジェクトストレージへのバックアップも簡単です。
技術スタック
- バックエンド – FastAPI(API 設計が楽)、SQLAlchemy、SQLite。
- 認証 – JWT(UX が悪くて後悔)。メール確認は実装済みですが、Apple Sign‑In やパスキーに移行したいと考えています。
- フロントエンド – Firefox 拡張機能で System CSS ライブラリ (https://sakofchit.github.io/system.css/) を使用し、レトロで非プロフェッショナルな見た目を実現。
現状
- 600,000 ページ以上をインデックス化。
- キーボードショートカットは Alt キーにハードコード(プラットフォーム依存の切替は不安定)。
を含むマニフェスト JSON は Gecko 準拠ですが、必要なフィールドが揃っているか不明。browser_specific_settings
今後の計画
- カテゴリ分け – 機械学習でサイト内容を分類し、より関連性の高いアイテムを提示。
- 品質管理 – 多数の下部投票を受けたページは「キュー」に移動させるか、新規ユーザーから隠す。
- コンテンツ多様化 – 独立系写真、科学、クラフトサイトなどを追加。
非技術的なベータテスターは詳細に圧倒されがちなので、ドキュメントは簡潔に保ちつつ使いやすさに注力します。
まとめ
主に自分用に作ったものです。もし退屈なら試してみてください。軽量でシンプル——拡張機能には分析ツールを組み込んでいません。ご意見・フィードバックは大歓迎です!