I didn't know what to expect when I was invited to the Hack10 Hackathon in Miami last week. I heard we would be working with Windows 10, so I installed the preview. I heard we would be working with Visual Studio 2015, so I installed that preview. I heard we would be using Azure, which was good because I love Azure and I wanted to learn more. I heard we would be doing something with the "Internet of Things" (IoT) and I wondered what was meant by that. I heard we would be using Git, so I did a bit of reading because I am very much a Git noobie.
But I didn't know what we would be working on or what the format would be.
As it turned out, we were asked to split into teams of 4 or less and come up with an idea involving IoT, Azure, Windows 10 and Git. Many people arrived with ideas and teams already formed. I did not. I looked around and saw a team of 3 with an idea and I asked if I could join them team. It was Dave Voyles, David Crook and Jennifer Marsman and they were kind enough to let me in. I had worked with Jennifer in the past and I knew Dave and David by reputation, so I believed we had a very strong technical team.
David Crook had come to the Hackathon an idea - a hardware device to monitor temperature, pressure, light, and wind flow and report that data (along with time and location information) to a database in Azure that could be queried and displayed in a portal. The hardware device would simulate the readings inside an oil pipeline because this was a real-world problem that Crook had studied before coming to the hackathon. We called our project "Pipe Dreams".
Jennifer worked to program 2 hardware devices - one to monitor the environment and one to send collected data to Azure; Dave Voyles created a portal to displayed the data on a map, updating each collection point and popping up a message if data fell outside an acceptable range. He completed a web front-end and started a Windows 10 client; David Crook wrote most of the business logic and analysis, including some fairly complex formulas that he acquired from his research of the oil and gas industry. and I created an Azure SQL database and a mobile service to write and query the data.
We shared our code in a Git repository, integrated with Visual Studio Online.
When it was done, we had data flowing end-to-end, measuring the environment and collecting data via an IoT device; stored and analyzed in Azure; and reported via a web portal.
We presented our findings to the group. I opened with a video showing a pipeline explosion (of course) and promised that our solution would solve this problem. The other team members showed off the technical aspects of the solution.
It was a competition among the dozen or so teams and first place went to... Pipe Dreams! That's right, we won!
We also had a chance to see what the other teams built, which was a lot of fun. One of the more clever (and sadistic) ideas was a device allowed audience members to rate a speaker during a presentation and give the speaker a shock if his ratings fell too low.
Two other teams placed in this competition: A team from Brazil created a game that became more difficult as more players connected over the Internet and played against you; and Paul DeCarlo, Jared Bienz, and Sertac Ozercan created a device to play music that could be controlled via a range of other devices, including Windows 8, Windows Phone, XBOX One and the Microsoft Band.
Overall, it was an excellent weekend. I learned a lot about the technologies we worked with and I was able to partner with some really bright technologists. Microsoft had invested quite a bit into the event to help keep us Evangelists up to speed on the technical side of our jobs - we stayed in a nice hotel, ate excellent food, and there were a number of experts on hand to answer questions or help us when we got stuck.
I hope these types of events continue and I hope that I can be a part of one in the future.