Beginners luck is a phrase I have always hated. But really, beginners luck comes down to not letting your experience in something get in the way of the idea.
This past weekend, I drove to Atlanta for my first ever hackathon, HoloHack, presented by ThyssenKrupp. Twenty hours and many energy drinks later, the team I led, "Bring The Payne," walked away with the top prize. Here's how we did it.
The theme of HoloHack was Smart City applications for the HoloLens. For weeks prior to the event, I pondered through ideas of what to make for the hackathon. To me, constraints force creativity, so even though it was allowed, I refused to start putting together anything ahead of time. I didn't even arrive at the event with a team in mind.
I did throw out a few feelers; I had a few maybes but nothing solid. Between changing full-time jobs and tons of freelance development work, nothing ever materialized. So I just headed out with my HoloLens and an open mind.
Early evening Friday, after running late and driving 90 mph all the way to Atlanta trying to get there before the 5 p.m. start time, I made it to The Garage, aka Sandbox ATL. It was 5:02 p.m. and, fortunately, as any well-organized event should, it started about 30 minutes after schedule.
The venue was gorgeous, and a perfect choice for the event. The non-symmetrical visual motif really appealed to my industrial sensibilities. The layout was really social in nature while allowing private work rather easily.
The event organizer, Shane Reiser, walked everyone through the event rules and how it would work. Mostly the rules were about sharing the communal HoloLens headsets brought in by ThyssenKrupp and Microsoft. Everything else was pretty much open game.
About three minutes before Shane finished and said go, my app idea finally coalesced into a project. I still didn't have a team, so I went and grabbed some food.
While eating, I found Aton Bridges, a full-stack web developer with zero experience in HoloLens development, who also happened to be without a team. We sized each other up as potential allies and, luckily, our ideas kind of meshed together, so we decided to go all in. It was time to begin.
As the Unity/C# guy, there was no question what my role would be. Aton set about organizing, rounding out the rough edges, and gathering or creating the data we would need for the application.
Some time later, I finally met my online friend Chris Perry face to face for the first time. He brought some Unity and UI graphic experience with him, so he joined our team, and I put him to work.
Cory Brown was the next to join. As a 911 dispatcher, he offered extensive insight into our project.
And finally, Alan Carter arrived a few hours later. Alan is an old friend that I worked with for years back in the day, but had not seen in a long time. He was always a good 3D modeler and artist, and his work has gotten even better over the years.
There were a lot of ideas thrown into the mix, and considering the amount of time that we had to produce this project, we got many of them in. After the push and pull of the creative process, a prioritization system was implemented.
From the judging criteria, two things really stuck with me in terms of design: its wow factor and that it was easy to understand and use. These guided all decisions we made—if an idea helped with one of these factors, then it was a B priority, but if it helped with both, it was an A priority.
Another factor in our prioritization was resource management. Carter hadn't yet arrived, so we only had so much time to use his skills. Until he made it on the scene, all tasks that required him were labeled as C level. When he got there, those ideas moved into the A bracket.
With all of that in place, our team's idea finally came together:
Use the HoloLens to create a top-down view, real-time strategy style interface for civic leaders to manage the cities they are in the position of leading.
New forms of data visualization are just one of the many major benefits of mixed reality. Taking into account that research shows that we learn faster in a 3D context, this was the primary idea that we chose to show off with the technology. We would use multiple layers to give these leaders access to different data sets with voice commands.
The layers we eventually chose to use were these:
- Utility Infrastructure Age
- Emergency Service Coverage
- Food Security
- Redevelopment Opportunities
It should be noted this project was strictly a mockup, so we didn't need to use real information or even a real city. They were on our list, but D level priority. If we could have found a means to effectively implement real information in the time given, we would have.
Here's a quick demo of what we created:
At this point, we dug in. My head was deep into Unity and C# problem solving—working through issues is always a rewarding feeling—so much of what I was doing in Unity was strictly by the seat of my pants. With that in mind, no one gets to look at the code, in its current state, anyway.
Around 3 a.m., some of us we're nodding off, and Alan and Chris left, followed by Cory next. This left Aton and me to keep the fight up. Aton made it another hour before he was passed out at his computer.
I kept going. I had all of our data layers done around 5:30 a.m., and was at that point just adding flavor—sounds, particles, and shaders. My part of the project was done around 7:30 a.m., so I wearily grabbed about 90 checkered minutes of sleep, my mind half abuzz with new ideas and tweaks for the project.
Aton eventually rejoined the land of the living and Chris made it back. As they ran through the application, I saw the huge smiles across their HoloLens-covered faces and knew we had a hit.
We had a few more decisions to make, including naming the project. About 30 minutes later, the judges began making the rounds, listening to the teams' elevator pitches. I did my last build, compile, and deploy about 2 minutes before the judges made it to our room.
At this point, my brain was complete mush, and I'm not what one would call a faceman on the best of days, so Aton gave the demo to the judges. From the corner, I watched as each judge went through the menu options with surprise and smiles. They were very complimentary, and I said to Aton, "I am pretty sure we at least placed."
In a room full of hackathon regulars, I didn't think we had any hope of winning, but I was eyeing the Xbox Elite placement prizes. I have been doing some multi-platform work with Xbox and HoloLens and would love to have an extra to keep in developer mode.
As the prizes were being announced, I got really disappointed as other teams were called forth to pick up their Xbox prizes for 3rd, and then 2nd place. Since I thought there was no way we got first, these other winners meant we didn't even place.
When D'Arcy Salzmann finally announced the first place team, he said something like "Payne Up," and it took a few seconds for my tired and slow brain to register that they probably meant our team "Bring The Payne." I stood up and walked to the front, in a dream-like state. Not in a clichéd, dramatic, tension-building metaphor kinda way. I am pretty sure I was literally sleeping while standing at the podium, moments away from REM.
All in all, Reiser and The Garage put together a great event in a great venue. The judges and sponsors, ThyssenKrupp and Microsoft, have set my expectations for future events pretty high. From what I have gathered since the event, the quality of the overall experience was higher than most.
I met a bunch of cool people, reconnected with an old friend, made some new friends, and brought home a free HoloLens. I would call that an awesome weekend!
What other questions do you all have about the experience? What have your hackathon experiences been like?