- Entwicklung einer RSS-Feed-basierten Web-Surf-Erweiterung, mit der Nutzer Inhalte unabhängiger Websites zufällig entdecken und bewerten können
- Per Klick auf einen Button wird eine neue Website angezeigt; über Gefällt mir-, Gefällt mir nicht- und Melden-Funktionen entsteht eine Community-basierte Empfehlungsstruktur
- Backend mit FastAPI und SQLite aufgebaut; unter Nutzung von Kagis small web-RSS-Liste werden rund 600.000 Seiten indexiert
- Ohne Werbung oder Sammlung von Nutzerdaten bietet das Projekt einfach die Erfahrung, für kurze Zeit interessante Webinhalte zu erkunden
- Ein persönliches experimentelles Projekt mit dem Ziel, die Ermüdung durch bestehende RSS-Reader zu verringern und das kleine Web-Ökosystem neu zu entdecken
Projektüberblick
- Ausgangspunkt war die Wahrnehmung, dass die Nutzung von RSS-Readern belastend sein kann
- Kritisiert werden der Druck durch sich anhäufende ungelesene Beiträge und die Ineffizienz einer rein chronologischen Inhaltsstruktur
- Nutzer möchten zufällig auf interessante Texte stoßen
- Inspiriert vom Empfehlungsansatz von TikTok wurde eine Struktur entworfen, die Inhalte kleiner Websites zufällig ausliefert
- Wenn Nutzer Inhalte bewerten, steigt ihre Ausspielhäufigkeit je nach Anzahl der Likes
- Es kommt ein einfacher Empfehlungsalgorithmus zum Einsatz, ganz ohne Werbung oder Sammlung persönlicher Daten
Funktionen und Nutzerfluss
- Bereitgestellt als Firefox-Erweiterung, Download unter timewasterpro.xyz
- Nutzer erhalten per Button-Klick eine neue Website und bewerten sie mit Upvote/Downvote/Report
- Eine Kontoerstellung ist erforderlich; wenn eingereichte Links bei anderen Nutzern beliebt werden, steigt man im Leaderboard auf
- Im Backend werden RSS-Feeds regelmäßig gecrawlt und in der Datenbank gespeichert
- Alle 600 Sekunden werden 5 Feeds geprüft; Aktualisierungen erfolgen mit einer Frequenz von höchstens einmal pro Tag
- Gemeldete URLs werden in eine Prüfwarteschlange verschoben, Likes und Dislikes werden gezählt
Technische Umsetzung
- Die API wurde mit FastAPI geschrieben, die Datenbankverwaltung übernimmt SQLAlchemy
- Für die Datenspeicherung wird SQLite verwendet
- Schneller Start und einfache Backups machen es für ein Hobbyprojekt geeignet
- Die Authentifizierung erfolgt über kontoerstellung per E-Mail mit Link-Verifizierung
- Auch Passkey-Login wurde ausprobiert, war wegen der Instabilität von OSS-Implementierungen jedoch nur eingeschränkt nutzbar
- Es wird JWT-Authentifizierung verwendet, die aus Sicht der Nutzererfahrung jedoch als ineffizient bewertet wird
- Als Datenquelle dient die RSS-Liste des Kagi-small-web-GitHub-Repositorys
Design und Nutzererlebnis
- Mit der Bibliothek System.css wurde ein Stil im Look von Apple System OS der 80er und 90er Jahre umgesetzt
- Damit wird visuell vermittelt, dass es sich nicht um einen professionellen Service, sondern um ein persönliches Experiment handelt
- Da Tastaturkürzel nicht nach Betriebssystem unterschieden werden konnten, wurden sie fest auf die Alt-Taste gelegt
- In der
manifest.json-Konfiguration der Erweiterung gab es Probleme bei der Vergabe browserspezifischer IDs
- Da keine Analysetools eingebunden sind, wird Nutzerfeedback vor allem über direkt gemeldete Probleme gesammelt
Ausblick
- Inhalte sollen künftig nach Kategorien eingeordnet werden, damit Nutzer bevorzugte Genres häufiger sehen können
- Geprüft wird eine Funktion, die Inhalte mit einem bestimmten Maß an Downvotes in eine separate Queue verschiebt
- Es braucht eine Struktur, mit der neue Nutzer anfangs vorrangig „gute Inhalte“ zu sehen bekommen
- Gewünscht ist ein Ausbau unabhängiger Websites aus den Bereichen Fotografie, Wissenschaft und Handwerk
- Derzeit sind rund 600.000 Seiten indexiert, der Quellcode soll nach der Stabilisierung veröffentlicht werden
Noch keine Kommentare.