am 19. Januar 2010
Heute wollen wir mal wieder ein Projekt eines Lesers vorstellen. Normalerweise sind es zwar die Blogs die wie hier anpreisen, widmen uns aber heute mal einem kompletten Projekt, dass vielleicht auch für euch interessant sein könnte. Genug aber von mir, ich gebe das Wort an Tobias Zeising ab:
Jeder kennt sie, die morgendliche Runde, mit der man sich im Netz informiert wie der Stand der Dinge ist. Meistens ist das ein fester Satz an Seiten, die man durchklickt und überfliegt. Daneben gibt es aber eine riesige Fülle an Blogs, Communitys, Portalen und Projekten, die einen interessiert, die man aber nur unregelmäßig abklopft. Gerade Entwickler entdecken dann früher oder später RSS, legen sich einen RSS Reader zu und behalten so alles im Auge. Um so überraschter war ich, als ich mich auf die Suche nach einem webbasierten RSS Reader begeben habe: die Auswahl ist überschaubar und klein.
Am verbreitesten ist der Google Reader, der für mich aus datenschutztechnischen Gründen nicht in Frage kommt (ich verfolge weit mehr als 100 Feeds der verschiedensten Themen, was neben meinem Leseverhalten umfangreiche Rückschlüsse auf mein Persönlichkeitsprofil zulässt). Die meisten Dienste, welche man im Netz findet, sind für eine größere Menge an RSS Feeds ungeeignet, unpraktisch in der Bedienung oder sind schlicht unübersichtlich. Die wenigen Programme, welche sich auf einen eigenen Server installieren lassen, werden entweder nicht weiter gepflegt (gregarius) oder konnten mich von der Bedienbarkeit nicht überzeugen (tiny tiny rss). Also habe ich mich entschlossen selbst Reader zu entwickeln und all die Features einzubauen, die ich bisher bei keinem anderen Reader entdeckt habe:
- Er soll eine schlichte und übersichtliche Oberfläche haben.
- Ich fotografiere gerne und verfolge viele Fotografen im Netz, also soll der Reader einfach und komfortabel Fotoblogs lesen können und neue Bilder übersichtlich darstellen.
- Abhängig von meiner beruflichen Auslastung habe ich mal viel, mal wenig Zeit: der Reader soll also Prioritäten unterstützen und unwichtige Feeds bei Bedarf einfach ausblenden können (deren Einträge kann ich ja dann auch am Wochenende lesen).
- Viele Seiten bieten kein RSS Feed. Solche will ich auch verfolgen können. Der Reader muss also ein flexibles Pluginsystem haben, über das ich z.B. auch Seiten parsen und verarbeiten kann.
- Der Reader sollte möglichst auf jedem 0815 Webhosting Server lauffähig sein.
Nachdem die Anforderungen klar waren, habe ich nach einer letzten verweifelten Suche nach so einem Reader dann angefangen zu programmieren. ‘rsslounge’ heißt das Ergebnis, wobei der Name und das Logo an die morgendliche Runde erinnern soll, wo man bei einer Tasse Tee/Kaffeeentspannt seine News checkt.
Einige Monate habe ich die Anwendung dann selbst benutzt und getestet und mich mittlerweile so daran gewöhnt, so dass ich mich garnicht daran erinnern kann, wie ich das vorher gemacht habe. rsslounge basiert natürlich auf PHP und baut auf dem Zend Framework auf. Eine kleine, eigene Pluginschnittstelle erlaubt es weitere “Datenquellen” an den Reader anzubinden und natürlich werden Bilderblogs unterstützt. Nachdem in den letzten Monaten einige Verbesserungen eingeflossen sind steht nun die Version 1 zum freien Download zur Verfügung. Das ganze Projekt steht unter GPLv3 Lizenz und kann unter Google Code genau verfolgt werden.
An dieser Stelle will ich gerne alle Leser von phphatesme einladen rsslounge zu verwenden, sich anzusehen und wer will, kann das Programm auch zerpflücken und mir schreiben, was er alles anders machen würde. Denn neben dem Nutzen steht der Lerneffekt für mich bei dem Projekt ganz vorne. Und wer selbst programmiert, der weiß das die Quelle für Ideen nie versiegt und mir natürlich schon viele neue Features im Kopf herum schwirren. Das wichtigste Feature, das ich die nächsten Monate einbauen will: rsslounge soll lernfähig werden. Ähnlich einem Spam Filter eines Email Programms soll man Einträge als interessant oder langweilig markieren können. Basierend auf diesem Wissen werden neue, ungelesene Beiträge dann einsortiert und interessante Artikel erscheinen weiter oben als uninteressante.
Projektseite rsslounge: http://rsslounge.aditu.de
Google Code Seite: http://code.google.com/p/rsslounge/