Activity Streams, Ephemeral Data and the Short List Pattern
Activity streams are an engaging and rich design pattern that’s emerged and matured quickly in the past couple years. From NetFlix to Dropbox to Facebook, they speak to more than just the utility of personalized pages reporting the latest. They seem custom-built for web culture and echo our ability to hold a conversation in a noisy room, teasing coherence out of cacophony, almost without effort.
Activity streams as a design pattern emerged and matured very quickly, as if rushing to fill a vacuum of need created by systems that deliver not only lots of information to us, but relevant information.
For some background reading:
- Chris Messina’s presentation at Facebook in late 2008 and related blog post
- The Activity Streams project to extend the Atom spec towards inclusion of ‘what people are doing around [the] web’
- Dean Eckles excellent post on why Activity Streams seem so right and how they can shape beliefs and biases about our social networks
Despite their rapid maturation and popular acceptance, there’s an aspect to Activity Streams that has never sat right with me, and has finally coalesced into a proposition for a new design pattern.
The Daily Now or Never
There’s an immediacy to using an Activity Stream that lets us live in the very latest of things tracked by that stream. By nature of updating in the moment, Activity Streams naturally attract momentary attention. In a narrow slice of free time we can feel caught up and connected. As Activity Streams grow richer and more expansive in their coverage, it becomes more likely that they’ll turn up things we’d normally give more attention to, but that will inevitably slip away by the time we can return with more real time and attention to spare.
The prospect of losing the more interesting or important updates to time creates an unnecessary tension between the expectations of the Activity Stream UI and the context of the person using it. Just because the machine drops something good in front of me shouldn’t make the information a limited time offer.
Co-author of the excellent Designing Social Interfaces, Christian Crumlish, puts his finger on this problem when he talks of the ephemerality of items in a stream on the Designing Social Interfaces wiki:
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.
I came across this aspect of Activity Streams when designing the Stream homepage for Ma.gnolia (now Gnolia). Late in the process I saw that there would be lots of bookmarks going by that people might want to check out before saving, and it seemed wrong to force a choice between bookmarking now and reading later, as there is an implicit social action in saving the bookmark.
I added a toggle to each item in the stream that would ‘pick’ it out of the stream and let you view it in a list of these picked items later. The toggled items were called Picks, as in pick it out of the stream as it goes by, and were made to stand out in the list without getting in the way:
Getting back to picked items was made a part of the Activity Stream’s page with an extra tab at the top for Your Picks, which after marking some items to follow up on looked like so:
The original plan was to extend picks to other views where lists of bookmarks were presented, especially in search results so that a person could, in the flow of scanning that list, mark items worthy of followup without breaking their stride by moving away from the current page or having to take more action than a single click. I called this action Short Listing.
The Pattern: Short Lists
I’d describe a Short List pattern as one that is applied to interfaces that show lists of items that are not otherwise persistent in the attention space of the person using the interface. That is, there is no other part of the interface that shows this list in a persistent way. Activity Streams and search results are subject to change over time, making reliable recall or re-finding of an item dodgy or downright impossible. In these cases, a Short Listing interface should be provided.
I find a simple toggle to be the best way to implement a Short Listing pattern, as the untoggled state can be small and repeated to the point where it can fall out of attention until needed. The two-state toggle works hard to keep the person in his or her flow of thinking and attention, not diverting them into adding any metadata whatsoever. Instead, the system should use any metadata that already belongs to the toggled item to organize it with other Short Listed items in a separate view.
The seeds for this Short List pattern already exist in some very present platforms.
- Facebook has Likes, which are positioned more as gestural participation.
- FriendFeed, who inspired Facebook’s Likes, did a bit more by making the number of Likes a threshold criteria in advanced search (meaning you could limit results to things liked by a certain number of people).
- flickr has actually had something like a Short List pattern in place for a while with its Fave feature, but again there’s a social gesture involved in Faving a photo, so it never quite worked as a way to just check something out later.
- Twitter has faves as well, but they seem to have the double-whammy of having no Short List-type value and no real social gesture associated with them.
With those seeds already out there, I can see a Short List pattern being easy to implement and leveraging actions that are already established in their communities. I plan to submit this pattern to the Designing Social Interfaces wiki and see if it works for others there, and in the meantime invite comments on any aspect of how it’s defined here.