Membuat RSS Lebih Menyenangkan
(matduggan.com)- Membuat ekstensi penjelajahan web berbasis feed RSS agar pengguna dapat menjelajahi dan menilai konten dari situs web independen secara acak
- Menampilkan situs baru dengan klik tombol, dan membentuk struktur rekomendasi berbasis komunitas melalui fitur suka, tidak suka, dan laporkan
- Menyusun backend dengan FastAPI dan SQLite, serta memanfaatkan daftar RSS small web milik Kagi untuk mengindeks sekitar 600 ribu halaman
- Tanpa iklan atau pengumpulan data pengguna, menawarkan pengalaman menjelajahi konten web menarik dalam waktu singkat
- Proyek eksperimental pribadi yang bertujuan mengurangi kelelahan dari pembaca RSS lama dan menemukan kembali ekosistem web kecil
Gambaran proyek
- Berangkat dari kesadaran bahwa pengalaman menggunakan pembaca RSS terasa membebani
- Menunjukkan masalah tekanan karena artikel yang belum dibaca terus menumpuk, serta inefisiensi struktur konten yang diurutkan berdasarkan waktu
- Pengguna ingin menjelajahi tulisan menarik secara acak
- Terinspirasi dari cara rekomendasi TikTok, dirancang struktur yang menyajikan konten dari situs web kecil secara acak
- Jika pengguna menilai konten, frekuensi tampil meningkat sesuai jumlah suka
- Menerapkan algoritme rekomendasi sederhana tanpa iklan atau pengumpulan data pribadi
Fitur dan alur pengguna
- Tersedia dalam bentuk ekstensi Firefox, dapat diunduh dari timewasterpro.xyz
- Pengguna menerima situs web baru dengan klik tombol, lalu menilai dengan Upvote/Downvote/Report
- Perlu membuat akun, dan jika tautan yang dikirim menjadi populer di kalangan pengguna lain, peringkat akan naik di Leaderboard
- Di backend, feed RSS dirayapi secara berkala lalu disimpan ke basis data
- Memeriksa 5 feed setiap 600 detik, dengan frekuensi pembaruan tidak lebih dari sekali per hari
- URL yang dilaporkan dipindahkan ke antrean peninjauan, dan jumlah suka/tidak suka dicatat
Susunan teknologi
- Menulis API dengan FastAPI, dan mengelola basis data dengan SQLAlchemy
- Penyimpanan data menggunakan SQLite
- Karena mudah untuk mulai cepat dan melakukan pencadangan sederhana, cocok untuk proyek hobi
- Autentikasi menggunakan pembuatan akun berbasis email lalu verifikasi melalui tautan
- Login Passkey juga sempat dicoba, tetapi terbatas karena implementasi OSS yang kurang stabil
- Menggunakan autentikasi JWT, tetapi dinilai kurang efisien dari sisi pengalaman pengguna
- Memanfaatkan daftar RSS dari repositori GitHub Kagi small web sebagai sumber data
Desain dan pengalaman pengguna
- Menggunakan pustaka System.css untuk menghadirkan gaya Apple System OS era 80–90-an
- Secara visual menyampaikan bahwa ini adalah “eksperimen pribadi, bukan layanan profesional”
- Karena tidak bisa membedakan pintasan keyboard per OS, dikunci ke tombol Alt
- Mengalami masalah penentuan ID per browser dalam pengaturan
manifest.jsonekstensi - Karena tidak menyertakan alat analitik, umpan balik pengguna dikumpulkan terutama dari masalah yang dilaporkan langsung
Rencana ke depan
- Berencana meningkatkan fitur dengan mengelompokkan konten berdasarkan kategori agar pengguna lebih sering melihat genre yang disukai
- Meninjau fitur untuk memindahkan konten dengan Downvote di atas ambang tertentu ke antrean terpisah
- Perlu menyiapkan struktur agar pengguna baru lebih dulu melihat ‘konten bagus’ pada tahap awal
- Berharap menambah situs web independen di bidang fotografi, sains, dan kerajinan
- Saat ini sekitar 600 ribu halaman telah diindeks, dan kode sumber akan dibuka setelah stabil
1 komentar
Komentar Hacker News
Gagasan bahwa semua konten harus dibaca adalah cacat dalam desain UI reader
Masalahnya ada pada cara feed RSS ditampilkan sebagai ‘kotak masuk’ seperti email
Harus didekati seperti ‘river of news’ yang mengalir, seperti TikTok
Intinya adalah mampir sebentar ke tulisan yang menarik, lalu membiarkan sisanya lewat begitu saja
Twitter pada dasarnya juga punya struktur yang mirip RSS — hanya saja orang cukup scroll tanpa penanda ‘belum dibaca’
Karena itu, sebaiknya matikan penghitung ‘item belum dibaca’. Nilai RSS ada pada apa yang kupilih untuk kubaca
Kalau artikelnya benar-benar bagus, pada akhirnya pelanggan lain akan membagikan tautannya
Aku lebih suka model kotak masuk daripada ‘river’
Aku juga pernah mencoba membuat sistem yang otomatis menemukan konten yang cocok dengan seleraku dari seluruh web
Aku juga mendapat pencerahan serupa beberapa tahun lalu
Twitter dulu memang layanan seperti itu, sekarang tidak lagi
Sepertinya ada orang yang memakai RSS reader dengan cara yang salah
RSS bukan alat untuk menghabiskan semua konten seperti channel YouTube, melainkan alat untuk melihat judul lalu hanya membaca yang menarik
TikTok justru lebih buruk — strukturnya dibuat untuk terus menahan orang dalam aliran konten tanpa akhir
Untuk orang seperti ini, mungkin daftar ‘baca nanti’ lebih cocok daripada RSS reader baru
Mesin rekomendasi TikTok sangat efisien karena mengukur respons per unit konten tunggal
Tidak perlu langsung menyimpulkan bahwa seseorang ‘memakai RSS dengan salah’
Dulu saat memakai NetNewsWire aku merasa cemas karena badge artikel belum dibaca
Aku masih memakai tt-rss versi 2005 yang sudah kukustomisasi
Penanda ‘belum dibaca’ di Google Reader terlihat seperti email, sehingga terasa seperti ‘tugas yang harus dikerjakan’
Banyak orang memakai RSS sebagai istilah umum untuk web feed
Dalam implementasi nyata, pertanyaannya adalah apakah harus memakai RSS, Atom, atau JSON Feed
Podcast masih memakai RSS sebagai dasar
Aku hanya memakai JSON Feed
Kebanyakan feed reader terasa seperti dibuat oleh orang yang sebenarnya tidak memakai RSS
Aku mengelola 211 feed dalam sekitar 20 kategori, dengan 13.000 item cache
Rasio klik untuk membuka isi artikel sebenarnya hanya sekitar 1~5%
Sangat setuju. Banyak reader yang tidak punya fitur filtering atau struktur untuk menangani artikel dalam jumlah besar
Kelebihan RSS adalah bebas dari pengaruh algoritme rekomendasi
Senang sekali melihat proyek seperti ini
Dulu aku sangat suka StumbleUpon, jadi senang ada layanan yang mirip
Semoga ada yang membuat penerus DIGG
Sangat setuju. Ini membangkitkan nostalgia StumbleUpon, sekaligus bagus karena kita bisa memilih sendiri fokus kontennya
Sebagai catatan, Digg baru-baru ini diluncurkan ulang dalam versi beta
Aku suka kurasi RSS yang non-algoritmis, tapi tidak menginginkan kurasi yang berfokus pada ‘kesenangan’
Apakah urutan waktu konten dipertahankan atau tidak bergantung pada situasi
Merekomendasikan layanan bernama Scour
Layanan ini memberi peringkat pada artikel yang paling relevan dengan minat pengguna
Bisa mengimpor feed RSS atau mencari dari lebih dari 15.000 sumber
Dirancang sebagai alat yang memilihkan hanya artikel bagus, sehingga terhindar dari ribuan item ‘belum dibaca’
Terdengar menarik. Aku penasaran apakah ada fitur untuk mengecualikan feed tertentu lewat blacklist
Sedang mencoba menyelesaikan masalah klasifikasi kategori di RSS
Karena banyak feed tidak memakai field category, aku membuat crawler yang mem-parsing hashtag dari kolom deskripsi
Agar bisa menjaga RSS ‘inbox zero’ setiap hari, aku unsubscribe dari blog yang terlalu sering mem-posting
Ada kecenderungan bahwa frekuensi posting dan kualitas konten berbanding terbalik
Aku berlangganan RSS lewat aplikasi Karakeep
Website-ku juga menyediakan beberapa jenis konten, tetapi karena kebanyakan reader tidak mendukung tag category