Sinatra + Kara == qwerty animals

Yesterday I released a small web app; it was my first using the Sinatra microframework for Ruby:


The app arranges illustrations of animals wearing lettered t-shirts to create user-supplied messages. Kara Schlindwein created the illustrations as part of her project for the 6th Annual Fun-a-Day project in Philadelphia, and I wrote the first draft of the app while sitting in a chair at the show a couple of weeks ago, still nursing my broken ankle.

I’ve come to really like working with Sinatra / HAML / SASS – once I had a basic comprehension of how the components fit together I could see how to organize the app without getting mired in the code. Making changes to the app has been pleasantly easy. Deployment via Passenger (mod_rails) on Apache was simple enough my my local and development servers (after reading sample virtual host configurations) and setting up a subdomain on Dreamhost has been fine, too. Everything is coordinated via git, so pushing changes around has been simple.

I first heard about Sinatra (and couchdb for that matter) in a presentation by Daniel Tsadock at ITP last year and I’ve kept it in the back of my mind as something I wanted to try. I’m just now getting to development of my thesis project website and decided to use Sinatra for it, although I had a disappointing experience with the performance of another Sinatra + couchrest app I wrote for the Live Experimental Interactive Television class this past week. My VPS development server ground to a halt when a dozen classmates attempted to use the app at the same time. I’m pretty sure that my code was somewhat inefficient (with each client polling couchdb through an api provided via Sinatra routes), however I was hoping for usability beyond 12 simultaneous connections. I’m still optimistic though that it will work, and writing an app with the framework and view templates is fast and actually pretty fun.





One response to “Sinatra + Kara == qwerty animals”

  1. Greg Borenstein Avatar

    Nice work, Robert! Next, you should use rMagick to create a single image of the generated word so people can post it around the net. Sewing together a new image from the existing ones you have is super easy with rmagick.

Leave a Reply