Concertgram
Sometimes you need to scratch an itch.
I left my job at the end of January and while I’ve enjoyed the time off, I wanted to take the opportunity while I had it to expand my horizons technically. For the past five years at Warners I was neck deep in Drupal, as Drupal powered most of our Platform. I also did some exploration into Python, Node and Rails.
Seeing as I had some downtime to do something for fun rather than any business need, I decided to give myself the challenge to make a mashup in Rails.
I have been toying around with Rails since pre-Version 1 beta. I never really took it seriously or considered it to power the WBR platform because at the time it wasn’t mature enough. Since Version 3 came out however I’ve been looking at it with some interest as it addresses a lot of the deficiencies from versions 1 and 2, and presents, to me, a much more refined workflow than Drupal.
Concertgram is not great, but its something I wanted to do to scratch an itch. I wanted to see photos taken at shows, without having to rely on people checking into the events on Foursquare. As such it gets the longitude/latitude of a show from Songkick, gets the timezone for the show from AskGeo, then uses both to query Instagram for photos taken within +/- 4 hours of the show, and 500m from its location.
Not super complicated at all.
User interface wise I wanted to explore simplicity and fluidity. I’m by no means a designer, so I also wanted to avoid images and work with CSS3. Mostly however I wanted to throw myself into a project to learn some new things, refresh myself on other things (i.e., JQuery, CSS) and just to code.
A few things I learned during this, some of which warrant more discussion:
- Maintaining proper Git workflow and deployment strategies is much simpler in Rails than in Drupal. Drupal conflates a lot of things into the database, which makes maintainability very difficult. I know that things are moving away from that.
- The combination of Github, Pow and Dotcloud make for ease of rapid iteration.
- There are many ways to skin the asynchronous user interface pattern cat.
- API’s are unpredictable
- Dealing with timezones sucks
- In dense urban environments, you get a lot of collateral Instagrams from around the venue
- Instagram isn’t as popular as I suspected, at least at shows
At some point Concertgram will reach a point of completion and I’ll stop iterating it, but for now it’s a bit of fun. I do have in mind a more complicated Rails app to make good on my promise.
PS: Concertgram isn’t currently in a public Github repo due to API keys in it. However if anyone that is a Rails expert wants to give it a once over to critique the code, please let me know.
“without having to rely on people checking into the events on Foursquare”
so, if you relied on foursquare, you’d just grab photos out foursquare? Instagram at least has nice photos.
There’s a site called http://www.eventburn.com/ that has a similar vibe.
Awesome man. Looks like we’re thinking alike.
http://sonicgr.am
Let me know if you want to chat more about this idea. I can put you in touch with our developer who put sonicgr.am together.
Jacob