Hackathons are a rarity in India. Surprising really, seeing that most guys in college claim to be the most productive in the night. Here at SDSLabs we confess to be night owls. Some of our best apps exist thanks to all-nighters. So naturally, when we came to know that Yahoo! India was organising a hackathon by the name of HackU in IIT Delhi, we wanted something similar in our beloved IITR. Multiple emails were exchanged with the Yahoo! employees but we could not convince them to hold one here in Roorkee. What a bummer.
As I said in the opening line, hackathons are a rarity in India. So what if we could not convince them to come to Roorkee, we’ll travel to Delhi! And that we did. Team SDSLabs included:
- Abhay Rana who is better known to the public as Captain. Nemo and as Bot to members of the lab. He specialises in anything that can be accessed/altered/twisted/bent/hacked through the codez.
- Ashwini Khare who found this trip to be the perfect opportunity to play Temple Run undisturbed.
- Abhishek Das, popularly known as Yoda, famous for teaching Obi-Wan to use the source.
- Shashank Mehta who is typing this thing. I found this trip as the perfect opportunity to catch up on my sleep lost due to those all-nighters. Ironic?
The event was scheduled from 16th to 19th August. The actual hackathon started at 11pm, 18th August, after series of lectures on Yahoo Developer Network offerings (YQL, YUI, BOSS, CAP, DAPPER). BOSS was particularly very impressive. Yahoo has some really good stuff in their developer network. Brainstorming sessions were also held before the actual event where Yahoo employees helped in formulation of ideas. But we did not need this. We had our brainstorming sessions during the journey to Delhi with Temple Run music setting the mood. (Thanks Ashwini!)
We had decided to work on Google Hangout-esque app that allowed people to video chat. Why, you ask? Because we could come up with nothing better and all this world really needs is another video chat application, if you ask me. But then, the world really does need our video chat because we did not copy Google Hangout, we made something better. When you try to video chat with someone, you and your friend both connect to a server. This server receives messages from both of you and pushes them accordingly. But what if both of you are on the same network? The server could be in the opposite part of the world. It makes no sense for your message to travel around the world before being delivered. We used a new protocol called webRTC which creates peer to peer connections. Difference? You connect to the server only to get the address of your friend. After that all your messages are directly sent to your friend. How does this help you ask? On the same network this is equivalent to video chatting over lan, which will be way faster than using an intermediatory server.
Through the 3 day event, we became oblivious to our surroundings as we sat down to code. It was a fun-filled event, where we did manage to finish our application and polish it beyond our expectations. We added text chat and collaborative doc editing that supports markdown and these two features work on iPad, iPhone and android devices too. Each team was alloted 2 minutes to demo their hack on the last day. We demoed our app on 3 laptops and an iPad! One of the laptops was placed on the judges table and they got to play with the hack themselves. This was a masterstroke.
We were awarded winner in the geekiest hack category and the top-scoring team for the event. We probably also managed to convince Yahoo! to visit IITR next year. Let’s see how it pans out.
This is just a glimpse of what being at SDSLabs entails. If this feels like something you’d be interested in doing, send us a mail at [email protected] clearly mentioning your existing work or if you’re in first year, make sure you sit for the selection test in January.
Our application was a web based offering, running on a new protocol called webRTC, and was made using node.js and express. We also used stuff like JQuery and Twitter Bootstrap to fasten our development.