51
Activity Streams Chris Messina Internal meeting January 29, 2009 Facebook, Palo Alto, CA

Activity Streams

Embed Size (px)

DESCRIPTION

A talk I gave at Facebook about Activity Streams. http://activitystrea.ms

Citation preview

Page 1: Activity Streams

Activity Streams

Chris Messina

Internal meetingJanuary 29, 2009 ☕ Facebook, Palo Alto, CA

Page 2: Activity Streams

“Lifestreaming”

Page 3: Activity Streams

Today

• Last.fm

• Jaiku

• Facebook newsfeed

• FriendFeed

• etc.

Page 4: Activity Streams

The challenge

• Develop a format for expressing activities

• Compelling experiences from activity feeds

• The zero-knowledge test

• etc.

Page 5: Activity Streams

FriendFeed Services

Page 6: Activity Streams

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.

Page 7: Activity Streams

Examples

Page 8: Activity Streams

last.fm

Page 9: Activity Streams

sweetcron (yongfook.com)

Page 10: Activity Streams

Facebook

Page 11: Activity Streams

FriendFeed

Page 12: Activity Streams

boxee.tv

Page 13: Activity Streams

Movable Type Motion

Page 14: Activity Streams

Eventbox

Page 15: Activity Streams

Anatomy of an activity

Page 16: Activity Streams

Actor verb object [context]

Page 17: Activity Streams

factoryjoe tweeted Niches Bitches! [via SMS]

Page 18: Activity Streams

Actor verb object {indirect object} [context]

Page 19: Activity Streams

Chris bought Planet Earth {for Brynn} [at Amazon.com]

Page 20: Activity Streams

Activities on the Social Web

Page 21: Activity Streams

I visit davidrecordon.com

Page 22: Activity Streams

I decide I want to follow his activities

Sign in to follow Dave!

Page 23: Activity Streams

I sign in with my OpenID

Page 24: Activity Streams

Before I’m sent back, I’m asked whether I want to follow Dave

Page 25: Activity Streams

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...

Page 26: Activity Streams

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.

Page 27: Activity Streams

If I say OK, an OAuth request will be sent which Dave will later be able to approve, deny or ignore

Page 28: Activity Streams

...And Dave’s public activities will show up in my activities dashboard.

Page 29: Activity Streams

...And if Dave later approves my request, his protected activities will show up too

Page 30: Activity Streams

Activities on the Open Web

Page 31: Activity Streams

I visit stammer.com

Page 32: Activity Streams

I decide I want to join this community

Sign in to start posting!

Page 33: Activity Streams

I sign in with my OpenID

Page 34: Activity Streams

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.

Page 35: Activity Streams

If I say yes, I am returned to Stammer, authenticated. As I use the site, my actions

are posted to my activity stream

Page 36: Activity Streams

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

Page 37: Activity Streams

Sound familiar?

Page 38: Activity Streams

Sound familiar?

Page 39: Activity Streams
Page 40: Activity Streams
Page 41: Activity Streams

Current work

Page 42: Activity Streams

ATOM Extension

Page 43: Activity Streams

<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"> &lt;p&gt;Geraldine posted a Photo on PhotoPanic&lt;/p&gt; &lt;img src="/geraldine/photo1.jpg"&gt; </content></entry>

Page 44: Activity Streams

<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"> &lt;p&gt;Geraldine posted a Photo on PhotoPanic&lt;/p&gt; &lt;img src="/geraldine/photo1.jpg"&gt; </content></entry>

Page 45: Activity Streams

Starter verbs/objects

Page 46: Activity Streams

Weblog EntryNotePhotoVideo

Bookmark...

Page 47: Activity Streams

What can we observe?

Page 48: Activity Streams

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.

Page 49: Activity Streams

More soon at activitystrea.ms

Page 50: Activity Streams

Fin.

me -› factoryjoe.com

Page 51: Activity Streams

Fin.

me -› factoryjoe.com