This weekend a group of us from Leeds# (the Leeds .Net user group) took a road trip across to Manchester to take part in this year's Hack Manchester. Hack Manchester is a 25 hour coding competition in the heart of Manchester. It takes place in the amazing Museum of Science and Industry and is a part of Manchester Science Week. This was the second Hack Manchester and the format was pretty much the same as last year; a large group of geeks take on challenges set by sponsors for a bit of fun, a challenge, and the potential to win some swag. Along the way these geeks are supplied with copious amounts of food, sweets, fruit, coffee, beer and sleep deprivation, and the inevitable chortling and mega-lolz pursue. If your lucky you might also get to see some pretty nifty prototypes.
What we did
There were five of us that travelled over from Leeds and teams were limited to four so we split into two teams. Paul Stead and Rich Tasker paired up to take on the Clockwork SMS challenge - The most ridiculous use of Clockwork SMS. Their idea was to create an SMS version of the 80's classic text based adventure game Zork. Check out their video submission here.
The remaining three of us, Matt Ross, Mat McLoughlin and myself, decided to take on the ao.com challenge - The Ultimate Hack Day companion. Our plan was to sync up with Github and Twitter, gather as much data as possible and display some funky metrics. We had plans to use the number of commits and lines added to drive a horse race and to analyse commits to award achievements. By 2am we had sign up through Github and Twitter using SimpleAuthentication, a simple NancyFX web project with RavenDB and SignalR, and we were getting a load of metrics back from Github using RestSharp and the Github API. Things were looking good, however we had a bit of a startling realisation; we were basically implementing the graphs already on Github, just not as well. This was a massive drain on our motivation - which was a problem as we weren't really having any fun. In Lean Startup terms we needed to decide if we were going to persevere or pivot. We went for pivot.
So at 2am - half way through - we decided to scrap the dashboard and start anew. Matt had been looking into AIMLBot - a .NET bot that makes it easy to implement Artificial Intelligence Markup Language - and had a plan to use this in conjunction with the Clockwork SMS API to create an “Ask Me Anything” SMS service. This is when Dr Clockwork was born. We spent the next few hours getting the service up and running and adding a website to display a live stream of incoming messages and answers. By around 8am we had a working prototype. The next 4 hours were spent working on the design for the site, ironing out as many kinks as possible with the AI and getting the site hosted on Azure. At 12 we launched the site at http://drclockwork.co.uk. Unfortunately the (not so) subliminal messaging in our submission video didn't work and we didn't win.
Preparation is everything! We needed to have settled on an idea before we got there rather than putting a flaky plan together and winging it.
I needed to be more familiar with the API's and libraries we were using. Sleep deprivation and an open bar don't make for the most pragmatic of thought processes. I probably spent over 5 hours battling with SignalR and it was all down to a missing script reference.
That said, one of the most useful things I've learnt is that SignalR is fricking awesome! Once you get your head around the principle it quickly becomes apparent how it could be applied in all sorts of scenarios. This is something I will definitely be using again.
Simplicity is key. It's really important not to try to do too much. When it gets to the early hours you need a simple win to stop despair kicking in. Get a basic prototype working as early as possible then spend time polishing it and adding features.
Beanbags are great for coding on. If you can put up with the heat pouring out of your laptop, then chilling back on a bean bag with a beer in hand is probably the ideal coding position. Well it is for me anyway.
The future of Dr Clockwork
The purpose of creating this service was nothing more than a bit of light hearted fun. That said we will probably extend it a little - just for the crack! We've already got the obligatory twitter account so we will probably add that as a new mechanism to ask questions. It would also be nice to display the messages on the website within conversations. Oh and the obvious thing for us to do is to sell all your mobile numbers to GCHQ ! :P
Thanks to the organisers
This year Hack Manchester was organised even better than the last. Everything was seamless. There were still a few unavoidable wifi issues but these were quickly fixed or worked around. PROTIP: One of the wifi routers was in the beanbag room so signal in there wasn't a problem! Joe, Gemma, Claire and the high vis volunteers did a fantastic job of keeping us fed, watered and entertained. Well done!
Roll on next year!