I am implementing a news feed similiar to Facebook's.
Essentially, the feeds are stored as individual items:
1 Nov 2012 9:00 AM [John] was [tagged] in [photo album "Halloween 2012"]
1 Nov 2012 9:20 AM [Andrew] was [tagged] in [photo album "Halloween 2012"]
1 Nov 2012 1:00 PM [Jerry] was [tagged] in [photo album "Halloween 2012"]
1 Nov 2012 5:00 PM [Anne] was [tagged] in [photo album "Halloween 2012"]
1 Nov 2012 9:00 AM [John] [committed change 0e5s8d2e8s] in [code repository "XYZ"]
1 Nov 2012 9:20 AM [John] [committed change 3afasdfa3] in [code repository "XYZ"]
1 Nov 2012 1:00 PM [John] [committed change fdghd5h323] in [code repository "XYZ"]
1 Nov 2012 5:00 PM [John] [committed change 090df0dsasf] in [code repository "XYZ"]
Displaying each feed item individually is pretty naive and would be quite repetitive and hard to use. It also inhibits content discovery.
Thus, feeds like Facebook will perform aggregation on the feed item's object:
[John], [Andrew], [Jeffy], [Anne] was [tagged] in [photo album "Halloween 2012"]
[John] [committed 4 changes] to [code respository "XYZ"]
Given the above aggregation, what time and date should be displayed for each aggregated news feed item?
Finally, let's say I have a series of feeds like so:
1 July 2012 [Julie] was [tagged] in [photo album "Mike's Wedding]
30 June 2012 [Jack] was [tagged] in [photo album "Mike's Wedding]
20 July 2012 [Mike] was [tagged] in [photo album "Mike's Wedding]
Should all of those feed items be aggregated together when they occurred quite far apart from each other? If not, what is the maximum time interval for aggregating feed items? Should the time interval be absolute to the user's timezone, or should it be relative (starting from when the first feed item to be aggregated is generated)?