From Facebook's newsfeed to Twitter's relentless real-time updates, the metaphor of the "stream" has taken social networking beyond blog posts and on to rich social activities. Learn about ActivityStrea.ms - the open format adopted by Facebook, MySpace, and Windows Live - and how it's fundamentally changing the social web.
http://my.sxsw.com/events/event/400
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
ActivityStrea.ms: Is It Getting Streamy In Here?
1. A ivityStreams
Chris Messina • South by Southwest • Austin, TX • March 13, 2010
From Facebook's newsfeed to Twitter's relentless real-time updates, the metaphor of the
"stream" has taken social networking beyond blog posts and on to rich social activities. Learn
about ActivityStrea.ms - the open format adopted by Facebook, MySpace, and Windows Live -
and how it's fundamentally changing the social web.
2. @chris.messina
buzz.google.com/chrismessina
@chrismessina
#gettingstreamy
Hello.
Here are some useful coordinates before we begin: chris.messina on Buzz; chrismessina on
Twitter.
The hashtag is #gettingstreamy
3. Other coordinates — where you might know me from...
i’ve been involved in several communities and efforts online... microformats, barcamp,
coworking... helped to create hashtags in 2007.
4. Other coordinates — where you might know me from...
i’ve been involved in several communities and efforts online... microformats, barcamp,
coworking... helped to create hashtags in 2007.
5. but I NOW work for Google, the Don’t Be Evil ...[click]
7. No really, it’s not that bad. And in fact, there’s a great deal of good that Google is doing.
[click]
8. efforts like the Data Liberation Front are leading the way in making sure that, as Google
grows, you always have a choice in how to get your data out!
9. “GENERATIVE STRUCTURES”
University of Winnipeg
Enough about Google. I bring these things up because they provide some context for the
ActivityStreams effort.
Generally I’m interested in generative systems... rhizomatic information structures...
10. ...like the ones that Jonathan Zittrain wrote about in his book “The End of the Internet (and
how to stop it)”. And the design of web is one that fundamentally supports generativety —
but we must work to ensure that that remains true.
11. And so ActivityStreams is the latest effort that I’ve worked on that will hopefully build upon
what’s come before — and lead to a new wave of generative applications...!
12. THIS IS YOUR ACTIVITY STREAM
AND IT’S ENDING ONE SECOND
AT A TIME...
...but, let’s talk about activitystreams. What do I mean by ActivityStreams?
13. surely you’re familiar with the facebook newsfeed.
well, that’s just the tip of the iceberg. it represents the data that is currently available to
digital systems, not the data that hasn’t yet been digitized.
14. huh?
well, let’s go back to 1999 for a glimse at an early activitystream — before they even knew
this would someday be possible.
15. that augmented reality view is of ed norton’s purchase stream — an activity stream in its own
right.
and you know what the data format is?
16. that augmented reality view is of ed norton’s purchase stream — an activity stream in its own
right.
and you know what the data format is?
18. so here’s how he bought this stuff. you all know what this is.
yes, a synthetic form of identity that happens to be connected to a financial instrument’s
backend.
19. so here’s how he bought this stuff. you all know what this is.
yes, a synthetic form of identity that happens to be connected to a financial instrument’s
backend.
21. whip out the card... boom, another set of activities lodged in your payment lifestream.
22. whip out the card... boom, another set of activities lodged in your payment lifestream.
23.
24. the problem is this....
when you go to retrieve that data in order to do something useful with it (like visualizing your
purchases as an ARG overlay on your living room)... [click]
25. you can’t. or at least it’s not all that easy.
maybe you’ll get a bunch of PDFs.
26. which makes it very hard FOR US to do anything interesting with all data.
as it happens, this is exactly where we are today with social networks.
27. which is why this kind of newsfeed seems to be the current “state of the art”
28. A BRIEF HISTORY OF FEEDS
But, in order to understand where we’re going with the work that we’re doing now, you need
to understand where feeds came from, and why they are the way they are.
29. 1999
RSS 0.9 was introduced in 1999 by Netscape as a content-gathering mechanism for My
Netscape Network (MNN) back when portals were all the rage (pre-social networks).
By providing a simple snapshot-in-a-document, web site producers acquired audience
through the presence of their content on My Netscape.
30. so, you’d have someone like the NYTimes wanting to grow their online audience...
31. ...and they’d use RSS to get their content into the Netscape portal.
32. Copyright 2000 ZWave, LLC
...and they’d use RSS to get their content into the Netscape portal.
33. RSS
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<item>
<title>When Will Location-Based Coupons Take Off?</title>
<link>http://bits.blogs.nytimes.com/2010/03/12/when-will-
location-based-mobile-coupons-take-off/</link>
<pubDate>Fri, 12 Mar 2010 21:38:26 +0000</pubDate>
<creator>By CLAIRE CAIN MILLER</creator>
<description>
People want to receive location-based cellphone coupons,
but most have not, according to a Web analytics firm.
</description>
</item>
</channel>
</rss>
RSS looks like this.
34. RSS
title + link + description
the only mandatory fields in RSS are title, link, and description — which makes it an
extremely flexible format. The only problem is that aggregators have to do a lot of
guesswork about what’s in it.
this was complicated by the various flavors of RSS (0.9, 0.91, 0.92, 0.93, 2.0 et al)
35. 2005
this in 2005, a group of people got together to create a “better specified” syndication format
called Atom.
36. ATOM
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<entry>
<title>When Will Location-Based Coupons Take Off?</title>
<link rel=”alternate”>http://bits.blogs.nytimes.com/2010/03/12/when-will-
location-based-mobile-coupons-take-off/</link>
<id>urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6</id>
<updated>Fri, 12 Mar 2010 21:38:26 +0000</updated>
<author>
<name>By CLAIRE CAIN MILLER</name>
</author>
<summary>
People want to receive location-based cellphone coupons,
but most have not, according to a Web analytics firm.
</summary>
</entry>
</feed>
here’s what ATOM looks like.
37. ATOM
title + link + summary +
author + id + updated
so, in five years, the required elements of RSS essentially doubled, and we now had a unique
way to identity a feed entry, the author, and when it was last changed.
38. even still, this format was really still designed for the case of syndicating ARTICLES into
PORTALS.
39. Copyright 2000 ZWave, LLC
even still, this format was really still designed for the case of syndicating ARTICLES into
PORTALS.
41. so, you take an article like this, turn it into RSS or ATOM...
42. so, you take an article like this, turn it into RSS or ATOM...
43. and the most interesting thing the browser can do for you is turn this rich and well designed
page into something like this... [click]
44. and the most interesting thing the browser can do for you is turn this rich and well designed
page into something like this... [click]
45. and now you know why the newsfeed looks like it does.
spot the similarity?
46. and now you know why the newsfeed looks like it does.
spot the similarity?
47. and yet we know that people are performing more and more activities online.
and yet, regardless of its type, sites only publish this information as RSS or Atom
48. so no matter what, to sites like Friendfeed, Facebook, or Google Buzz, all these activities all
look the same.
49. icons by Fast Icon
so how do you differentiate all these different feeds when you only have one basic format?
50. it’s like we’re back in the bank statement PDF hell!
isn’t it time we had a format as rich as people’s social activities are diverse?
51. THE FRIENDFEED PROBLEM
this is what I’ve called “The Friendfeed Problem” — but quickly this is becoming EVERYONE’s
problem.
how many of you have heard of or know about friendfeed?
52. well, FriendFeed let you add something like 58 services to your profile, basically using RSS.
pretty sweet, right?
53. well, it was, until they got acquired and stopped maintaining the service.
54. how do I know they stopped maintaining the service? Well, check it out.
these are the services that no longer exist, and yet are still “supported” by Friendfeed”
Here are the apps that aren’t listed, but should be. Their categories are here. But they’re not.
55. how do I know they stopped maintaining the service? Well, check it out.
these are the services that no longer exist, and yet are still “supported” by Friendfeed”
Here are the apps that aren’t listed, but should be. Their categories are here. But they’re not.
56. Foursquare?
Gowalla?
Google Buzz?
Cliqset?
Status.net?
Etc.
how do I know they stopped maintaining the service? Well, check it out.
these are the services that no longer exist, and yet are still “supported” by Friendfeed”
Here are the apps that aren’t listed, but should be. Their categories are here. But they’re not.
57. Logo collage by Stabilo Boss
This kind of approach just doesn’t scale over time because we know that most startups fail.
that’s just the nature of the game.
so pretend that you’re friendfeed in 2007 and you add support for each of these startups.
58. Logo collage by Meg Pickard
here’s what would have been left as May 2009. all that work for nothing. why waste your
time?
64. Tools
Subject Object Outcome
Vygotsky
Activity Theory was developed as a way of understanding and shaping a workforce, which was
of course a very soviet thing to do.
As such, Vygotsky’s activity theory was heavily centered on tool mediation and the
relationship of a single actor to an object or objective. The theory goes much deeper, but
from a lay perspective, this is where it all began.
65. Mediating Artefacts
Subject Goal Outcome
Rules Roles
Community
Yrjö Engeström, 1987
Fast-forward several decades, and the Scandanavians expanded Activity Theory by putting
the actor in the context of a community where there were social norms and roles at work.
This basic framework could help to explain social development, organization, culture, and
social systems at various scales and degrees of inspection.
66. Mediating Artefacts
Sense
Subject Goal Outcome
Meaning
Rules Roles
Community
Engeström, 1987
Curiously, by studying this model — and examing how goal achievement functions socially —
we begin to understand how meaning is made and cultural understanding grows.
So, if your goal is to actually produce meaning, knowledge, and understanding — you can
work within these constructs to motivate action.
67. Mediating Artefacts
Subject Goal Outcome
Rules Roles
Community
Engeström, 1987
...especially if you think about how roles, rules, and mediating artefacts (tools) all relate to
one another.
68. so, for example, if you’re designing a new app for the first time, think about how you can
manipulate the roles, rules, and tools that give you people to increase their interest, desire,
or motivation to make meaning using the system you build.
69. so, for example, if you’re designing a new app for the first time, think about how you can
manipulate the roles, rules, and tools that give you people to increase their interest, desire,
or motivation to make meaning using the system you build.
71. PEOPLE DON’T JUST
CONNECT TO EACH OTHER.
THEY CONNECT THROUGH A
SHARED OBJECT.
JYRI ENGESTRÖM
Following in his father’s footsteps, Jyri Engstrom proposed the notion of a “social object” as a
primary vehicle for social interaction.
72. A nice example of this idea is Katamari Damacy, a game where you control a character that
goes around collecting stuff by adhering it to its body.
this is not unlike the way that activities define who you are today.
indeed, as the game progresses, all these things that you collect come to define you and your
experience.
73. rating, add to playlist, favorite, share, copy the URL, flag, play, comment, reply by video
adding value to objects that are uploaded by users. that turns them into social objects.
74. add notes, tags, comments, favorite, add to galleries, add contact, interact with other
members...
but here’s a twist to Flickr’s approach...
75. Mediating Artefacts
Subject Goal Outcome
Rules Roles
Community
Yrjö Engeström, 1987
you take activity theory...
76. Mediating Artefacts
Subject Goal Outcome
Rules Roles
Community
Engeström, 1987
and focus on the mediating artefacts, rules, roles, and community — and you can understand
why Flickr works the way it does.
77. Mediating Artefacts
Subject Goal Outcome
Rules Roles
Community
Engeström, 1987
one thing that they’ve done rather well, is make it possible for the subject to manipulate the
rules of the Flickr environment.
78. and on Flickr, I can set the rules of engagement, making it possible for me to personalize my
experience, and focus on interactions that are more meaningful to me.
This becomes really important when designing social systems in order to avoid “surprises” as
we begin to collate these social objects into...
80. Well, it’s not actually a newsfeed.
It’s something a bit more ephemeral... [click]
81. MIRROR WORLDS (1991)
and comes to us from David Gelernter, a Professor of Computer Science at Yale
In 1991, he wrote Mirror Worlds, which foresaw the world wide web...
A decade later...[click]
82. THE SECOND COMING —
A MANIFESTO (2000)
Streams of Time
In June 2000, he published The Second Coming — a Manifesto, depicting 58 theses, and
describing “Lifestreams” for the first time in a section called “Streams Of Time”.
83. THE SECOND COMING —
A MANIFESTO (2000)
38 A "lifestream" organizes information not as a
file cabinet does but roughly as a mind does.
http://j.mp/gelernter
He said that “A "lifestream" organizes information not as a file cabinet does but roughly as a
mind does.”
84. THE SECOND COMING —
A MANIFESTO (2000)
39 A lifestream is a sequence of all kinds of
documents — all the electronic documents,
digital photos, applications, Web bookmarks,
rolodex cards, email messages and every
other digital information chunk in your life —
arranged from oldest to youngest, constantly
growing as new documents arrive, easy to
browse and search, with a past, present and
future, appearing on your screen as a
receding parade of index cards. Documents
have no names and there are no directories;
you retrieve elements by content: "Fifth
Avenue" yields a sub-stream of every
http://j.mp/gelernter document that mentions Fifth Avenue.
A lifestream is a sequence of all kinds of documents ... constantly growing as new documents
arrive, easy to browse and search, with a past, present and future. Documents have no names
and there are no directories; you retrieve elements by content: "Fifth Avenue" yields a sub-
stream of every document that mentions Fifth Avenue. <-- sounds like hashtags eh?
85. THE SECOND COMING —
A MANIFESTO (2000)
40 A stream flows because time flows, and the
stream is a concrete representation of time.
The "now" line divides past from future. If you
have a meeting at 10AM tomorow, you put a
reminder document in the future of your
stream, at 10AM tomorrow. It flows steadily
towards now. When now equals 10AM
tomorrow, the reminder leaps over the now
line and flows into the past. When you look at
the future of your stream you see your plans
and appointments, flowing steadily out of the
future into the present, then the past.
http://j.mp/gelernter
A stream flows because time flows, and the stream is a concrete representation of time. The
"now" line divides past from future. ... When you look at the future of your stream you see
your plans and appointments, flowing steadily out of the future into the present, then the
past.
86. DONNIE DARKO?
Found at BeyondHollywood.com
this remind anyone else of donnie darko? y’know, with the weird thread that directed donnie
around?
87. THE SECOND COMING —
A MANIFESTO (2000)
40 A stream flows because time flows, and the
stream is a concrete representation of time.
The "now" line divides past from future. If you
have a meeting at 10AM tomorow, you put a
reminder document in the future of your
stream, at 10AM tomorrow. It flows steadily
towards now. When now equals 10AM
tomorrow, the reminder leaps over the now
line and flows into the past. When you look at
the future of your stream you see your plans
and appointments, flowing steadily out of the
future into the present, then the past.
http://j.mp/gelernter
A stream flows because time flows, and the stream is a concrete representation of time. The
"now" line divides past from future. ... When you look at the future of your stream you see
your plans and appointments, flowing steadily out of the future into the present, then the
past.
90. MICROCONTENT GOODNESS
Jyri Engeström, 2009
People are increasingly ‘snacking’ on content... from tweets, to checkins, to statuscasting...
91. so historically, we go from longform content...
where authors made money based on the LENGTH of their manuscripts...
92. $
so historically, we go from longform content...
where authors made money based on the LENGTH of their manuscripts...
93. March 12, 2010, 4:38 PM
When Will Location-Based Mobile
Coupons Take Off?
By CLAIRE CAIN MILLER
to articles bundled in DAILY newspapers... where you’d get two dozen or so articles to meet
your daily needs for news and content...
94. When Will Location-Based Mobile
Coupons Take Off? http://nyti.ms/aYXUWY
March 12, 2010, 4:38 PM
clairecm
claire cain miller
to today, where all we seem to have time for is the title of these articles, such is our limited
attention and the ABUNDANCE of data being produced.
95. Jyri Engeström, 2009
as we have more and more information on the go, the form by which we experience it
invariably much change... but what is lost in the process? what do we gain?
but there is still data here... and from this data, we can derive meaning... and perhaps
improve our experiences and interaction with how we can consume snack sized content
through these lifestreams.
96. as we have more and more information on the go, the form by which we experience it
invariably much change... but what is lost in the process? what do we gain?
but there is still data here... and from this data, we can derive meaning... and perhaps
improve our experiences and interaction with how we can consume snack sized content
through these lifestreams.
97. how does this change our relationship to information — and our understanding of each other
— when this information becomes as abundant as Starbucks in NYC?
99. “ I can see a world where eventually my children will look back at
my Foursquare data and say: ‘This is Kevin’s history — this is
where he was on his birthday 10 years ago, and this was his
favourite place to eat.’ Building that profile throughout your
life and saving those locations — I think that’s huge.
”
Kevin Rose,
March 11, 2010
in fact, just last week Kevin Rose was quoted saying:
“I can see a world where eventually my children will look back at my Foursquare data and say:
‘This is Kevin’s history — this is where he was on his birthday 10 years ago, and this was his
favourite place to eat.’ Building that profile throughout your life and saving those locations —
I think that’s huge.”
100. SO WHAT?
these activity networks — fueld by activity data — can help increase understanding, and
improve decision making.
101. CRUMLISH & MALONE
When status updates first emerged in the context of instant
messenger programs, they were inherently fleeting,
temporally tied to the immediate moment and then discarded.
It really doesn’t make that much sense to keep an infinite log
of Available, Busy, Idle, Offline, and so on for the life of the
user or the application. But as other status-capturing
interfaces have evolved, the idea of at least maintaining a
stream of recent history and then possibly mixing status
reports with other snapshots of inline activity has taken hold
as a way of displaying presence.
When status updates first emerged in the context of instant messenger programs, they were
inherently fleeting, temporally tied to the immediate moment and then discarded. It really
doesn’t make that much sense to keep an infinite log of Available, Busy, Idle, Offline, and so
on for the life of the user or the application. But as other status-capturing interfaces have
evolved, the idea of at least maintaining a stream of recent history and then possibly mixing
status reports with other snapshots of inline activity has taken hold as a way of displaying
presence.
108. TUFTE + OBAMA
this is great to see obama tap someone like tufte to come in and help explain the stimulus,
but what if all stimulus money recipients had to provide semantic activitystreams of where
they spent their money?
109. y’know, so we can finally leave the era of the PDF-era activity stream behind!
110. y’know, so we can finally leave the era of the PDF-era activity stream behind!
116. ATOM
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<entry>
<title>...</title>
<link rel=”alternate”>...</link>
<id>...</id>
<updated>...</updated>
<author>
<name>...</name>
</author>
<summary>
...
</summary>
</entry>
</feed>
well, let’s take your typical Atom feed...
117. ATOM
title + link + summary +
author + id + updated
remember that the foundation of Atom is title, link, summary, author, id, and the updated
time.
118. ATOM+ACTIVITYSTREAMS
title + link + summary +
author + id + updated
+ verb + object-type + target
now add verb, object-type, and target
120. ATOM+ACTIVITYSTREAMS
<?xml version="1.0" encoding="utf-8"?>
xmlns:activity="http://activitystrea.ms/spec/1.0/"
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:activity="http://activitystrea.ms/spec/1.0/">
<entry>
<title>...</title>
<link rel=”alternate”>...</link>
<id>...</id>
<updated>...</updated>
<author>
<activity:object-type>http://activitystrea.ms/schema/1.0/person</activity:object-type>
<name>...</name>
</author>
<activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
<activity:object>
<activity:object-type>http://activitystrea.ms/schema/1.0/note</activity:object-type>
<content type=”html”>
...
</content>
</activity:object>
</entry>
</feed>
here are the new parts.
121. ATOM+ACTIVITYSTREAMS
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:activity="http://activitystrea.ms/spec/1.0/">
<entry>
<title>...</title>
<link rel=”alternate”>...</link>
<id>...</id>
<updated>...</updated>
<author>
person
<activity:object-type>http://activitystrea.ms/schema/1.0/person</activity:object-type>
<name>...</name>
</author>
post
<activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
<activity:object>
note
<activity:object-type>http://activitystrea.ms/schema/1.0/note</activity:object-type>
<content type=”html”>
...
</content>
</activity:object>
</entry>
</feed>
so, see what this adds for the aggregator?
as the most basic example, we’re essentially telling the aggregator that a person posted a
note.
122. VERBS &
OBJECTS
and to begin with, we already support a dozen verbs and several well-known objects.
123. VERBS & Add Friend Article
OBJECTS Favorite
Follow
Audio
Bookmark
Like Comment
Join File
Play Folder
Post Group
Save List
Share Note
Tag Person
Update Photo
Photo Album
Place
Playlist
Product
Review
Service
Status
Video
and to begin with, we already support a dozen verbs and several well-known objects.
124. VERBS & Add Friend Article
OBJECTS Favorite
Follow
Audio
Bookmark
Like Comment
Join File
v0.8 Play Folder
Post Group
Save List
Share Note
Tag Person
Update Photo
Photo Album
Place
Playlist
Product
Review
Service
Status
Video
and to begin with, we already support a dozen verbs and several well-known objects.
125. PROCESS
and the process for extending the core schema? well’s it’s pretty simple... and based on the
microformats process.
126. PROCESS
1. Ask why.
and the process for extending the core schema? well’s it’s pretty simple... and based on the
microformats process.
127. PROCESS
1. Ask why.
2. Do your homework
and the process for extending the core schema? well’s it’s pretty simple... and based on the
microformats process.
128. PROCESS
1. Ask why.
2. Do your homework
3. Propose
and the process for extending the core schema? well’s it’s pretty simple... and based on the
microformats process.
129. PROCESS
1. Ask why.
2. Do your homework
3. Propose
4. Iterate
and the process for extending the core schema? well’s it’s pretty simple... and based on the
microformats process.
130. PROCESS
1. Ask why.
2. Do your homework
3. Propose
4. Iterate
5. Interoperate
and the process for extending the core schema? well’s it’s pretty simple... and based on the
microformats process.
133. THANKS
monica, rob, mart atkins, dave recordon, steve ivy, james walker, todd barnard, darren
bounds, john mcrea, john panzer, joseph smarr, the activitystreams community