OR, how to add a proper social activity feed to your ruby-based application in fifteen minutes.
For the Impatient
I am the primary developer on this project, and my name is Konstantin Gredeskoul — which you probably already knew. This library would not have been possible without the generosity and sponsorship of my current employer Simbi.com.
The software is running live in production, and is powering three separate social feeds on Simbi: the global feed, followers feed, and "own" feed — events related the feed owner's actions:
The software is distributed under the MIT License and is available today. It's written in ruby and does not depend on Ruby on Rails. Therefore it can power applications running on Rack, Sinatra and using alternative web frameworks. Having said that, at Simbi we are using it with Rails, and I may release a small Rails adapter for SimpleFeed in the future.
The short-list of its features is:
- You can define any number of feeds per Ruby VM
- SimpleFeed stores pure strings associated with a floating point number (typically – time), and so does not assume any particular format of the data
- The data is stored in pluggable backends, with
- New providers can be easily built and used with the same API.
- Using Twemproxy, the backend can be transparently sharded to support millions of users.
- Redis provider is optimized for multi-user batch operations, such as posting an event to many users at once using Redis
- Rich API allowing both single-user (i.e., for reading the feed) and multi-user (i.e., for writing to feed) batch operations
- Powerful DSL
- Near 100% test coverage :)
For information on how to use, install and other technical details I refer you to README or the more detailed discussion below.↳ Keep reading …