Programmable Feed Stream: Build your own perception of the communities' activity

Is it sometime difficult for you to find to the “perfect” web feed focussing exactly on the item you want to track on a community (or a set of communities), with the good granularity? If your response is yes, this presentation is for you!


This service has been created to respond to a common problem in the current web 2.0 communities using web feed systems to share their activity data. Due to the high activity of some communities and the aggregation of several communities’ feeds , the user is quickly overwhelmed by the information.

Like the human visual system providing a way to focus only on a subpart of what a human actually views, the observer service allows a user (or an agent) to focus his perception on a certain aspect of the activity of the community according to his intention. According to his or her need, the user can create his own customized feed, a filtered stream of the current global activity received by the Perception module.


  • Feed about People Activity: In a collaborative work, if two workers want to be aware about their current mutual knowledge of the situation, they can query the perception module (PM) to give them their mutual streams of activity extracted from the global community activity stream. One of them could also observe only a subpart of his colleague’s activity, reducing his watching to a precise type of event. 
  • Feed about Resource Activity: An author who wants to know the impact of his posted message. He would like to be aware of the activity arround his message, notably who have read or have answered to it. To do that, he just has to create a customized feed observing this specific activity.

Building a feed

To create a customized feed focussing on a specific item’s activity, the user can combine different criteria to filter the right events from the global stream of events. In combining these criteria the user generates his or her own limited perception of the global activity.
Of course you can create several feeds focussing on different items (for instance one per member, or one per action, or one by tag) and thus have a better organization of the perception of the global activity.

Event Model

To create a feed, you should know the data model of an event. An event is generated from a given source (a given community) at a given datetime by the action (logging, reading, creating messages) of a user  [on a given resource].

Event = {user, action, resource (optional), date, source}.


URL: http://perceptionmodule/watch?


To filter the right events, you can use a combination of filters/criteria on the events’ properties. Each filter has the following the format:  property = value. You can use the following properties:

Event’s property Description
event.type The type of event (creating, reading,visiting, entering,etc..)
event.source The source’s name where the event comes (e.g. a community like atgentive , itm, atgentnet etc…) The resource’s id (e.g the id of a thread or a message) the user has manipulated in this event
event.resource.tag A tag belonging to the resource, (e.g. the message’s topic like ‘meeting’)
event.resource.type The type of resource (e.g. a message, a thread , a user)
event.resource.activitylevel The level of activity (e.g. number of time a message has been read) The author’s name of the event The tag belonging to the author (e.g the author’s role, the author’s team)

Other Options:

Other arguments are allowed.

Arguments Description
Max Maximum number of events in the generated feed  (default 20)
Format Output Format (default atom)
Title Feed’s title


Customized Perception Service

The service “Customized Perception” provides an customized OPML file, i.e. a set of Atom channels to perceive by different ways the community’s activity.
The structure of the different channels are:

  • Recent the activity of the user’s posts: set of channels observing each the user’s recent post (one channel per resource)
  • People’ activity: A set of channels observing the activity of members (one channel per members)
  • Concepts’ activity: A set of channels observing the activity of resources aggregated by keyword (one channel per keyword)
  • Interventions’ activty: A set of channels observing the interventions for the user (one channel per type of intervention)




  • user: the user’s name
  • source: domain/community’s name of the user



Rendering in the Google Reader