Without a server

The goal:

Generate a website that looks something like this:

How I do it currently:

I used Dave Winer’s EC2 for Poets to setup River2. I subscribe to the feeds I want included in each tab. Dave’s software renders the rivers using the beautiful river template and the static files are transferred to an S3 bucket where they are accessed at the above location.

What I like about the current setup:

It works!

What I would like to improve on in the current setup:

My other websites are all hosted on a standard webhost that runs linux. It’s approximately $8 per month. Running the EC2 instance / S3 bucket is approximately $20-25 per month. Following Dave’s post about trying to make the web do more without servers, it got me thinking about other ways I could render my rivers.

Where I am at right now:

Currently, I’m trying to go at this backwards and see if I can eliminate or minimize the use of servers at each step. I’ve put some RSS feeds into a Yahoo Pipe. The output as JSON is here:

I tried to just plug that JSON into the beautiful river template, but no luck. So then I tried to use the JSON file itself and create a webpage. I’m new to all of this, so this is as far as I got:

It’s a start, but not nearly as nice as the goal website at the top of this post.

The quick solution:

Does anyone have any experience rendering Yahoo Pipes JSON into the beautiful river template? While I’d prefer to not have to rely on Yahoo Pipes, in the short term, it at least drops the dependence on an EC2 instance.

The ultimate goal:

This may still be a long way off, but here’s where I would like this to go:

  1. Create an OPML file (in Fargo or OmniOutliner or any outlier) and store it in a Dropbox folder. This OPML file would just be a list of RSS feeds. The file would be made public.
  2. Have “something” read this OPML file, and take the content of the RSS feeds to generate JSON. (Can this be done in the browser with javascript?)
  3. Display JSON in the beautiful river (or something that looks similar – I’m trying not to completely re-invent the wheel here).
  4. Final site to be served in S3 bucket.

I would prefer if this didn’t require an EC2 instance to run. I’d be ok with needing some code running on a standard linux server to go from the OPML to JSON if this can’t be done in the browser with javascript.

Unfortunately, I don’t have the skill set or knowledge to know how to put this all together. I’m sorry if any of the above is not completely correct in its terminology, but I hope it gives the general idea of what I’m looking to do.

Dave agreed to post a link to this post for me which I’m grateful for. Hopefully this will start some ideas flowing! Thanks in advance to everyone!


Stumbled across this project which looks very interesting. Given a list of feeds, it uses javascript to generate a river in chronological order:

If I can get the river looking nice, this might do the trick. (But don’t want to speak too soon!) Only downside I see so far is since it is reading the feed each time, if the original feed has a limited number of items, the older items won’t show up since there is no server fetching the feed at a regular interval.

Update #2:

So I went ahead and used the AMJR software. Really simple to setup. There is an option to use either Yahoo or Google APIs to do the work. All the rest is done with javascript in static files stored in an S3 bucket. The feed list is in a separate javascript file, so I am storing that in Dropbox to make it super simple to edit the feed list for each river.

Final result can be seen here:

Thanks to everyone for suggestions. Thanks to Dave for River2 and talking so much about off-loading from servers – that got me thinking about all this in the first place.

4 thoughts on “Without a server

  1. There really is more then one solution to your problem.

    1. use the beautiful river template (this is essentially Twitter Bootstrap, while it is solid, I don’t get why you would call it beautiful) and turn the Yahoo Pipes JSON into the JSONP this is using. I don’t know how easy it is to get this special format out of Yahoo Pipes. It’s been too long since I last used Pipes.

    2. Go the route you already took with your trial. But if you go this route, I would to suggest to start with the Beautiful River template instead of creating one from scratch. This template uses jQuery templates to render the different elements and I would suggest you should also use templates instead of concatenating strings with +. Maybe also use an MVC like Backbonejs, Ember, Angularjs, or any of the bazillion different existing solutions.

    But what I really don’t get is why you don’t just move your River over to your standard hosting?

  2. Richard, thanks for the comments and ideas.

    For the first part, the template that Dave and other others developed for displaying the river was called the ‘beautiful river’. I linked to it above. I don’t know how to turn the JSON to JSONP so that’s my first challenge.

    As for not moving the river onto standard hosting, the River2 software is in the OPML editor which currently runs in a Windows EC2 instance. I can’t run the OPML editor on my standard web host so that is where the problem lies.

  3. I just adapted the fotis.co reader for one of my sites here. I had to comment out the majority of the feeds because the loading was taking way too long.

    It doesn’t look bad, I just with the excerpts were longer. Apparently the .contentSnippet gets cut off at 120 characters (including html which is removed) from a cursory review in google groups.

Leave a Reply

Your email address will not be published. Required fields are marked *