Activity Streams for DiSo

0 views
Skip to first unread message

Chris Messina

unread,
Dec 15, 2007, 9:21:51 PM12/15/07
to diso-project
One of the things that I think is critical for DiSo to work on is the
distribution of activity streams (aka lifestreams or newsfeeds). As
Marshall Kirkpatrick called them [1], these "Standards Based Nerve
Centers" or "Open Aggregators" (Dave Recordon) potentially provide the
value of DiSo, harvesting activities from across the web, from friends
but also from our own actions, and, with some work, can begin to
provide some smarts in terms of "accelerating serendipity" —
introducing us to new people or to interesting things that we might
not otherwise have come upon.

Activity streams are really comprised of two things at their core: an
actor and the acted upon object. For example:

"Chris listened to Smells like Teen Spirit."
"Chris blogged about DiSo."
"Chris added Steve as a friend."

These simple, atomic activities are easy to quantify as they're being
done, and it seems to me that that's where our opportunity lies.

Essentially, at the point of OpenID signin, a callback path could be
registered to harvest or collect these actions from the relying
party... all the relying party has to do is report back to the IdP
what action took place by whom, and what or who was involved.

If we, as a group, can further define the embeddable semantics for
these activity streams, I think we'll be moving very quickly towards
some interesting outcomes.

Taking these examples above, we might end up with (pseudo-code):

"At <abbr>5:10pm</abbr>, <hcard>Chris</hcard> listened to
<haudio>Smells like Teen Spirit</haudio>."
"<hentry><entry-date>At <abbr>5:15pm</abbr></entry-date>,
<entry-meta><hcard class="author">Chris</hcard></entry-meta> blogged
about <a href="link.html" class="entry-title"
rel="bookmark">DiSo</a>.</hentry>"
"At <abbr>6:30pm</abbr>, <hcard>Chris</hcard> added <hcard><a
rel="friend">Steve</a></hcard> as a friend."

And so on.

I've begun conducting research on current activity streams and would
like to start by defining common objects, common actions and perhaps
begin assessing the roles that these streams play in a site. Clearly
they're central to the Facebook experience, and that's fine when 1)
the data is extremely tightly packed and 2) the data you're pulling in
is both meaningful and useful (many activity streams seem full of
semi-useless or redundant information; is it possible to merge similar
data together, again like Facebook, to make the chunking of similar
information richer?).

http://diso-project.org/wiki/index.php?title=activity-streams

Thoughts?

Chris

[1] http://www.readwriteweb.com/archives/lifestreams.php

--
Chris Messina
Citizen-Participant &
Open Source Advocate-at-Large
Work: http://citizenagency.com
Blog: http://factoryjoe.com/blog
Cell: 412.225.1051
IM: factoryjoe
This email is: [ ] bloggable [X] ask first [ ] private

Stephen Paul Weber

unread,
Dec 15, 2007, 9:58:45 PM12/15/07
to diso-p...@googlegroups.com
My home page <http://singpolyma.net/> has an activity stream of me
across the web, powered by a wordpress plugin that i hope to release
soon. Incidentally, the plugin will also function standalone without
wp if needed.

<http://spokeo.com/> makes a great aggregator of this sort of data
from friends (works with RSS, plugin generates RSS)

Just some of what I've been thinking in this area lately :)

--
- Stephen Paul Weber, Amateur Writer
<http://www.awriterz.org>

MSN/GTalk/Jabber: singp...@gmail.com
ICQ/AIM: 103332966
BLOG: http://singpolyma.net/

Chris Messina

unread,
Dec 15, 2007, 10:12:03 PM12/15/07
to diso-p...@googlegroups.com
Cool! Meanwhile, I found this post that has a good list of profile aggregators:

http://thepaisano.wordpress.com/2007/12/15/identity-crisis/

I think these sites prove why re-siloing information is a bad idea...
it just multiplies the problem! In theory, maybe a it makes sense, but
in reality, I dunno. It just seems to me that social networks all
speak a consistent language (at least with the basics) then you should
be able to run your own site and do with it as you want...
SocialURL.com might have been the closest to where you might get with
the re-silo approach, but even it left me like... "okay, I don't get
it."

I think it's important to remember that the majority of connecting
with other people is about facilitating communication; if anything,
it's figuring out how to make those one-to-one connections happen more
easily, and yet more security, that I think this
user-centric/citizen-centric approach is all about.

Chris

Stephen Paul Weber

unread,
Dec 15, 2007, 10:14:28 PM12/15/07
to diso-p...@googlegroups.com
I see the aggregators like spokeo as RSS readers for the social web --
RSS isn't evil or less open because of the proliferation of readers.

Chris Messina

unread,
Dec 15, 2007, 10:38:17 PM12/15/07
to diso-p...@googlegroups.com
No, but RSS readers still put a great deal of control and choice into
the hands of the individual.

The issue I see with a lot of the social network aggregators is how
much more work they have to do to get basic activity streams to work
-- and when they finally get it -- mostly by scraping -- they're like
TADA! And it's like... "big deal".

Unfortunately it's hard work just to get the basics covered; since
we're working on this with open tools and using open formats, my hope
is that we can get beyond what is passable today and actually make
things better than just aggregating... I want to better engineer the
social experience through decentralization and distribution.

Chris

Chris Messina

unread,
Dec 15, 2007, 11:08:11 PM12/15/07
to DiSo Project
I might also add that our work on permissioning using OAuth tokens
fits directly into this work, as you might only want to make
*portions* of your activity stream available to different parties,
services or friends...

Chris

On Dec 15, 7:38 pm, "Chris Messina" <chris.mess...@gmail.com> wrote:
> No, but RSS readers still put a great deal of control and choice into
> the hands of the individual.
>
> The issue I see with a lot of the social network aggregators is how
> much more work they have to do to get basic activity streams to work
> -- and when they finally get it -- mostly by scraping -- they're like
> TADA! And it's like... "big deal".
>
> Unfortunately it's hard work just to get the basics covered; since
> we're working on this with open tools and using open formats, my hope
> is that we can get beyond what is passable today and actually make
> things better than just aggregating... I want to better engineer the
> social experience through decentralization and distribution.
>
> Chris
>
> On Dec 15, 2007 7:14 PM, Stephen Paul Weber <singpol...@gmail.com> wrote:
>
>
>
> > I see the aggregators like spokeo as RSS readers for the social web --
> > RSS isn't evil or less open because of the proliferation of readers.
>
> > On Dec 15, 2007 10:12 PM, Chris Messina <chris.mess...@gmail.com> wrote:
> > > Cool! Meanwhile, I found this post that has a good list of profile aggregators:
>
> > >http://thepaisano.wordpress.com/2007/12/15/identity-crisis/
>
> > > I think these sites prove why re-siloing information is a bad idea...
> > > it just multiplies the problem! In theory, maybe a it makes sense, but
> > > in reality, I dunno. It just seems to me that social networks all
> > > speak a consistent language (at least with the basics) then you should
> > > be able to run your own site and do with it as you want...
> > > SocialURL.com might have been the closest to where you might get with
> > > the re-silo approach, but even it left me like... "okay, I don't get
> > > it."
>
> > > I think it's important to remember that the majority of connecting
> > > with other people is about facilitating communication; if anything,
> > > it's figuring out how to make those one-to-one connections happen more
> > > easily, and yet more security, that I think this
> > > user-centric/citizen-centric approach is all about.
>
> > > Chris
>
> > > On Dec 15, 2007 6:58 PM, Stephen Paul Weber <singpol...@gmail.com> wrote:
> > > > My home page <http://singpolyma.net/> has an activity stream of me
> > > > across the web, powered by a wordpress plugin that i hope to release
> > > > soon.  Incidentally, the plugin will also function standalone without
> > > > wp if needed.
>
> > > > <http://spokeo.com/> makes a great aggregator of this sort of data
> > > > from friends (works with RSS, plugin generates RSS)
>
> > > > Just some of what I've been thinking in this area lately :)
>
> > > > MSN/GTalk/Jabber: singpol...@gmail.com
> > > > ICQ/AIM: 103332966
> > > > BLOG:http://singpolyma.net/
>
> > > --
>
> > > Chris Messina
> > > Citizen-Participant &
> > >   Open Source Advocate-at-Large
> > > Work:http://citizenagency.com
> > > Blog:http://factoryjoe.com/blog
> > > Cell: 412.225.1051
> > > IM: factoryjoe
> > > This email is:   [ ] bloggable    [X] ask first   [ ] private
>
> > --
> > - Stephen Paul Weber, Amateur Writer
> > <http://www.awriterz.org>
>
> > MSN/GTalk/Jabber: singpol...@gmail.com

James D Kirk

unread,
Dec 16, 2007, 12:30:03 AM12/16/07
to DiSo Project
Please correct me if I'm misunderstanding XRDS, however can't Resource
Descriptors be a part of this conversation? At least from the
perspective of those with the data that is getting contacted when
someone uses their OpenID (or other) login credentials.

James.

Chris Messina

unread,
Dec 16, 2007, 12:31:35 AM12/16/07
to diso-p...@googlegroups.com
Of course, especially since we're basing OAuth Discovery on XRDS
documents since OpenID already uses them.

Permissions is outside the scope of XRDS however, which is where OAuth comes in.

Chris

--

Stephen Paul Weber

unread,
Dec 16, 2007, 12:32:41 AM12/16/07
to diso-p...@googlegroups.com
Finished the first draft of the minifeed plugin that I use - no time
to package it tonight but a download will be up to look at tomorrow or
monday if anyone is interested :)

James D Kirk

unread,
Dec 16, 2007, 12:59:39 PM12/16/07
to DiSo Project
Will be interesting to see!

James.l

Stephen Paul Weber

unread,
Dec 16, 2007, 3:08:44 PM12/16/07
to diso-p...@googlegroups.com
Released <http://singpolyma.net/plugins/mini-feed/> :)
To see it in action, see <http://singpolyma.net/>

Output is XOXO and hAtom (but not XOXO Blog Format, for anyone who may
know wy work on that). Other things are done in a POSH way as much as
possible, but certainly open to suggestions. It also generates an
RSS2.0 feed.


On Dec 16, 2007 12:59 PM, James D Kirk <james...@gmail.com> wrote:
>
> Will be interesting to see!
>
> James.l
>
> >
>

--

Dan Weinand

unread,
Dec 16, 2007, 3:43:56 PM12/16/07
to diso-p...@googlegroups.com
There actually appear to be two distinct issues here, format, and process.

A standard format for activity streams--using microformats, or a new
atom-based format--would take much of the work out of a social
aggregator and make it significantly easier to just get the basics.
However, it require existing social sites to specifically support the
new format, or at the very least have some compatibility layer for
each site. Ultimately, this seems like an achievable goal and one that
will be beneficial regardless of the process question.

On the other hand, you have the process issue. How are a users
activities collected and redistributed as a single feed.

Current social aggregators--like all rss/atom aggregators--use the
pull model. They query each site's feed on a periodic basis looking
for updates. The benefit of this model is that any number of
aggregators could be subscribed to the same feed, and the site
providing that feed doesn't really need to know much of anything about
them. The downside is that you have the potential of wasting a lot of
energy on the aggregator side. If I as a user only use a site on an
infrequent basis, then most of the time the aggregator is checking for
updates is unnecessary. This could be mitigated by checking different
site at different intervals, but that introduces a great deal more
complexity for the end-user. This problem increases as a user adds
more sites, and has the potential to increase exponentially in a
multi-user environment. In general, there's a reason Facebook doesn't
allow always-on rss aggregation in their application platform.

The second approach is using a push model, such as providing a
callback url as Chris suggested. The obvious benefit is that if a user
is completely inactive, nothing happens. The major drawback, is that
you're putting an additional requirement on to existing social sites.
You're also introducing new permission issues--facebook's beacon
provided a clear example of potential issues--although I'm hopeful
that OAuth will mitigate those concerns. One technical question that
would need to be answered is how to handle failures. If I upload a
photo to flickr, and flickr in turn tries to create an entry in my
activity feed, what happens if the site it is posting to is
unreachable or otherwise fails to complete the process. Should it
simply fail silently? Alert the user? Try again for some period of
time in case it was a momentary issue? In any case, if the problem is
resolved is there any mechanism to get "lost" activity messages into
my feed?

There's also the question of whether or not site-specific activity
feeds should be accessible independently of the aggregated feed, which
could have an impact on the appropriateness of each model.

I could potentially see it working out either way, but we'll need to
be mindful of the drawbacks in whatever we choose.

--
Dan Weinand

Dan Weinand

unread,
Dec 16, 2007, 3:43:58 PM12/16/07
to diso-p...@googlegroups.com

--
Dan Weinand

jeremi joslin

unread,
Dec 16, 2007, 6:31:11 PM12/16/07
to diso-p...@googlegroups.com
Maybe on the hcard we need more information about the user such as his openID
or something to identify him. I would also like to be able to click on his name
to see his profile. or for example if the activity entry is about an
event, i would
like to be able to click on it to access to the event page.

I think more we explicit the information in the lifestream more it's
easy for the consumer application to merge similar data.

we can have somethig like :


"<hentry><entry-date>At <abbr>5:15pm</abbr></entry-date>,

<entry-meta><hcard class="author"><a href="http://www.factoryjoe.com"
class="url fn">Chris</a></hcard></entry-meta> <span
class="action-name">blogged
about</span> <a href="link.html" class="entry-title"


rel="bookmark">DiSo</a>.</hentry>"

Also do we limit the size of the entry? Open social seems to limit the
title to 140 characters?
Can we also publish images ?

Regards,
Jérémi

Stephen Paul Weber

unread,
Dec 16, 2007, 7:10:24 PM12/16/07
to diso-p...@googlegroups.com
class=uid is the hCard way to identify a person's "main" URL

--

jeremi joslin

unread,
Dec 17, 2007, 7:46:59 AM12/17/07
to diso-p...@googlegroups.com
ok,
Is this uid has to be an OpenID in the case of DiSo?

> > J�r�mi

Joseph Holsten

unread,
Dec 17, 2007, 11:12:44 AM12/17/07
to diso-p...@googlegroups.com
That reminds me, is there a good name for uri/xri identifiers,
including LID, DIX, OpenID, inames, and everyone else who plays nice?

Joseph Holsten

Reply all
Reply to author
Forward
0 new messages