RSS को और मज़ेदार बनाना
(matduggan.com)- RSS फ़ीड-आधारित वेब ब्राउज़िंग एक्सटेंशन बनाया गया है, ताकि उपयोगकर्ता स्वतंत्र वेबसाइटों के कंटेंट को रैंडम तरीके से खोज और रेट कर सकें
- बटन क्लिक करते ही नई साइट दिखाई जाती है, और लाइक·डिस्लाइक·रिपोर्ट फ़ीचर के ज़रिए कम्युनिटी-आधारित रिकमेंडेशन संरचना बनती है
- FastAPI और SQLite का उपयोग करके बैकएंड बनाया गया है, और Kagi की small web RSS सूची का इस्तेमाल कर लगभग 6 लाख पेज इंडेक्स किए गए हैं
- विज्ञापनों या यूज़र डेटा संग्रह के बिना, केवल कम समय के लिए दिलचस्प वेब कंटेंट खोजने का अनुभव दिया जाता है
- मौजूदा RSS रीडरों की थकान कम करने और छोटे वेब इकोसिस्टम की फिर से खोज को लक्ष्य बनाने वाला एक व्यक्तिगत प्रयोगात्मक प्रोजेक्ट
प्रोजेक्ट अवलोकन
- RSS रीडर इस्तेमाल करने का अनुभव बोझिल लगता है, इसी समस्या-बोध से इसकी शुरुआत हुई
- बिना पढ़े लेखों के जमा होने का दबाव, और समय-क्रम आधारित कंटेंट संरचना की अक्षमता की ओर इशारा
- उपयोगकर्ता रैंडम तरीके से दिलचस्प लेख खोजना चाहते हैं
- TikTok की रिकमेंडेशन पद्धति से प्रेरित होकर, छोटी वेबसाइटों के कंटेंट को रैंडम रूप से दिखाने वाली संरचना डिज़ाइन की गई
- जब उपयोगकर्ता कंटेंट को रेट करते हैं, तो लाइक की संख्या के अनुसार उसकी दिखने की आवृत्ति बढ़ती है
- विज्ञापनों या व्यक्तिगत डेटा संग्रह के बिना एक सरल रिकमेंडेशन एल्गोरिदम लागू किया गया
फ़ीचर और यूज़र फ़्लो
- Firefox एक्सटेंशन के रूप में उपलब्ध, timewasterpro.xyz से डाउनलोड किया जा सकता है
- उपयोगकर्ता बटन क्लिक करके नई वेबसाइट पाते हैं, और Upvote/Downvote/Report से रेट करते हैं
- अकाउंट बनाना ज़रूरी है, और अगर उनके द्वारा सबमिट किया गया लिंक दूसरे उपयोगकर्ताओं में लोकप्रिय हो जाए तो Leaderboard में रैंक ऊपर जाती है
- बैकएंड में RSS फ़ीड को समय-समय पर क्रॉल करके डेटाबेस में संग्रहीत किया जाता है
- हर 600 सेकंड में 5 फ़ीड जाँची जाती हैं, और एक दिन में एक बार से कम आवृत्ति पर अपडेट किया जाता है
- रिपोर्ट किए गए URL को रिव्यू क्यू में भेजा जाता है, और लाइक·डिस्लाइक की संख्या दर्ज की जाती है
तकनीकी संरचना
- FastAPI से API लिखी गई है, और SQLAlchemy से डेटाबेस प्रबंधन किया गया है
- डेटा स्टोरेज के लिए SQLite का उपयोग किया गया है
- तेज़ शुरुआत और आसान बैकअप के कारण यह हॉबी प्रोजेक्ट के लिए उपयुक्त है
- ऑथेंटिकेशन ईमेल-आधारित अकाउंट निर्माण के बाद लिंक सत्यापन तरीके से किया जाता है
- Passkey लॉगिन भी आज़माया गया, लेकिन OSS इम्प्लीमेंटेशन की अस्थिरता के कारण यह सीमित रहा
- JWT ऑथेंटिकेशन इस्तेमाल किया गया, लेकिन यूज़र अनुभव के लिहाज़ से इसे अक्षम माना गया
- Kagi small web GitHub रिपॉज़िटरी की RSS सूची को डेटा स्रोत के रूप में इस्तेमाल किया गया
डिज़ाइन और यूज़र अनुभव
- System.css लाइब्रेरी का उपयोग करके 80~90 के दशक के Apple System OS स्टाइल को लागू किया गया
- दृश्य रूप से यह बताया गया कि यह “किसी पेशेवर सेवा” की बजाय एक व्यक्तिगत प्रयोग है
- OS के हिसाब से कीबोर्ड शॉर्टकट अलग नहीं किए जा सके, इसलिए Alt key पर तय किया गया
- एक्सटेंशन के
manifest.jsonकॉन्फ़िगरेशन में ब्राउज़र-विशिष्ट ID सेट करने की समस्या आई - कोई analytics tool शामिल नहीं किया गया, इसलिए यूज़र फ़ीडबैक सीधे रिपोर्ट की गई समस्याओं के आधार पर जुटाया गया
आगे की योजना
- कंटेंट को श्रेणीवार वर्गीकृत किया जाएगा, ताकि उपयोगकर्ता अपनी पसंदीदा शैली अधिक बार देख सकें
- एक निश्चित स्तर से अधिक Downvote वाले कंटेंट को अलग क्यू में भेजने वाले फ़ीचर पर विचार किया जा रहा है
- नए उपयोगकर्ताओं के लिए शुरुआत में ‘अच्छा कंटेंट’ पहले दिखाने वाली संरचना की ज़रूरत है
- फ़ोटो, विज्ञान और शिल्प क्षेत्र की स्वतंत्र वेबसाइटों का विस्तार करने की इच्छा है
- अभी लगभग 6 लाख पेज इंडेक्स हो चुके हैं, और सोर्स कोड स्थिर होने के बाद सार्वजनिक किया जाएगा
1 टिप्पणियां
Hacker News की राय
यह सोचना कि हर कंटेंट पढ़ना ही चाहिए, दरअसल reader UI design की खामी है
RSS feed को email की तरह ‘inbox’ में दिखाने का तरीका ही समस्या है
इसे TikTok की तरह बहने वाली ‘news की river’ के रूप में देखना चाहिए
सिर्फ दिलचस्प लेखों पर थोड़ी देर नज़र डालना और बाकी को बह जाने देना ही असली बात है
Twitter भी मूल रूप से RSS जैसी ही संरचना था — बस उसमें ‘unread’ चिह्न नहीं होता था, केवल scroll किया जाता था
इसलिए ‘unread item count’ counter बंद रखना बेहतर है। RSS की असली कीमत इस बात में है कि मैं क्या पढ़ना चुनता हूँ
अगर कोई लेख सच में बहुत अच्छा है, तो दूसरे subscriber आखिरकार उसका link share कर ही देंगे
मुझे ‘river’ से ज़्यादा inbox तरीका पसंद है
मैंने भी कभी ऐसा system बनाने की कोशिश की थी जो पूरे web से अपने-आप मेरी पसंद का कंटेंट ढूँढ दे
मुझे भी कुछ साल पहले ऐसा ही एहसास हुआ था
Twitter पहले ऐसा था, अब नहीं है
लगता है कुछ लोग RSS reader का इस्तेमाल गलत तरीके से कर रहे हैं
RSS, YouTube channel की तरह हर कंटेंट खपा जाने का माध्यम नहीं है, बल्कि headline देखकर सिर्फ दिलचस्प लेख पढ़ने का tool है
TikTok तो और भी खराब है — उसकी संरचना ही ऐसी है कि अंतहीन कंटेंट stream से लोगों को बाँधे रखे
ऐसे लोगों के लिए नए RSS reader से बेहतर ‘read later’ list ज़्यादा उपयोगी होगी
TikTok का recommendation engine एक-एक कंटेंट यूनिट पर reaction नापता है, इसलिए बहुत efficient है
यह तय मान लेने की ज़रूरत नहीं कि कोई RSS का इस्तेमाल ‘गलत’ कर रहा है
पहले जब मैं NetNewsWire इस्तेमाल करता था, तो unread article badge की वजह से बेचैनी होती थी
मैं 2005 version के tt-rss को customize करके इस्तेमाल कर रहा हूँ
Google Reader का ‘unread’ संकेत email जैसा दिखता था, इसलिए वह किसी ‘to-do’ की तरह महसूस होता था
बहुत से लोग RSS को web feed के सामान्य नाम की तरह इस्तेमाल करते हैं
असली implementation में सवाल यह होता है कि RSS, Atom, या JSON Feed में से किसे चुना जाए
podcast अभी भी मूल रूप से RSS पर ही चलते हैं
मैं सिर्फ JSON Feed इस्तेमाल करता हूँ
ज़्यादातर feed reader ऐसे लोगों ने बनाए लगते हैं जो खुद वास्तव में RSS इस्तेमाल नहीं करते
मैं 211 feed को लगभग 20 category में manage करता हूँ, और 13,000 cached item हैं
वास्तव में click करके पूरा लेख खोलने की दर सिर्फ 1~5% है
पूरी तरह सहमत। ऐसे कई reader हैं जिनमें filtering feature या बड़ी मात्रा में लेख संभालने की संरचना ही नहीं है
RSS की खूबी यह है कि यह recommendation algorithm के असर से मुक्त रहता है
ऐसा project देखकर बहुत खुशी होती है
मुझे पहले StumbleUpon बहुत पसंद था, इसलिए ऐसी मिलती-जुलती सेवा देखकर अच्छा लगा
काश कोई DIGG का successor बना दे
पूरी तरह सहमत। यह StumbleUpon की याद दिलाता है, और साथ ही content focus खुद चुनने की सुविधा भी अच्छी लगती है
जानकारी के लिए, Digg हाल ही में beta version के रूप में फिर से launch हुआ है
मुझे RSS की non-algorithmic curation पसंद है, लेकिन ‘मज़ा’ केंद्रित curation नहीं चाहिए
कंटेंट का समयक्रम बनाए रखना या नहीं स्थिति पर निर्भर करता है
मैं Scour नाम की service सुझाता हूँ
यह user की रुचि और प्रासंगिकता के आधार पर लेखों को rank करता है
RSS feed import कर सकते हैं या 15,000 से अधिक source में search कर सकते हैं
इसे हज़ारों ‘unread’ item से बचाकर सिर्फ अच्छे लेख चुनकर देने वाले tool के रूप में बनाया गया है
दिलचस्प लगता है। जानना चाहूँगा कि क्या इसमें कुछ खास feed को blacklist करके बाहर रखने की सुविधा है
मैं RSS की category classification समस्या हल करने की कोशिश कर रहा हूँ
बहुत सी feed
categoryfield का इस्तेमाल नहीं करतीं, इसलिए description में मौजूद hashtag को parse करने वाला crawler बनायारोज़ RSS ‘inbox zero’ बनाए रखने के लिए जो blog बहुत बार post करते हैं, उन्हें unsubscribe कर देता हूँ
पोस्टिंग frequency और content quality अक्सर एक-दूसरे के उलट अनुपात में होती हैं
मैं Karakeep app से RSS subscribe करता हूँ
मेरी website भी कई तरह का कंटेंट देती है, लेकिन ज़्यादातर reader
categorytag को support नहीं करते