Having been both a competitor and an expert judge in the Rails Rumble I have a unique insight into what makes a good entry and some of the pitfalls entrants can fall into when building their applications.
I’m going to take you through my top tips on how to improve the score judges will give your app in the Rails Rumble competition. Or any other hackathon such as the Node Knockout or Django Dash for that matter.
I’m sure many of you will identify with this… you spend 48 hours working hard, having a great time with your team and creating an app with loads of amazing features you’re really proud of. Judgment day comes and you take look at the results page to see how your team scored and what comments the judges made. You get some great feedback from the judges but maybe the score it slightly lower than you expected, but no feedback on feature X or Y. Intrigued you delve into the analytics, database and logs of your app to see exactly what the judges did when using your app only to discover some the features you built have not been used.
I’ve been there and it can be frustrating, but don’t worry, follow a few simple tips and you’ll make sure the judges see your app as it should be viewed. Back in 2009 I was part of a Rails Ruble team of 3 that created a table football stats tracking app called Wuzlr. We built a ton of features and were really proud of our creation, we even used the app daily for months after the Rumble. However the app didn’t score as well as we hoped during the expert judging phase, what did we do wrong? We didn’t take into consideration how judges would score our app and thought building a good app would be enough.
This year (2013) there are around 500 teams competing in the Rails Rumble. The organizers do a really good job of making it as easy as possible for the judges while also making it fair for all the entrants. This year should be the most trouble free yet for the judges thanks to the hard work of the organizers. Even so, keep in mind all the judges are volenteers and have a limited amount of time to spend reviewing apps. Make sure your app stands out from the crowd, an easy to use, engaging, (fun), interesting, well designed app will suck the judges in and ensure they spend more time reviewing your entry.
To do well in this kind of competition it’s important to understand how your app will be judged to ensure you give it the best chance. I’ve come up with list of tips to help show your app off to the judges in the best possible way. Bring forth the list…
- Consider your login system, or if you even need one at all. One of the biggest hurdles to testing an entry is creating an account to login. While gems like Devise make it really easy to implement a login system, out of the box they do not allow users to sign up quickly. Don’t make judges confirm their email address in order to login, this takes time and reduces the amount of time they will spend using your app. Consider using Facebook and twitter authentication as it’s much faster. Best of all don’t make judges login at all, I came across at least one entry last year with a login system where it served no purpose. (also see point 6)
- If you’re requesting access to my Facebook, Twitter, or Github account don’t ask for more access than you need. An app last year requested full access to users Github account including read, write and delete access to private repositories! There was no need for the app to have this kind of access. Now I don’t know about you but I’m not going to trust the safety of my private repos to an application coded by some very sleep deprived guys in 48 hours.
- “Don’t make me think”. As we have discovered judges have 100’s of applications to go through and a limited amount of time to judge each one. Make your app easy to understand and use, this will help your score. If an app is too difficult to understand or use judges may not be aware of everything it does.
- Make a video. If your app isn’t instantly usable consider creating a short video or screencast to demonstrate how your app works, hell even if your app is a piece of cake to use it’s a really good idea to make a video, you’d be surprised how many things get missed. Design IS important, don’t make it an after thought. If you don’t have a designer on your team get one. You are allowed to work on wireframes and mock ups before the competition starts, use this time to plan your app so you know exactly what your doing as soon as the 48 hours starts. Time is precious, don’t waste any.
- Consider creating demo accounts or adding dummy data to better show off how your app works. One of the mistakes I made with the Wuzlr app was the majority of the stats were only generated after 3 game results had been entered. No judge entered 3 game results when testing so none of them saw the majority of the app. Adding automatically generated dummy data would have solved this problem.
- Make your app easy to test, some apps I tested last year required me to invite friends from Facebook or Twitter. To test this on my own requires 2 accounts with the provider, or I would need another person. Consider if your app really needs to require friend invites, if it does make it as easy as possible to connect with other users. Anything that causes delays in being able to test your app is likely to cause it to have a lower score.
- Finally, don’t forget the importance of your apps description and screenshot on the competition entires page, first impressions count. Make sure to write a description that clearly and concisely describes what your app does, a couple of sentences and no more. It’s good to let judges know what they’re testing before they see your app. After writing your description and uploading a screenshot check what it looks like on the entries page, quite often descriptions are truncated on the index pages where most judges will be reading the descriptions.
Hopefully these tips will help you in creating an app with the best chance of doing well in the Rails Rumble. Good luck and I look forward to seeing what the teams come up with this year.