activity streams

Post on 06-May-2015

11.881 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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)

Facebook

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

top related