I’m Brian. This is the source code for my web site.
How it works
The feed aggregator (“feed monster”, a name stolen from my employer) that hits a number of services every 15 minutes, either fetching an Atom or RSS feed or using a custom API, depending on the service. Whatever data is pulled down gets dumped into a MongoDB collection, normalized as “activities”.
The Rails front end just pulls the most recent activities from the collection and shows them in reverse chronological order. Rails is way overkill for this, but part of the exercise was learning how to use MongoMapper.
Services to add
- Buzz – http://code.google.com/apis/buzz/documentation/
Features to add
- Exception notification
- Conditional method support for feed fetching
- Preview urls in Tweets
- Lightbox or otherwise display blog posts
- Popout video players
- Audio players
- Activity feed
- Add updates to the stream without having to refresh the page
- Long-polling Comet with node.js?
- Incorporate new activities into the database as they occur without having
to constantly poll feeds
- Search across activities
- Page through older activities
Bugs to fix
- Pub date of Reader shared link is the pub date of the page, not when I shared it