Most hackathons follow a very familiar pattern: build something that ‘works’ and is potentially awesome as you push yourself to your mental limit. Pizza? check. Sugar? check. NOW GO! Sometimes, these hackathons can be serious creative playgrounds and sometimes, well, not so much. Startup companies from A to Z show off their API’s to hackers in hopes that ideas will turn into useful products by the end of the weekend. Often these companies demonstrate the steps needed to get up and running with the API, tell hackers they will be around to help out if needed, and then *POOF* they usually leave. When I saw an ad for the Ace Hotel Codeathon, I was intrigued by their slightly different approach.
The Codeathon was hosted by Ace Hotel, Jawbone, the Clinton Foundation, and Tumblr…a seemingly strange combination of companies, but whatever. I’ll check it out. The theme was health and nutrition, which was intriguing to me. I work for a Fitness and Music startup company, and have become much more aware in the past 6 months regarding the importance of technology in the health and fitness space.
As I arrived at the Codeathon, I was told that salads would be served all weekend along with free Yoga sessions. In addition to these healthy perks, we were essentially cut off from hacking around 6 pm on both evenings. This meant that there would be no staying-up-all-night-to-get-the-job-done business (at least, not on THEIR watches). Now, for any hackers reading this, you may be wincing right now. Well, believe it or not, I was able to focus much better during the shorter period of hacking time, plus I felt more energized and idea-filled! It was such a cool experience overall AND each sponsor of the event was really involved and encouraging throughout the weekend. I even was able to submit an API bug I found to the Jawbone guys on Github, and it was fixed within a couple of hours on Saturday. At least for me, this was unheard of. It seems to make total sense that the company hosting a hackathon should make sure their hackers are happy throughout the event, but I didn’t really see that demonstrated until this one.
On the first evening of the hackathon, some of the hackers volunteered their ideas. Kathy told us about her idea for a water app, one that would remind the user to drink more water throughout the day. She needed a developer and graphic designer, so Juliana and I both approached her about working on the idea. As we brainstormed for the next few hours, it became apparent that we would be able to work well together, and that the main idea was solid. We all knew from past hackathon experiences that the key was to make the app simple, keeping in mind that we had to do one or two things really well. We got to work.
The entirety of the app revolves around personal water intake throughout the day. We tried to keep the UX simple; too many apps require instructions and overlays to guide the user through complex features. We agreed that every click should be obvious to the user, rather than shrouded in mystery. A single press on the main screen would be used to uncover a radial selector that contained different water amounts that the user just drank. For this, I used some simple UIKit animations, along with some trickier UIGestureRecognizers + UIButton maneuvers. I’m sure that there are some third party libraries out there that have built in ‘radial selectors’, but I found it way more fun to just grow my own.
A few days before the hackathon, I was playing around with accelerometer output, because I wanted to build a step tracking app, or at least see how Moves did it. As our team was considering additional features to add, I thought it would be cool to estimate the amount of water the user drank by using the accelerometer. Simply by setting a threshold on the y-axis accelerometer output, I set a timer to measure the number of seconds a user was tilting the device. We ran a couple of quick and dirty tests to get an approximate measurement of how many ounces of water could be drank in x seconds. This gave us a guess-timate that would at least work for our prototype. The idea was that a user could hold the device at the same angle as his/her water glass and the app would determine the amount based on time and accelerometer tilt. Cool!
By the end of the hackathon, we had a really cool, working prototype of something we felt strongly about. Hell, people might even use it, we thought! Simple design, tight code, and intuitive UX is what it is all about. As our team continues to build out the app, we are staying true to our goals during the hackathon: keep things simple, intuitive, and useful for the user. It is really amazing what healthy eating + Yoga + sleep + water can do for a hacker. Stay tuned!