Activitystreams 002


Published on

Slides for the San Francisco Ruby meetup 10/16/08

Published in: Technology
1 Comment
  • Nice introduction to activity streams. The decentralized approach is very interesting. Curious if that will catch on.

    We built a solution for the 2nd largest online fashion community and open sourced our approach: It's currently the largest open source library aimed at solving this problem. You can use both Redis and Cassandra as storage backends.

    The same team which built Feedly also offers a hosted API, which handles the complexity for you. Have a look at There are client libraries for Ruby, PHP, Node and Python. (This is based on Cassandra and therefore substantially cheaper to operate than running your own system using Redis)

    To learn more about feed design have a look at this article and the articles linked on highscalability.
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Activitystreams 002

  1. 1. Activity Streams What are Activity Streams? Lets start with some examples in the wild. A Ruby-On-Rails Plug-in by Jonathan Dugan and Rama McIntosh Extracted from the website.
  2. 2. Activity Streams at One use of activity streams at is a site-wide news feed.
  3. 3. Activity Streams at When a user is logged in, the Activity Stream is filtered to the user's interests. Of course there is also a breadcrumb view to follow everything a user does.
  4. 4. Activity Streams at Facebook Facebook was an early adopter of Activity Streams The new layout makes activity streams more prominent
  5. 5. Friendfeed is all Activity Streams is an entire website dedicated to do nothing but sharing and discussing activity streams.
  6. 6. Activity Streams at WordPress uses activity streams for blog posts.
  7. 7. DISO Open Standards : Social networks are becoming more open, more interconnected, and more distributed. Many of us in the web creation world are embracing and promoting web standards - both client-side and server-side. Microformats, standard apis, and open-source software are key building blocks of these technologies. This model can be described as having three sides/legs/arms/spokes - pick your connection: Information, Identity, and Interaction. DiSo (dee • zoh) is an umbrella project for a group of open source implementations of these distributed social networking concepts . or “to build a social network with its skin inside out”.
  8. 8. DISO and Activity Streams DISO is working to come up with a set of standards for publishing and sharing activity streams using microformats This Activity Streams Rails plug-in implements the developing DISO open standard for structuring activites For more information see
  9. 9. activity-streams-examples
  10. 10. Why use Activity Streams Enable social media discovery (social objects) Enable automated content generation from user activity Enable a user to find new interests, users, objects Enable increased community involvement between users Inform users of critical events or those of specific interest User activity increases exposure of your site and your content on activity aggregators and distributors
  11. 11. Activity Streams: The Implementation The Activity Streams plug-in is currently implemented as a Rails plug-in with the ultimate goal of packaging it as a gem. The plug-in adds models, controllers, views, and an after filter for logging activity streams. Activity Streams adds three models. 1. ActivityStreams – The log of Activities 2. ActivityStreamTotals – An optional total cache for an activity 3. ActivityStreamPreferences – User Preference for which activities can be accessed
  12. 12. Activity Streams: The Model
  13. 13. Setting up filters for a Controller
  14. 14. View Examples When following a feed the activities show up in the Creator's View: When following a feed the activities show up in the User's View:
  15. 15. Default HTML Output (for social object)
  16. 16. Default HTML Output (for user) Delete Activity
  17. 17. User Preferences The built-in user preferences gives a user finite control over the their activities.
  18. 18. Atom feeds Activity Streams have an atom feed so users can consume and share their activities in other sites. This feed is structured with DISO markup for parsing actor, action, and social objects
  19. 19. Just the Beginning Activity Streams is recently released in beta. We are presenting it to get feedback. We expect to improve the plug-in further. TODO: More outputs. For example, feeds back to facebook connect, twitter, friendfeed, blogs, etc. Add XMPP extensions. You tell us.
  20. 20. Links Activity Stream Home Page: The rdoc: (best documentation): Activity Streams at Activity Streams at RubyForge: Working Example Site: My Blog/Contact: