It all started with the Geek Hub events, an initiative by TIP for technology enthusiasts or we can say GEEKS to increase awareness and knowledge about new and emerging technologies.
In the same series we got the chance to learn about Node.js,which is a platform built on Chrome's JavaScript runtime for easily building fast and scalable network applications. We also learnt about MongoDB which is an open-source document database written in C++, and the leading NoSQL database.
Like all the Geek Hub events, we have the challenge at the end and the challenge was to create an application using which people can register their votes by Tweets and Telnet.
We completed this challenge by creating the Twitter Server which listens to all the tweets which have a particular #-tag. We also implemented Telnet Server which listens to port 4040 to understand a particular format for voting. For this application off ‘course we used Node.js and saved the votes in MongoDB.
Although we did many hard-coding like team names, twitter #-tag with plain UI but we won the challenge, I guess because we were the only team who completed the challenge. :razz:
With “Bangalore Innojam 2012 DemoJam” event, we realized that it was not just only the coding challenge but we can use this application for real to decide the winners by voting instead of applauses as customizing Applause 'O Meter is not feasible for smaller events.
But we were far away from using our application for the main event because winning a challenge and to make other win a challenge is different. We have to make this application configurable, robust, attractive and most importantly accurate.
We also thought that Telnet will be of no use for live voting and then decided to replace Telnet Server with SMS Server, so that people can vote using SMS as well, which is the most handy way.
We did all the required changes and hosted the application on a free node.js hosting platform. Finally we used this application after all the demos to decide the winner by voting. It worked fine initially for 3 teams than suddenly stopped working, may be because of the free hosting platform, network issue or application bug. We did the workaround for voting but still people liked our application.
Live experience gave us the insight on how useful is this application and at the same time what needs to be improved further.
Luckily we got another chance to showcase our improved version of Vote 'O Meter in one of the internal event. It was a DemoJam event for Test Center team,Bangalore, happened on 7th October, 2014.
For this event we hosted our application on heroku and this time we used the paid service for better performance. Along with the Twitter application, we also wrote the SMS service on txtweb which accepts the message and forward to our SMS Server which in turn save the vote and display on the screen in real time. SMS service also validates the incorrect message and informs the voter about the correct format of the message. Application is also configured based on the need of the event like number of teams, name for #-tag, format for message and time duration.
After all the 7 teams finished with their demos we did the voting for each team one by one for 2 minutes each.
This time application worked perfectly fine and captured each and every valid vote accurately. Also we added the result page which shows the total votes for each team in stacked bar graph showing the Tweets and SMS count simultaneously. In total this application captured 310 votes and we believe that it will work smoothly even with large voter base.
Going forward we will like to see more usage of this application for SAP events.
Sunny Kapoor
Manoj Kumar