One of the common UI patterns in modern web applications and services is a stream of recent events - commonly called the 'activity stream'. An activity stream keeps the user updated with the latest happenings and hence keeps the user engaged. Activity streams can show updates about a variety of activities. Typically information regarding new comments, new friends, new posts etc. is shown.
Activity streams can be realtime push based or regular pull based. The push ones require some more infrastructure like, for example, Meteor
to push latest updates to the client (the browser or a native app). We will discuss a backend implementation of a typical activity stream which could support both push or pull updates.