Lifestream DIY
In der letzten Zeit bin ich immer wieder über so genannte »Lifestreams« wie z.B. das von Jeremy Keith und Jeff Croft gestoplert. Als »Lifestreams« verstehe ich dabei Seiten, die die Aktivitäten einer Person im Netz chronologisch zusammengefasst aufzeigen. Das lässt sich leicht durch die Kombination verschiedener RSS-Feeds realisieren, dachte ich mir. Nachdem eine kleine Umfrage zeigte, dass es keine wirklich schnelle Methode gibt, so etwas auf dem eigenen Server zu starten, habe ich gebastelt und das ist dabei rausgekommen: Eine schnell zusammengehackte Zusammenstellung meiner Aktivitäten per Feed, angehübscht durch viel CSS. Es ist wirklich eine absolute Alpha-Version, die kein Caching oder sonstige Finessen hat. Wer so etwas auch starten bzw. weiterentwickeln möchte, braucht Folgendes:
- Den PHP RSS Parser Magpie.
- Ein Tool zum Kombinieren verschiedener Feeds. Ich schwanke zwischen Yahoo! Pipes und Johns RSS-Combiner, der den Vorteil der Installation auf dem eigenen Server hat. Außerdem hat Pipes wohl Probleme mit den Twitter- und Pownce-Feeds. In »Was man mit RSS so alles anstellen kann« hatte ich schon einmal weitere Tools angesprochen.
- Viel CSS
- Den folgenden Code in einer PHP-Datei:
<?
//Magpie einbinden und konfigurieren
define("MAGPIE_DIR", "./magpie/");
define("MAGPIE_CACHE_ON", true);
define('MAGPIE_CACHE_AGE', "15*15");
define("MAGPIE_CACHE_DIR", "./cache/");
define('MAGPIE_OUTPUT_ENCODING', "UTF-8");
include(MAGPIE_DIR."/rss_fetch.inc");
//Feed-URL
$url = "http://www.mein-kombiniertes-feed";
//Feed laden und parsen
$feed = fetch_rss($url);
//Anzahl festlegen, momentan 25
$feed->items=array_slice($feed->items, 0, 25);
//Ausgeben
echo "<ol>";
foreach ($feed->items as $item) {
$link = $item["link"];
$title = $item["title"];
echo "<li><a href="$link">$title</a></li>";
}
echo "</ol>";
?>
Diesen habe ich vor ganz langer Zeit mal aus dem Netz geholt und immer wieder verwendet. Leider weiß ich nicht mehr woher…
Im Idealfall werden nun die Nachrichten in der Reihenfolge ihres Erscheinens ausgegeben. Um sie zu formatieren verwende ich Attribut-Selektoren der Form: a[href ^='http://twitter … Wenn also ein Link mit Attribut href auftritt, dessen Wert mit »http://twitter« beginnt, greift die entsprechende Regel. Das sieht in meinem Stream dann z.B. so aus:
a[href ^='http://twitter'], a[href ^='http://twitter']:visited {
background: #B3ECEF url(images/twitter.png) no-repeat 10px 50% !important;
color: #111 !important;
}
Das bewirkt, dass eine spezielle Hintergrundfarbe, das Twitter-Favicon und eine spezielle Schriftfarbe zugewiesen werden. Diese Formatierungen müssen nun für alle eingebundenen Dienste definiert werden und fertig ist der Stream.
Hinweise
Achtung bei Feedburner-Umlenkungen. Hier werden nicht die ursprünglichen Adressen sondern die Feedburner-URLs verwendet. Wer ein del.icio.us-Feed einbindet, wird merken, dass del.icio.us keinerlei Hinweise im Feed hinterlässt. Ich habe deshalb die del.icio.us Formatierung zum Standrad gemacht. Das heisst, alle Links, die nicht gesondert über Attribut-Selektoren angesprochen werden, werden als del.icio.us formatiert. Wer Yahoo! Pipes verwendet, sollte das zusammengestellte Feed für dem Output nach »item.pubDate« absteigend sortieren lassen.
Update: Simplepie Version
In den Kommentaren hat Thomas die Nutzung von SimplePie anstelle von Magpie vorgeschlagen. Der Vorteil: Es ist nicht nötig, die Feeds extern zu kombinieren. Außerdem ist SimplePie hervorragend dokumentiert. Die aktuelle Version nutzt denn auch SimplePie. Es gibt zwei gute Tutorials, die jeder lesen sollte, der so einen Stream basteln möchte: Sort multiple feeds by time and date und Use Relative Dates.
Weiterführende Links
- 150 items / lifestream / Manuela Hoffmann
- Pownce Diskussion
- Pownce Umfrage
- lifestreamblog mit Tipps und Beispielen
Viel Spaß!
Werbeunterbrechung
Kommentare und Feedback (25)
Folgende Seiten verweisen auf diesen Beitrag
Werbung
Vorheriger Artikel: Haltet mir einen Platz frei!, nächster Artikel: Sozial browsen 0.9 mit Flock
12.07.2007, 13:24
Danke für das Tutorial. Ich freu mich schon darauf es im Laufe der nächsten Woche zu testen.
Hier noch ein Screenshot zu deinem Hinweise, wie die Feeds nach Datum sortiert werden:
Link
12.07.2007, 13:39
Ich empfehle ja seit geraumer Zeit nicht mehr MagPie, sondern SimplePie. Hat den einfachen Grund, dass SimplePie mehr kann und weiter entwickelt ist und wird … Magpie ist eingeschlafen (Vgl. Versionen: Magpie vom November 2005, SimplePie ist in seiner aktuellen Beta gerade einmal ein paar Tage alt).
12.07.2007, 14:03
Schickes Tutorial! Danke für die Mühe.
12.07.2007, 14:24
Sehr schön, danke Manuela! Thomas, ich wollte ebenfalls vorschlagen SimplePie zu verwenden. Demnächst soll auch eine Version veröffentlicht werden, welche nicht auf PHP angewiesen ist. Dann wird es noch spannender!
12.07.2007, 15:54
Schöner Beitrag! Meine Diplomarbeit geht genau in diese Richtung. Ich setzte aber noch eins drauf: ich stelle zusätzlich über die Tags, Hyperlinks und Textanalyse semantische Verbindungen her. z.B: welches Foto wurde wo geschossen und gehört zu welchem Video und oder welcher Bookmark wurde wann im welchem Blogposting erwähnt.
Dies wird anschließend über Tags sowie zeitlich, örtlich visualisiert und ermöglicht weitere Untersuchungen auf Data Clustering, Userbehavior o.ä.
Zudem aggregiere ich die Daten nicht nur über Feeds sondern auch teilw. via APIs was effektiver ist. Bei Interesse mal vorbei schauen: http://www.videntity.de
12.07.2007, 17:29
Ganz einfache Frage: Wozu?
12.07.2007, 17:35
Ganz einfache Antwort: Weil es Spaß macht, mal was anderes zu machen :-).
Und damit neue Wege zu beschreiten und Ideen zu finden, die man dann wiederum woanders mal brauchen kann …
Zu SimplePie: Vielen Dank für den Hinweis. Magpie hatte ich schon ewig auf Server, auch RSS Combiner verwendet es. Aber ich werde mir SimplePie ansehen. Schaut viel versprechend aus!
12.07.2007, 20:13
WOZU ist eine gute Frage!
12.07.2007, 20:21
Danke, tolle Idee! Bastel ich mir auch. :-)
12.07.2007, 21:51
Oh man…
Muss anderen Menschen wirklich jeden Husten mitteilen? :-/12.07.2007, 22:06
Hallo,
die Idee find ich spitze… allerdings hat das verwendete PHP noch ein paar Ecken und Kanten.
Ich würde z.B diese Zeile:
$title = $item[“title”];
durch diese ersetzen:
$title = htmlentities(utf8_decode($item[“title”]));
Da es ansonsten Probleme mit den Sonderzeichen gibt.
12.07.2007, 22:10
@Sebastian: Wer was wann veröffentlicht entscheidet jeder selbst. Wenn man wie ich sieben Blogs, ein paar Bilder und Bookmarks hat, kommt da ganz gut was zusammen, was gar nicht privat ist.
@Martin: Danke Dir!
12.07.2007, 23:12
Speziell die Deutschen sind immer so rational. Warum braucht man Gravatare, warum zeigt man anderen Fotos, warum dies, warum das? Braucht man doch alles nicht. Manchmal kann man auch einfach machen und gut. Der eine mags, der andere nicht.
An der Lifestream-Geschichte interessiert mich primär eigentlich eher die Umsetzung und die Gestaltung (da sind schöne Sachen denkbar), als der Inhalt. ;-)
13.07.2007, 00:28
Oh nice, sowas wollte ich mir auch mal zusammenbasteln
13.07.2007, 10:06
Aber hallo ist das geil.
13.07.2007, 14:22
Danke für die Anleitung! Genial! Bin gerade mittels SimplePie die Geschichte am nachbauen.
14.07.2007, 14:53
Ich finde es irgendwie interessant wie freizügig die meisten Menschen werden. Das betrifft jetzt sicherlich nicht jeden Streamanbieter/-nutzer, aber seit Web 2.0 so angesagt ist, scheint es die meisten nicht mehr zu interessieren wieviel sie anderen gegenüber preisgeben. Und wehe es schreit dann nochmal einer von denen was von Datenschutz usw.
Aber letztendlich muss jeder selbst wissen was er anderen zugänglich macht :D
14.07.2007, 15:13
Wie freizügig die meisten »Blogger« werden ;-). Durch RSS ist das eine ganz andere Herangehensweise an den Umgang mit Informationen. Dabei sollte man aber nicht außer Acht lassen, dass Dienste wie Flickr, del.icio.us und Pownce z.B. es einem ja ermöglichen Privates von Öffentlichem zu trennen.
Bei einem solchen Stream interessiert mich persönlich die Umsetzung viel mehr als der Inhalt. Der ist eh bekannt :-).
14.07.2007, 19:35
Nett. Ich habe vor ‘ner Weile mal was in der Richtung gemacht, auf der Basis von SimpleXML.
22.07.2007, 15:05
Sehr schöner Stream. Ich hab mal versucht bei mir den SimplePie zu installieren aber leider bekomme ich nichts aggregiert. Auch nicht mit den Demoseiten von SimplePie :-(
25.07.2007, 23:32
Warum will ich sowas auch unbedingt? ;)
18.11.2007, 23:59
Hm, leider reichen meine PHP-Kenntnisse nicht, um RelativeDate in meinen LifeStream eingebaut zu bekommen, den ich mit dem SimplePie-WordPress-Plugin geschustert habe. Falls du mal wieder Lust auf ein Tutorial hast… ;-) Aber auf jeden Danke schon mal für die guten Anregungen.
28.11.2007, 14:52
Hier ist noch ein netter screencast für Simple Pie: http://simplepie.org/tutorials/introduction_to_simplepie.mov
15.02.2008, 16:35
Hallo Gemeinde,
kann man eigentlich auch mit SimplePie in Kombination mit Wordpress die Inhalte aus den RSS-Feeds in die Blog-Page einbinden, die News jedoch vor Veröffentlichung prüfen und ggf. editieren und mit eigenen Posts aus anderen Quellen (nicht Feeds) manuell ergänzen?
Wäre dankbar für einen kurzen Hinweis, bevor ich mich ans Basteln mache…
19.04.2008, 23:34
Da ich mich aktuell gerade mit dem Thema intensiver beschäftige, möchte ich euch mal http://www.sweetcron.com vorstellen. Momentan ist es wohl noch in der Entwicklung, was ich aber auf der Demoseite (http://www.yongfook.com) gesehen habe, ist echt vielversprechend.