Rocking with Rails Rumble

We are back to the normal work routine after enjoying (a rather exhausting) run on Rails Rumble. The challenge was to build a web application from scratch using Ruby On Rails, within 48 hours. Though we are still grasshoppers when it comes to the web app arena, we thought the experience gained by participating in such a challenge would help us in the long run. Besides, we had several concepts lying in our idea wallet for sometime, and this sounded like the perfect opportunity to get the ball rolling. Generally, our ideas emerge from real life problems we have, and so we knew that implementing one of them would at least scratch our own itch, and perhaps help a few others like us. We decided early on that the project we start should be sustainable beyond the rumble.

After a few brainstorming sessions we selected the idea of building a social conference management application, which we would code name MyConf. We started the challenge at exactly 5.30 am local time on Saturday. Some quick mocks were drawn based on our ideas and we picked one to proceed with. So Amila and myself started coding the application, while Laknath managed the VPS setup at Linode. Of course, as is often the case with new projects, the task was not as easy as we anticipated. We had to face many new challenges as we dived deeper and deeper into the process. Also, bad weather, and problems with electricity and internet connections also interrupted work flow, especially since we’ve been operating from our homes since of late.Yet, we managed to hold our nerve till the end. Unfortunately, when the time came for pencils down, we weren’t quite ready with the full version and had to tag a half baked release of the app.

myconf_home

Screenshot of MyConf

Lessons Learned
It’s true that we couldn’t complete the app as we had planned, but that’s fine. We tested ourselves against a tough standard, and gained some great experience and exposure. To us, Rails Rumble was always much more than just winning the competition. Working under such a tight deadline, it required some quick decision making and getting things done right from the word go. Agile development practices, such as rapid prototyping, pair programming and continuous integration had to be used extensively. It was all about doing “git pull, commit and push” throughout.

Secondly, the scope of MyConf was bit a broad for this kind of a competition. We could have done better if we focused on producing a few selected features, as opposed to a full app. Though we started writing test cases at the beginning, we ignored it as the competition progressed. However, we realised that if we continued with test driven development, we would have saved the hours wasted in debugging unwanted issues. Something else we learned is that you should never experiment with new tricks or try to use new tools when working under such tight deadlines. No matter how productive and efficient they may eventually be, using them will most probably lead to lot of trouble. So always trust your old bag of tricks and tools.

On the bright side, we came to know the real strength and capability of our team. The whole team was able to keep their morale and stamina up, even under pressure, a characteristic which I think will help us as we engage in more challenging endeavours in the future.

What’s next?

We have the current version of MyConf running at http://www.myconfapp.com. If you feel like casting a vote for the work we have done so far, please do by visiting the RailsRumble site.

Vote for us in RailsRumble

Like I said, we will continue to develop MyConf and have plans to offer it to you as a FOSS product. We would soon like to see you running your conferences on MyConf very soon!