Working Solution · Last modified November 30, 2009

Updates provide people with mini-stories about what their connections and others are doing on the net. People can also consume mini-stories on topics they are interested in.

Also known as 'Activity Streams,' 'Statuscasting, 'Microblogging,' 'Newsfeed,' 'Stream,' and 'Wall.'

Delicious Bookmark this on Delicious

What Problem Does This Solve?

Users want to see what their friends have been doing in a convenient format. Additionally, applications derive an advertising benefit from being able to share with the public, or with a controlled audience, what their users have been doing. These updates can serve as reminders to other users about what is possible within the system.

When to Use This Pattern

Updates (also known as vitality or activity streams) can be produced and consumed in nearly every imaginable context, across a single application or network, across the web, on mobile devices, and so on. Vitality can be displayed in a context-sensitive manner, presenting information that is relevant to what a user is currently consuming.

This context-sensitivity ensures that updates are relevant to users and their context. Users see updates from the people they care about - their connections - and on topics they are interested in.

What's the Solution?

Vitality updates aim to provide users with delightful, personally relevant, timely content that engages them, helps them connect with others and participate in each other's lives and encourages their participation in the service To accomplish this, create syndicated digests of user activity from content producing sources, third-party sites and applications and make them available to content consuming properties and other sites.

A sophisticated vitality system will learn about the user's preferences by tracking clickthrough, so if the items in the stream start with a 'good enough' guess, they can improve through iterative refinement of the weighted algorithm that selects items. The experience for an ordinary user, then, is to be shown Updates presented more or less as 'stuff we think you'd want to see based on who you are and where you are on the site.'

Vitality updates tend to follow the form Subject, Verb, Object, with optional Indirect Object, as discussed in Chis Messina's presentation on open activity streams.

Why Use This Pattern?

A stream of updates from one or more users reflects the 'aliveness' of a site and gives people reasons to click through and engage more with the social objects reported on in updates.

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 online activity has taken hold as a way of displaying presence.

There is still an element of ephemerality to this. One rarely thumbs through days and days of old status updates to find what a specific person was doing or thinking or listening to at some arbitrary point in the past (at least when one is not stalking them), but there's really nothing to stop these sorts of feeds of personal status updates from being stored, permalinked, catalogued, indexed, made searchable, and so on, even if by custom presence affordances are geared more naturally toward the present moment and the recent past.

You can view a person's vitality as the sum total of observable behaviors they are engaging with online or within your system. This may include status updates but it may also include any number of other recordable activities that can be captured via RSS feeds or by polling or scraping their activity feeds across a wide variety of services. This may also be a mix of services within your system or network, or may combine services across the public Internet.

A vitality feed may therefore consist of an aggregation of updates and activities that together can create a much richer sense of what the user has been doing, thinking about, and saying in the recent past.