Activity Streams are persistent timeline of micro-messages emitted by users, either manually or by their actions, and applications. Each entity (user or application) will have a stream of activity events which aggregates the entities own activities, activities of entities the user is subscribed to and messages directly sent to them. Messages in the stream can be private or public, determining whether an entity other than the stream owner can see a message. In addition, messages can be associated to a permissioned resource (such as page) and the message's visibility will then be goverened by the viewer's permissions to that resource. Stream can be filtered by entity originated and entity received messages, so it is easy to see what the entity is observing and what the entity is doing.
Initial scoping by arnec
A user types a brief message of their current status.
The message shows up in the user's stream and is also dispatched to every subscribing entity's stream.
Status updates are always public
User updates a page, leaves a comment, etc.
A message describing the action is added to the user's stream and dispatched to every subscribing entity's stream.
The message is associated to a system resource and visibility of the message in either the user's or subscriber's stream is governed by the viewer's permission for that resource.
User uses an application in a way that the application considers an activity.
Application creates a message about the activity, which is added to the user's stream and and dispatched to every subscribing entity's stream.
Visibility of these updates is public or private as determined by the application. If the application's action interacts with a site resource, visibility of public actions is additionally governed by the viewer's permission for that resource.
If an reserved name, i.e. a keyword prefixed by @, # or $ is mentioned in a status update, all owners/subscribers for that reserved name will have the message dispatched to their stream. Otherwise the behavior is identical to a status update.
A message sent directly to a user, group or set of users or groups (syntax to be determined), acts like a status update, but is private to the stream owner for every stream that the message appears in. For groups that means anyone that is subscribed to a group.
User locates stream (should there be a directory just for activity related entities, since we need a place to show groups and activity emitting applications as well?)
User subscribes to stream.
All messages emitted by the stream's owner or for a group stream, messages dispatched into the group, are dispatched into the subscriber's stream.
User creates a search for one or more tags (each search is an AND of all tags).
Any public status message posted including that tag is dispatched into the user's stream.
Applications can define message types that are listed.
A user can subscribe to just a type of message from that application.
The application can emit that type and it will be dispatched to the subscriber, however the mechanism can also be used by the application to discover who has subscribed to that type in order to message the users directly with a custom message per user.
Same as user updating a status
Same as user sending a directed message
Message is removed (or just permanently hidden) from all streams that the message occurs in.
Activity streams is not intended to be a person-to-person message system. While it's possible to send messages to users or groups and keep them private, it is still a timeline activity. Therefore we well not offer message deletion by users or apps, creating multiple "inboxes", other than filters on the timeline, etc.
| Images 0 | ||
|---|---|---|
| No images to display in the gallery. |
Copyright © 2011 MindTouch, Inc. Powered by