Mein eigener River of News

Ich habe nochmal meinen Feed Agregator überarbeitet. Wie schonmal erwähnt, handelt es sich um eine von mir selbst programmierte Django-App. Inzwischen folgt mein River der Philosophie des "River of News" von David Winer. Das heisst, die einzelnen RSS-Feed-Items werden zeitlich sortiert angezeigt und nicht einfach Feed, nach Feed. Die neuesten Items stehen also immer zu oberst. Diese Methode funktioniert wunderbar, allerdings führt das dazu, dass ich Feeds, die kein Datum ausliefern, wie zum Beispiel der von Fefe, nicht in den River aufnehmen kann. Gut, macht jetzt auch nichts, die eine oder andere Webseite kann man auch noch manuell aufrufen.

Ich hab ausserdem die Favicons der jeweiligen Quelle mit aufgenommen (sofern vorhanden) und die der Überschrift voran gestellt.

Schön langsam bin ich damit zufrieden. Interessant ist auch, dass ich Twitter-Feeds mit aufgenommen habe, sogar - eher experimentell, denn da kommt eine Menge Käse rein - einen Such-Feed. Funktioniert aber auch 1a.

Update 2012-09-25:

Ich habe eine MENGE Feeds hinzugefügt. Unter anderem habe ich herausgefunden, dass ich mit Feed43 auch Youtube-Channels extrahieren kann. Die haben zwar einen eigenen RSS Feed, aber ohne die Videos. Tja, nun hab ich die Videos direkt hier im River. Ich musste allerdings den Universal Feedreader dazu überreden, das auch anzuzeigen:
import feedparser
feedparser._HTMLSanitizer.acceptable_elements.add('iframe')
Sehr fein. Neu dabei sind diverse wissenschaftliche Feeds und einige zum Thema Aquarium und Terrarium (nach denen man wirklich stark suchen muss). Inzwischen habe ich so viel Material in meinem River of News, dass ich im Grunde nie wieder im Netz "Surfen" muss.

Darüber hinaus sind die Feeds jetzt thematisch sortiert. Der direkte Link im Menü zeigt nur 1 Item pro Feed an und wenn man im River ist, wird aus dem Menü eine Dropdownliste. Dort kann man nun einen Full River auswählen (5 Items pro Feed, aus ALLEN Themen) oder aber nur die Items aus einem bestimmten Thema (auch die letzten 5).

Wenn ich die alle durcharbeite, bin ich locker 2 Stunden oder mehr beschäftigt. Bin ich infosüchtig? Unbedingt!

Update 2012-09-11:

Fefe hab ich auch drin, Feed43 sei Dank. Dadurch kriegen die Items einen Timestamp, der dort auch gecached wird. Das gleiche mache ich auch mit dem TCS Forum. Damit die Timestamps einigermaßen mit der Realität übereinstimmen, hole ich diese Fee43 Feeds per Cronjob regelmäßig ab.

Update 2012-09-11:

Wie sich herausstellt, ist David Winer nicht wirklich der Erfinder des Konzepts, wie ich ursprünglich dachte. Es wurde von Jeff Waugh and Scott James Remnant erfunden, die 2006 eine Software namens Planet entwickelt hatten. Das ist auch in Python geschrieben, verwendet den gleichen RSS Parser, wie ich ihn auch benutze und läuft ebenfalls serverseitig. Allerdings schreibt es die Posts ins Filesystem und kopiert sie damit. Mein River im Gegensatz dazu ist live, das heisst, ich kopiere gar nichts. Wenn man ihn aufruft, werden die Feeds abgeholt und direkt ausgegeben. Dadurch ist er zwar langsamer aber damit kann ich leben. Es gibt auch einen Nachfolger davon namens Venus.

Einige Beispiele solcher planets, wie Seiten die das nutzen genannt werden, wären Planet GNOME, für den die Software ursprünglich entwickelt wurde. Oder auch SciPy Blogs. Die Sourcen werden bei einem Planet üblicherweise "Subscriptions" genannt, das gleiche ist bei mir auf der rechten Seite zu sehen unter Feeds.

Ja und meine Idee, die jeweiligen Favicons der Seiten pro Posting anzuzeigen, so dass ich sehe, woher das kommt, ist auch nicht neu. Der Planet GNOME verwendet dafür sogenannte Hackergotchis.

Somit habe ich das Rad neu erfunden :) Aber ich kann mich zumindest damit trösten, dass mein River nicht allzuviel Code umfasst und als Django-App implementiert ist.

Update 2012-09-10:

den Twitter-Search-Feed für #fehmarn hab ich wieder rausgenommen. Da kommt ja nur Unfug. Schlimm.

#river

↷ 10.09.2012