<p>From having written lower scale activity stream style stuff before, I'd heavily lean towards the static model. It provides a much cleaner interface between an activity and the observer and scaling reading out activity logs is more predictable. It means that your activity stream code doesn't need to have intimate knowledge of possible activities and you can easier plug in activities that happen on different system tiers (e. g. on the wiki or help.osm.org).</p>

<p>Further I wonder how far the static method will scale and whether you'd want to use messaging for stuff like following your  friends' activities. In a messaging model you would actually distribute a message to all observers for an activity, making querying activities much faster in the case of many actors (= friends you observe) with a high level of activity (= stuff they do).</p>

            <p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">
              —<br>
              Reply to this email directly or <a href='https://github.com/openstreetmap/openstreetmap-website/pull/54#issuecomment-7891001'>view it on GitHub</a>.
            </p>
            <img src='https://github.com/notifications/beacon/uTRSc6ihLa7Shf84BpiOpmLWAu4oQih75mggZl1E8_ncpsL_vuCSTJlxIVuE64FQ.gif' height='1' width='1'>