Welcome to Monday Musings! These are are shorter-form, note-like blog posts that I share that may or may not be related to VR/AR, but that I want to share some quick thoughts on, get some extra insight on, or share out quickly.
On the heels of the third annual San Francisco VR Hackathon, and the dawn of VRDC/GDC, I wanted to spend today’s post reflecting on the past weekend and how VR hackathons fit into an interesting developer space within the industry. Hackathons – events where people gather together over a weekend to work on a new project. After a kickoff on Friday, working through Saturday, and a demo on Sunday, several projects will have been born – the labors of love of people across a diverse range of skills. In today’s Monday Musings post, I want to share some of the advice that I’ve come up with from my experience mentoring and attending a lot of hackathons.
VR hackathons are especially interesting – firstly, by nature of what people build (immersive tech is awesome), but also due to the unique technical challenges that present themselves to a team working on VR or AR when compared to more traditional hackathon projects, which skew heavily towards web-based apps.Hackers at any hackathon have to ask themselves some questions – and this is especially true for AR/VR hackathons:
- Which platform are we building for? In my experience, a polished, focused project written for one specific platform will win over a project that was less finished because it tried to do everything. This is often the case when projects are not scoped to an individual platform, especially if the team members don’t already have expertise in the specific nuances of building to an individual platform. If you’re building for Google Cardboard, pick one phone and stick with that. Don’t waste time trying different builds for iOS vs Android to just figure out through trial and error which one works – the result is a lack of ownership and a defined set of requirements to work from throughout the event.
- What devices do we have access to? Some hackathons will provide hardware for attendees to work on. A hackathon may be device specific (“The HTC Vive Hackthon”) and others may just be technology-focused, but when teams start planning out projects, they should keep in mind what they want to work on while being realistic about testing and building their apps. If your team doesn’t have a dedicated device that you are hacking for, make sure you understand what that looks like. I’ve been to events where sponsors have brought some devices, underestimated how popular they’d be, and given them out on a “first-come, first-serve” basis. Some teams will still hack on their APIs and SDKs in hopes of being able to get a device at testing time, but this is a big risk and should be something the team is on board with. Unexpected issues pop up all the time in hackathons, and this is one I see frequently.
- How well do we know our tools, and who can help us if we get stuck? I love to use hackathons as ways to learn new toolsets, but it’s important that your team communicates and is honest about skills on different tools and is in agreement on what stack is being used. Generally, if you are coming to a hackathon with the goal to use a new tool, I like to suggest that you only come in trying to learn one new tool. If it is your absolute first time building for the Oculus Rift, stick to the game engine you’re familiar with. If you’re sitting down with a new tool, make sure that you’re scoping out your tasks to account for the learning curve. I’ve been at events where I’ll see someone who is trying to learn a new SDK, for a new device, in a new language, and it’s a struggle. I won’t tell you anything is impossible, but being overly ambitious is a very, very common cause of hackathon projects not being completed. It’s also important to recognize who in the room can help you if you get stuck. This varies from event to event, but you should pay attention when sponsors introduce their mentoring teams to get a feel for who might be able to figure out a bug you get stuck on – I’ve had times where I’ve gotten stuck on sometime minute for hours, only to find out when I ask for help that it was a missing check box in a component. Such is the life of programming – but at a hackathon, it’s important to have as few of those stoppers as possible.
- Why are we here? People generally come to hackathons for one of three things: to learn, to compete, or for fun. That’s certainly not to say that there isn’t a significant amount of overlap between why people are at a given event, but it’s incredibly important to clarify these things with your team members at the start of the event. If you have one or two really competitive team members who want to win, it’s going to be hard for the team to work cohesively if the rest of the members are just experimenting and don’t wind up with every deliverable met. Make sure that your team members are all on the same page about what the goal is, and be honest about it!
There’s a quote that I really enjoy that I first heard at She’s Geeky about open-space events, and I think that applying it to hackathons work incredibly well too:
Whatever happens is what was supposed to happen, and whoever came is the right group of people for the job
Weekends of building new things, playing with new technologies, and meeting new people are always wonderful opportunities to dive deeper into a given ecosystem. I strongly recommend hackathons for everyone who wants to get ramped into a new device or platform quickly, and who want to learn more about how the different roles in VR come together to create apps. I had a great time at the VR Hackathon this past weekend, and want to give a huge shoutout to the organizers – they did a great job with running the event to help 17 awesome projects come together. I was hosting at the Reactor, so I was a team of 1, but I even managed to get a mini-game for Cardboard pulled together myself!
There will be more on that coming shortly – for now, it’s time to rush off to get ready for all of the events this week that surround GDC and VRDC. New headsets! New games! Meeting all the people I know from the interwebs!