A small introduction to RSS

RSS

Ich dachte mir ich schreibe einmal ein kleines HowTo über RSS-Feeds. Die Ursprungsidee hatte PeterTheOne und ich habe einfach einmal probiert eine Dokumentation in HowTo-Manier mit Screenshots zu verfassen. Sowas muss man auch einmal gemacht haben.

Anlass sowas einmal zu machen, gibt mir vor allem, dass man oft selbst weiß, dass die Aufgabe XY (zB Empfangen von Nachrichten) mit der Methode YZ effizienter zu erledigen wäre, aber man steigt trotzdem nicht auf die effizientere Methode um, weil der erste Schritt der schwerste ist und die Priorität des Umstiegs deshalb eher niedrig bleibt. Und mit der kleinen Einleitung erkläre ich kurz die Funktionsweise und die Benutzermöglichkeiten, weil ich so hoffe ein paar zur Nutzung von RSS-Clients bewegen zu können.

Die alte Methode

Du kennst die Seite BRGblog. Du rufst sie jeden Tag auf, um zu überprüfen, ob neue Beiträge auf der Seite zu finden sind. Vielleicht ist die Seite gerade nicht verfügbar oder dein Browser streikt. Vielleicht lädt die Seite viel zu lange, weil sie vollgestopft mit Werbung und Bilder ist. Du schaust die Seite einfach ungern an, aber du möchtest trotzdem immer am Laufenden sein bezüglich des Inhalts. Es nervt immer den Link zu diesem Weblog mit der langen URL zu finden. Vor allem weißt du ja auch nie, wann ein Beitrag erscheinen wird. Es wäre doch praktisch, wenn es ein Tool gibt, dass nur die Seite auf neuen Inhalt überprüft und mir das wichtigste (die neueste Nachricht) zeigt. Das kann dann auch nicht nur eine Seite überprüfen, sondern eine ganze Liste mit Links.
Normalerweise wird in RSS nur die Nachricht übertragen und nicht die "Webseite" (vor allem das Design) selbst (hängt ab vom verwendeten Programm). Das Lange-Ladezeiten-Problem ist somit ein geringeres Problem. Die Links musst du alle manuell nennen, jedoch kannst du sie in Ordnern verwalten und je nach Client verschieden konfigurieren.

Die Begriffe

Abonnieren: Einen Feed verfolgen bzw. immer die aktuellen Nachrichten empfangen (angelehnt an das "Abo" einer Tageszeitung)
Atom: Ein anderes Syndication-Format. Sozusagen die Konkurrenz von RSS. Gängige Clients sollten RSS also auch Atom unterstützen
Browser: Das Programm mit dem du gerade diese Seite anschaust (zB Internet Explorer, Firefox, Opera, Safari, Konqueror)
Client: Ein Programm oder eine Applikation, die die strukturierten Daten für den User graphisch schöner aufbereitet
Feed: Ist eine URL unter der das XML-Dokument zur Verfügung steht (bzw. steht synonym für das Abonnement)
Permalinks: Weblogs haben standardmäßig eine Ansicht um alle Einträge (bzw. eine bestimmte Anzahl an Einträgen) anzuzeigen. Ebenso haben sie eine Seite, die sich nur mit einem Eintrag befasst. Eine URL, die genau auf nur den einen Eintrag zeigt, nennt sich Permalink (Zusammensetzung aus Permanent und Link)
RSS: Nennt sich ein Standard, der definiert wie Daten strukturiert werden müssen, damit sie "leichter" gelesen werden können.
Syndication: Laut Wikipedia versteht man unter Syndication die Mehrfachverwendung von Inhalten in Medien
URL: auf noobisch: Webadresse oder Link wie http://google.at/
XML: Ein Standard, wie man Daten hierarchisch strukturieren kann. RSS hat seine Ursprünge in ihm

RSS und XML

RSS ist ein offener Standard. Offen im Sinne von zugänglich und frei, sowie standardisiert. XML spezifiziert einen Standard, wie man Daten strukturieren könnte. RSS ist eine Erweiterung, die die genaue Struktur vorgibt. XML sieht dann in etwa so aus:

<xml>
 <author>Lukas Prokop</author>
 <text>A small introduction to RSS</text>
</xml>

Die RSS-Spezifikation

RSS ist jetzt eine Spezifikation, wie diese Elemente aneinander gereiht werden müssen. Aber jetzt wird es schon zu technisch. Einfacher: Die RSS-Spezifikation definiert einen Standard, damit andere Personen deine Daten lesen können, die du anbietest, weil sie ja sonst nicht wissen, welche Sprache du sprichst. "Lesen" macht natürlich ein Programm, welches die Daten graphisch schön aufbereitet.

Und Programme dafür gibt es natürlich genug. Genauer gesagt müsste man Applikationen sagen, weil es viel mehr Onlinemöglichkeiten gibt als lokale Programme. Grob kann man RSS-Clients also in zwei Gruppen aufteilen:

Es sei noch zu erwähnen, dass RSS ein relativ neuer Standard ist. In den neueren Browserversionen wird es wesentlich bessere RSS-Unterstützung geben und auch die Clients sind vom Konzept alle sehr ähnlich.

Funktionsweise

Gut... wir haben also jemanden der die Daten (die er weitergeben möchte) entsprechend der RSS-Spezifikation strukturiert. Diesen "Feed" (die XML/RSS-Datei) kann jeder Internetuser "abonnieren". Das bedeutet er trägt die URL zu dieser Datei in eine Liste ein und immer zu einem bestimmten Zeitpunkt überprüft der "RSS-Client" (der Onlinereader oder das Programm), ob neue Daten hinzugefügt wurden. Über den Client werden die neuen Daten graphisch aufbereitet und der User kann sich immer die neuesten Nachrichten durchlesen. Soweit zur Theorie.

Die drei Varianten

Wenn ich hier alle Clients ansprechen würde, würde ich wohl noch schreiben, während ein neuer erschienen ist. Ebenso wäre es wenig sinnvoll einen einzigen ausführlich zu besprechen. Jeder verwendet einen anderen Browser, die einen möchten ihre Feeds nicht online verwalten, während andere auf die Mobilität des Internets setzen.

Im folgenden Varianten erkläre ich das Konfigurieren des Clients und das hierarchische Sortieren der Feeds in den folgenden drei Clients:

Für weitere Feed-Aggregatoren sei es empfohlen nach "News Aggregatoren" zu googlen oder auf newsonfeeds.com findet man eine schöne Liste mit Onlinediensten. Die englische Wikipedia verfügt auch über eine Liste von News-Aggregatoren.

Weiteres Zeug

Dieses Tutorial habe ich für den BRGblog geschrieben. Es ist nicht irgendwie speziell technisch orientiert und ich werde nicht auf den RSS-Standard näher eingehen. Es geht nur um die ersten Schritte für einen Standarduser. Die Screenshots wurden mit Windows XP bzw. Vista (für den IE7) gemacht. Als Browser verwendete ich den Firefox außer für die Screenshots der jeweiligen Browser.

Disclaimer: Soweit ich weiß gibt es keine offizielle Spezifikation (wie wir sie für HTML vom W3C kennen), sondern existiert als Quasi-Standard. Google hat für Google Base eine Spezifikation geschrieben. Beim Googlen wird man noch weitere finden, aber ich habe jene oben genannt, weil sie gerne in themenbezogenen Diskussionen gelinkt werden. Der Aufbau des Dokuments ist in allen Spezifikationen ähnlich und kann von den bekannten Clients gelesen werden. Im Detail werden sie sich jedoch unterscheiden.

Written in Sept 08 by meisterluk