Me and my friend, Gonçalo Silva, won the Cisco Hackathon at Pixels Camp last Saturday and I’m sharing our experience here with 2 different purposes:
Present a write-up of the hackathon
Tell you why I think we won it so you can replicate! :)
Github Repo: https://github.com/GNSPS/pixelstrike-cisco-hackathon
I think I’ve made all the steps and explanations really clear on the repo’s README and so I’m going to focus more on guiding you through our thought process during the event.
We started out by reviewing all the tools Cisco made available:
other CMX data (Meraki)
We decided we would do something with its main interactions based on Tropo voice capabilities as that had the biggest wow factor of all the APIs provided.
After thinking what could both be distinct and challenging at the same time we got around to building a geolocation game loosely based on Counter-Strike in which players would either choose to be Terrorists or Cops (Counter-Terrorists) and either plant bombs or defuse them.
Summarizing the game’s nuts & bolts:
All the players are playing simultaneously in either one of the teams (T/CT).
All the non-active devices geolocated by Meraki are used to count the victims of each bomb.
Players are identified by their mac address (Meraki) and can then associate their Caller ID (Tropo) to start playing.
Terrorists call the assistant to plant bombs at their location (only 2 bombs can be active at any time)
CTs get the distance to the nearest bomb by repeatedly calling their intel assistant (which queries the PHP backend in real-time to answer).
Status updates are sent by the assistant to the player through SMS whenever a call is terminated.
And finally Meraki is constantly polling our server to update the locations of all the devices surrounding it which also triggers bomb explosions (their timeout is 7 mins by default)
Having summarized all the game’s mechanics I must say that for such a short time of development we were really glad with the results. The game was running smoothly with a couple thousand non-active players inside the building plus a dozen active ones.
2. Why we won
And now to what I consider to be the most valuable piece of information in this article: an explanation on why we won the competition (AKA my cheap take on psychology and social engineering)
First of all I must tell you that before we got to Pixels Camp they sent everybody this article (which is awesome, by the way) but I must tell you it is lacking something.
Pedro Queiros starts by telling you to have a great idea and that hard projects are the ones that will get you the gold. But Pedro… That’s where I beg to differ!
It’s not about it being hard, it’s about being different.
I think what Pedro means by “hard” is more of what I’d call finesse! :D
And I find finesse to be a careful balance of different things:
Make sure you get other people a little sense of wonder when you present them you project for the first time (AKA “magical moment”)
Don’t go for the obvious because that’s where you lose your edge. If you’re doing the same thing as 10 other teams and you’re doing it because you know you’ll do it better, please remember: you and them are now all tarred with the same brush!
I believe the Keep It Simple, Stupid motto works really well here. You should keep things simple and elegant. If you find things simple while developing your users will love it when using it.
Just as a wrap up I want to tell you that I am in no way saying we did it all or even placing ourselves as experts in any area at all (because we’re totally not!) but that we tried all of these techniques and it worked out for us, so maybe it will work out for you, too. :)