I’ve been looking at the promising new ActivityStrea.ms proposed standard, based on the existing Atom standard. ActivityStrea.ms promises to enable sharing activity streams across applications. This is a key piece of the “distributed social network” vision, where people can distribute and aggregate their activities across multiple sites and tools.
I was thinking through a distributed community potential use case – and saw what seems to be an item that is missing but easy to add. The current ActivityStrea.ms proposal seems logically based on an assumption that a user would want to distribute or aggregate all of their updates. Or, perhaps choose to share updates based on *type* of content or action – I want to share my blog post updates, but not my photos.
What’s missing is the concept of syndicating or aggregating by *topic*. Let’s say I have a stream of messages talking about web standards, politics, and music. I want to syndicate only music-related updates to a music site. What’s needed seems simple – a way of adding a piece of metadata – a tag – that identifies a given update as a music-related update. Then, I can choose to share only those updates to the music site.
Fortunately, there are ways to represent Tags in Atom – see this representation in WordPress.. So it would be possible to address this need fairly simply, by adding the use of Tag as a recommended best practice for ActivityStrea.ms implementors. No need for a new standard, just leverage the existing one for this new use case.
As the uses of Activity Streams proliferate, and the social contexts in which they are used become more complex, people are going to want to choose discretion about what to share where — not just for reasons of privacy, but for reasons of attention management. Baking in a tag best practice could lay the groundwork for more socially useful Activity Stream sharing.
What do you think? Am I missing something obvious?
Well, as you suggested, we don’t need a new standard really, just better adoption of an existing convention. Categories would be the way to accomplish this with activitystreams and therefore requires no new format — but perhaps just guidelines to point people to how to do it.
The interface necessary for determining which tagged entries are shared is beyond the scope of activity streams, but you could imagine using tags or labels for “family”, “friends”, or “coworkers” as well to specify audience.
I’ve created a page to capture this idea, and invite you to flesh it out! http://wiki.activitystrea.ms/Tagging-Activities
Cool, I’ll add there. I can see people tagging by audience “family”/”friends” or by context “cycling”, “politics”, “sxsw”. If people develop with that model in mind, it will be much easier for users to do this – and the implementations will be much more powerful than the simple “aggregate everything” case.
The other kind of tagging is labelling things with people’s name,s so they can find themselves. This has been a common feature of social tagging systems – with flickr it is tacit (ie names are general tags); delicious has the for:kevinmarks convention, and in FaceBook, this practice is just called tagging, as it is the primary mode of use.
We do need to be sure that this is expressed well in activitystrea.ms
I’ve thought for a while that metadata is essential in community building — providing more effective ways of finding content and people that you may be interested in. Categorization goes a long way to helping in that regard. I wonder though that you might add clustering as a way to more effectively establish context.