Hi,
I'm interested in hearing your opinions in which is the best way of implementing a social activity stream (Facebook is the most famous example). Problems/challenges involved are:
- Different types of activities (posting, commenting ..)
- Different types of objects (post, comment, photo ..)
- 1-n users involved in different roles ("User x replied to User y's comment on User's Z post")
- Different views of the same activity item ("you commented .." vs. "your friend x commented" vs. "user x commented .." => 3 representations of a "comment" activity)
.. and some more, especially if you take it to a high level of sophistication, as Facebook does, for example, combining several activity items into one ("users x, y and z commented on that photo"
Any thoughts or pointers on patterns, papers, etc on the most flexible, efficient and powerful approaches to implementing such a system, data model, etc. would be appreciated.
Although most of the issues are platform-agnostic, chances are I end up implementing such a system on Ruby on Rails