activity-streams
From DiSo wiki
Activity streams, lifestreams or newsfeeds (in Facebook jargon) are aggregated lists of events or actions that a single user or group of people took, often across varied and distributed contexts.
Contents |
Examples
Markup samples
FriendFeed
<div class="summary"><a class="friend" href="/factoryjoe">Chris Messina</a> published three photos on <a href="http://www.flickr.com/photos/25419820%40N00/">Flickr</a></div>
<div id="div_title_545290421" class="header_container clearfix"><h2 class="feed_story_header"><a href="http://www.facebook.com/profile.php?id=507716697&ref=nf">Curtis James Healy</a> is attending <a href="http://www.facebook.com/event.php?eid=30140523272&ref=nf">IRON MAN</a>.</h2></div>
socialthing!
<td class="StreamBody">
<span class="bold StreamName">
Rachel Neumeister
</span>
posted 12 new photos to
<a target="_blank" href="http://www.facebook.com/album.php?aid=7057&id=502295491">I have Awesome Friends</a>
...snip...
Publishing Activity Streams
The typical approach for aggregating and publishing activity streams requires that you first pull together the various feeds and sources that you want aggregated, and then adding them, one at a time, to a feed parsing engine that can intermingle each activity, typically in reverse chronological order.
Plugins
- wp-lifestream by Eliiott Back
- SimpleLife by Kieran Delaney (about)
- Mini-feed for WordPress by singpolyma
- Action Streams for Movable Type by Mark Paschall, Six Apart
- DiSo Actionstream for WordPress by singpolyma
Markup
- the microformats wiki suggests marking up activity streams with both hAtom and hCalendar;
- it is possibly to more semantic describe the activities themselves and is worth further investigation (consider hAudio, xFolk, etc)
- XOXO also works well for more generic/arbitrary data singpolyma 19:06, 15 December 2007 (PST)
- Straight RSS is probably also useful since existing aggregation solutions support this directly singpolyma 19:06, 15 December 2007 (PST)
DiSo Callback Activities
- when signing in to a relying party, a callback could be registered such that activities taken on the relying party are recorded by the identity provider
- OpenSocial achieves this by creating atom entries.
- XMPP Extensions: There are a couple of XEPs (XMPP Extension Protocols) defining a general mechanism for, and specific formats for, publishing activity streams:
- Publish/Subscribe -- general framework for publishing content to a group of authorized nodes, and for subscribing to a node's updates
- This requires server ("Registrar") support: http://www.xmpp.org/extensions/xep-0060.html#registrar
- Woot there it is: http://www.ejabberd.im/features
- Personal Eventing via PubSub -- the "meat" of activity streams - lets a user push out updates on their "events" - activities, etc.
- User Activities -- various activity definitions
- These would not be trivial to implement, but perhaps the OpenContacts guys have some input?
- Publish/Subscribe -- general framework for publishing content to a group of authorized nodes, and for subscribing to a node's updates











