Last Thursday I was a part of the Scoopcamp hackathon and it was so great that I just couldn’t resist to write down some of my thoughts about it. Our team ThoughtWorks and friends a colorful mix of journalists, students and developers had a rough idea for a modern - more agile - journalism, where the journalist reporting about an ongoing event writes the background story and live updates from his perspective, but can also incorporate content written by the readers who create their own streams representing their own take on the particular event. Being able to see which stream/entry is getting most likes (=feedback), he/she can quickly react and focus on the currently favorite perspective. During a quick brainstorming we came up with the name: LiquidPub (for liquid publishing) and started defining the first user stories. To be able to deliver something within less than a day of coding, we went with Ruby on Rails. This gave me the opportunity to finally try out Rails and learn it a bit by pairing with some experienced Ruby/Rails devs. The application itself has been deployed on heroku and being ThoughtWorks we built and deployed it after each push to our github repo using snap-ci - continuous delivery FTW!
You can see the result here.
Tech stack
- Ruby/Rails + slim (as the templating engine) + Foundation CSS lib (for a responsive client)
- PostgreSQL
Some stats
- 4 dev pairs and 1 designer implemented 27 user stories in 6 iterations
- I arrived at 8:45 and left around 00:30 (true hackathon sprit! ;))
- 91 builds / 145 commits
Wrap-up + My take on Rails
A day before the hackathon, I got the message that we will do it using Ruby on Rails - so I did not really have a lot of time to look into it. But that was actually no problem at all, as I paired with another guy who had some rails experience. Although I heard it often, I was still amazed how quickly one can set up a CRUD application with it. There is of course a lot of magic happening in the background and when you have some more complicated use cases, you really need to look deeper into the rails guide or other documentation. My pair and myself had some issues trying to integrate a WYSIWYG editor which was working in the development mode but not in the production mode due to some assets processing problems. This was the only problem we could not solve quickly. For templates we used slim which is definitely nice, but takes some time getting used to. Otherwise Rails provides as I already expected a very nice developer experience. As I am taking a deeper look into Play2.0 now, I can try to write the same application to be able to compare the development speed and experience of both frameworks. A blog post will follow. This hackathon was really a great opportunity to have fun and meet new people and try out new technologies. I really look forward to another event like this!