Upload
chris-messina
View
11.881
Download
0
Tags:
Embed Size (px)
DESCRIPTION
A talk I gave at Facebook about Activity Streams. http://activitystrea.ms
Citation preview
Activity Streams
Chris Messina
Internal meetingJanuary 29, 2009 ☕ Facebook, Palo Alto, CA
“Lifestreaming”
Today
• Last.fm
• Jaiku
• Facebook newsfeed
• FriendFeed
• etc.
The challenge
• Develop a format for expressing activities
• Compelling experiences from activity feeds
• The zero-knowledge test
• etc.
FriendFeed Services
The Benefits• Staying in touch across the web
• An open, emergent ecosystem of activities
• Filtering, search, automation & stats
• Optimal, compelling, custom experiences
• Coalescing, merging, de-duping
• etc.
Examples
last.fm
sweetcron (yongfook.com)
FriendFeed
boxee.tv
Movable Type Motion
Eventbox
Anatomy of an activity
Actor verb object [context]
factoryjoe tweeted Niches Bitches! [via SMS]
Actor verb object {indirect object} [context]
Chris bought Planet Earth {for Brynn} [at Amazon.com]
Activities on the Social Web
I visit davidrecordon.com
I decide I want to follow his activities
Sign in to follow Dave!
I sign in with my OpenID
Before I’m sent back, I’m asked whether I want to follow Dave
Dave RecordonWorst username evar.San Francisco, CAdavidrecordon.com
Contact detailsStatus updatesPhotosBookmarksBlogs
daveman692Six Apart
LocationMusicMoviesSlide presentationsEventsTravelLocal reviewsBooks
Add subscriptions
Your message (optional)Hi there! We met that conference last week. I’ve subscribed to your updates on my site.
-Chris
Access requires permission from Dave
Add contact
Inspired by Jyri Engeström
I say yes, and am asked which activity types I’m interested in...
Should any of the selected types be protected,I will be asked whether I want to request access
OKNo thanks
Dave’s contact details, photos and location are protected.
Would you like to request access to these items?
Please note that Dave may deny your request.
If I say OK, an OAuth request will be sent which Dave will later be able to approve, deny or ignore
...And Dave’s public activities will show up in my activities dashboard.
...And if Dave later approves my request, his protected activities will show up too
Activities on the Open Web
I visit stammer.com
I decide I want to join this community
Sign in to start posting!
I sign in with my OpenID
Before I’m sent back, I’m asked whether I want to authorize Stammer to postback my activities
OKDecide later
Stammer can post the activities you take on their site to your profile.
Would you like to allow this?
If you’re not sure, you can decide later. These activities will not be made public unless you want them to be. You can always revoke this permission later.
If I say yes, I am returned to Stammer, authenticated. As I use the site, my actions
are posted to my activity stream
If I defer, I am returned to Stammer, authenticated. As I use the site, my actions are posted to my activity dashboard, where
I can choose to share my activities later
Sound familiar?
Sound familiar?
Current work
ATOM Extension
<entry> <id>tag:photopanic.example.com,2008:activity01</id> <title>Geraldine posted a Photo on PhotoPanic</title> <published>2008-11-02T15:29:00Z</published> <link rel="alternate" type="text/html" href="/geraldine/activities/1" /> <activity:verb> http://activitystrea.ms/schema/1.0/post </activity:verb> <activity:object> <id>tag:photopanic.example.com,2008:photo01</id> <title>My Cat</title> <published>2008-11-02T15:29:00Z</published> <link rel="alternate" type="text/html" href="/geraldine/photos/1" /> <activity:object-type> tag:atomactivity.example.com,2008:photo </activity:object-type> <source> <title>Geraldine's Photos</title> <link rel="self" type="application/atom+xml" href="/geraldine/photofeed.xml" /> <link rel="alternate" type="text/html" href="/geraldine/" /> </source> </activity:object> <content type="html"> <p>Geraldine posted a Photo on PhotoPanic</p> <img src="/geraldine/photo1.jpg"> </content></entry>
<entry> <id>tag:photopanic.example.com,2008:activity01</id> <title>Geraldine posted a Photo on PhotoPanic</title> <published>2008-11-02T15:29:00Z</published> <link rel="alternate" type="text/html" href="/geraldine/activities/1" /> <activity:verb> http://activitystrea.ms/schema/1.0/post </activity:verb> <activity:object> <id>tag:photopanic.example.com,2008:photo01</id> <title>My Cat</title> <published>2008-11-02T15:29:00Z</published> <link rel="alternate" type="text/html" href="/geraldine/photos/1" /> <activity:object-type> tag:atomactivity.example.com,2008:photo </activity:object-type> <source> <title>Geraldine's Photos</title> <link rel="self" type="application/atom+xml" href="/geraldine/photofeed.xml" /> <link rel="alternate" type="text/html" href="/geraldine/" /> </source> </activity:object> <content type="html"> <p>Geraldine posted a Photo on PhotoPanic</p> <img src="/geraldine/photo1.jpg"> </content></entry>
Starter verbs/objects
Weblog EntryNotePhotoVideo
Bookmark...
What can we observe?
The Benefits• Staying in touch across the web
• An open, emergent ecosystem of activities
• Filtering, search, automation & stats
• Optimal, compelling, custom experiences
• Coalescing, merging, de-duping
• etc.
More soon at activitystrea.ms
Fin.
me -› factoryjoe.com
Fin.
me -› factoryjoe.com