Greg Avola is the CTO, developer, and cofounder of Untappd, the popular social beer network. In this interview, Greg discusses fast-paced mobile development, crowsdourced testing, and new testing tools that can help you navigate many different mobile platforms.
Jonathan Vanian: I'm here today with Greg Avola. Greg is cofounder and CTO of Untappd, the popular beer-friendly social platform and app. Greg, thanks for being here with us today.
Greg Avola: Thanks for having me.
JV: No problem at all. Let's start a little by having you tell us about yourself and your experience.
GA: Sure. Right now, I'm currently the co-founder and CTO of Untappd, which is a social beer network. The best way to probably describe it is that it’s like a Four-Square for beer, where you just contract and log in their beers from where they're at. My background is in computer science. I went to a college here in the Boston area where I'm originally from and got my master’s degree there as well as business technology. After school, I was really, really into programming. That was my forte. I remember building my first project back in high school, which would predict when you were going to die or something. So what you put in for your parameters and how much you weigh. One of the great experience was being able to manipulate data in a different way that I never thought was possible.
After college I actually went into a more business side of IT, where I did a lot of IT audits. Primarily background after college is more on the audit side changing management doing deployments in the financial world, which is strange from an IT perspective of what I do now.
JV: You have some enterprise experience, then, in working on some big projects.
GA: Exactly. I worked for about six years for two major corporations. One in the consulting world for KPMG and another for a financial firm here in New York City, where I live currently. I got my taste for different types of development processes in terms of deployment, in terms of change management, in terms of operations. After that, I wanted to spin off and do my own thing; I actually do Untappd on the side. My full-time job now, I work for ABC News here in New York City and I do web development for their platform. I guess you could say, I've got a broad experience when it comes to development processes. On the enterprise side, from being the guy as the auditor that nobody likes see come through their door to being the actual developer and trying to apply some of that logic that I've learned through the auditing world to my current position.
JV: How did you come up with that decision, because I bet we have a lot of people who are working on enterprise stuff on the side. They have a dream and they've got an idea they want to really launch.
GA: I always thought to myself that I have to quit my job and go back to college days where I'm eating Ramen and living in a box on the corner. I think with the technology we have available now and the potential free time that you might have and the services that are available online today are very cheap to spin up your own instances of web servers. There's definitely the possibility you can continue to work in a full time role and work on your side project on your own time. That comes to fruition. Maybe it takes off, maybe it becomes your full-time role or for me it actually helped me get a new job on a team based on my experience. It kind of works in mysterious ways, because I think a lot of people are hesitant, because they feel like they have to leave it all behind and put a 100 percent to it, but I think when you're building a small start-up or your building a small enterprise application, you can kind of do your own pace and see if it works for you. It's worked for us. As long as you dedicate some time to it and focus on that, it does work. It's possible.
JV: How many people are part of Untappd?
GA: It's just two people. It's myself and another co-founder who lives in California. My primary role within Untappd is mainly the technology side, so I'm focused on infrastructure, app development, testing, deployments. All the fun and interesting things, monitoring and all that stuff. My co-founder is responsible for the UI design side of the business, so we split those duties pretty well. I tell people all the time, I can make really cool things, but they look like crap, so then my partner comes in and cleans it up and makes it look all pretty. We're only a two-man team and we have over a million users on the application. It's a story I like to tell from people's perspective of "Can I build an app and get it off the ground with just myself and somebody else." I think from our perspective, I think that's definitely something that's possible. As long as you put your mind to it and put some time to it, it's definitely something you can do on the side.
JV: As far as development goes, why don't you talk a little bit about that. I'm assuming it's a rapid, fast-paced environment.
GA: Oh yeah.
JV: Is it agile? Are you doing agile just because you sort of have to?
GA: Exactly. I don't see working at an organization like ABC News until I have experience with more, a little bit more agile where we develop and go through some change-management procedures and then deploy. But with Untappd, it's a really interesting paradigm. I'm one of those developers that likes to deploy a lot. I actually deploy code to production a lot. I have to look at how many times I have to deploy. My perspective on that is that I really feel that a lot of times in development, you sit and wait over-QA, over-design, over-develop a lot of things. When you're small company like myself, with Untappd, you really need to put something out there to get some feedback from some users and then iterate on that process. I'm OK with making mistakes and I've made plenty in my past, but I feel if you get something out in the hands of the users and they play around with it, you going to get a lot more feedback then spending about another month-and-a-half doing full QA and finding some small bugs here and there. That's kind of the way I look at it. We put a lot in production, a lot in agile. If something's broken, if something doesn't work right, quick fix, then we go right to it and then put it in that perspective.
JV: You’re pretty heavily reliant on your users then for that constant stream of feedback.
GA: Exactly. That's one of the things that we actually started from the beginning is that we want to be an application for the community. I think beer is a very interesting community itself. Funny story is that when we first built Untappd, neither one of us was really into beer, I guess you could say. I actually didn't even like it to be honest with you.
JV: Really? Ok, that's interesting.
GA: Through the application we learned more about what we like and what we don't like and we've become beer aficionados in that process. From our perspective, if this app can do that to us, we think it can do it to other people. This community of beer drinkers is very responsive to that idea. We get a lot of feedback from a lot of people. We have our own little mini-beta group of volunteer testers that really go through our site and comment on everyday basis, even our application, as well, to give us feedback here and there, and that helps significantly. It's impossible when you're a small two-man team to keep an eye out for almost everything on the site. Of course, we can monitor it from an infrastructure level and also from database level, but as far as the user interaction level, that becomes a very challenging thing; so, we rely a lot on user feedback to help us excel at that level.
JV: How many people do have in the beta group?
GA: We have about forty to fifty people in the beta group. It's a small number. I really find that if you get a small number of dedicated beta users that provide feedback on a regular basis, that's much better than having maybe potentially a thousand users and only fifty of them are active. We have a bunch of beta users that are all active on our forums every single day. One of the things with beer is, not only do we have testing needs, but we also have data accuracy needs. So, not only do these beta testers actually provide feedback on bugs and errors with the actual site, but they'll go ahead and use our shipper /user functions to merge duplicate entries because of the way that our system is set up where people can actually add beers if it's not in the database. And because beers are all made differently, different countries, there are a lot of different things that happen all over the place. That aspect is helping us to keep our system running, but also keeps it clean. That also helps a lot with natural beers; data management helps significantly.
JV: Data management.
GA: One last other thing that I've learned throughout my years, is that developers have this mantra, thinking almost like “If I built this product, I should be the only one that actually gets to do whatever they want.” What I've kind of taken the stance is, this application is built for the community, and if I don't let the community help me grow the application by being able to bring me more information on the beer data management for beers over in London or beers over in Spain, I have no idea about. Then, that will help the community grow, and if you have an open mindset, then I think you're going to make a lot of headway with that.
JV: How do you go about choosing these forty to fifty people? How are you able to weed out, I'm assuming, the hundreds or others that want to join in?
GA: We get countless requests almost every single day from users. “I want to become a fifty-user,” which we call them, our beta group. I'm a user for this platform or whatever and we get a lot of requests and honestly, we have a help forum that users can actually submit merges or edits to beers or bugs. I honestly look at that profile for the user and I see how many times they've taken time out of their day to actually go in and write these full detailed requests. Now, if you've ever work with tech support or development, you know that you see numerous requests from your client saying "Something doesn't work."
GA: Because you have no idea what was doing, what brought it on, and no detailed statistics on what they've done in terms of troubleshooting. It becomes a needle-in-a-haystack trying to figure out what the issue is.
GA: I typically look at the help-desk forums that people have submitted tickets for issues, on-site issues, or app issues, and also how they detail their beer merges or their beer edits in our system. If I find that those two are pretty high level, then I'll reach out to them and say "Would you like to be part of our super-user group?" To be honest with you, everyone I've reached out to has accepted and is really excited to do it. I think you find the right people that are dedicated and are fans of your platform, they make the best testers because they really care about what they're talking about as opposed to someone who just says they want to do it and then you never see them for like two months.
JV: These people are really going out of their way at the beginning to write detailed responses and you're just getting them along.
GA: I love to hear bug reports and I love to fix things, but one of the most irritating things for me is when people just say, "It doesn't work." I think that helps nobody and I think when you're looking to help to build your platform and help you build your data and help you fix bugs, you want those dedicated people that spend the time to show you exactly what browser they're using, what processes they did, screen shots, and stuff like that. That helps everything a lot. Synchronicity and then go.
JV: I was just going to ask you: a pretty common dilemma facing testers in mobile is testing on all the various platforms.
GA: Oh yeah.
JV: So how do you go about doing it? Do you assign people in your group? Does someone have a Nexus phone and you have them test everything on that? What is the process like for that?
That solves the problem development, but the problem also exists on the other side of the table from the testing perspective. We have a lot of tools to help us get feedback. One is TestFlight, which, up until now was supporting Android and iOS, but now is only iOS and that allows us to basically build our IPA—no pun intended for the beer. It happens to be the name of a file, but what it does is send that file out automatically to all our testers and it actually integrates with our platform so when crashes happen, it actually sends information back to TestFlight, so we can see in real time what's happening with the errors that are occurring.
JV: That's very handy.
GA: That helps significantly. All of our beta users will have an opportunity to sign up for TestFlight when they first join the super-user group. They have an opportunity to see the iOS version or the Android version. TestFlight, at least it used to before it dropped the Android support, would separate those out, so you could upload an ADK or upload an IPA and they would basically just filter out. The beta user downloads them and they get real-time analytics on how they're doing. Up until now, we've obviously couldn't use feature for TestFlight, but I've discovered a pretty new product that's out there called TestFairy.
JV: TestFairy, OK.
GA: It's specifically for Android. Kind of a little bit new in the process, but what I love about it, it allows users to actually capture their screen in terms of video of how they're using the application and what their processes are for producing a bug. Now, with Android, when you use Jelly Bean or higher, the logcat isn't available for users. The actual log of errors is not available unless your phone is rooted. It makes it really difficult for users to do actual de-bugging, because if they hit an error or they have a non-responsive app, it pretty much dies and you have to ask them to replicate that process from like "How do I do it again, so I can see it on my screen when I'm plugged in to my console so I can see what the errors are.”
What TestFairy does, it actually installs a listener on top of your app. It actually records the video screen and how they're interacting with the app. I've never seen something like this before. I used it for about a week, two weeks now and it's very early in a beta phase. It's extremely helpful for users that are not very articulate with how they've actually gone through their process of finding a bug.
JV: It's almost a little bit creepy, but also so handy for testing.
GA: Obviously, we would never use it for a production product, but for beta it makes perfect sense. It doesn't track the usage on other applications, only on the application that you're using. When you're testing Android and they're multiple versions of the Android, multiple phones, multiple screen sizes, you're at a loss where to begin. Having the ability to see exactly what they see is extremely important when you’re talking about distributed team all over the world. We've seen issues per se sometimes where one phone on one network with one version is having a problem. It's almost impossible to delve deep into that situation and try to test those things. I've been known to actually buy phones off eBay just so I can see what it looks like from the user perspective for major issues. This gives me the opportunity to see real-time. The good thing is, it gets around the issue of the root issue of the logs, because I can see it in real-time as well. I can actually play back screen shots in the video of where they were. It not only helps for testing, but it also helps for UI/UX. Maybe you built a feature that you thought they would use and they're not using it the way you thought they were going to use it. That's another feature that I love about this new product called TestFairy.
That's the normal process that we do for a really cheap platform. For the Blackberry side and the Windows phone side, we actually use the same kind of group of beta testers. We have a bunch of people that are big fans of it on Windows phones, and they have their own Windows phone testing group. Blackberry is the same thing. We push the versions out and wait for their feedback and build off of that.
JV: You were talking about earlier on in this interview that now is the time people can build something. The barriers of entry are a lot smaller than they used to be. It seems like these tools like this, you can do so much testing and this has really helped out the process for a small development shop.
GA: If you think about it, we are only a two-man team. I have a full-time job in addition to this. The amount of time I can spend on it is very, very low during the week and stuff like that. With all the other things that I have to do, I want testing to be as streamlined as possible. If users can use the application throughout the entire week and they can record their thoughts and opinions right from some kind of plugin with TestFlight or some plugin with TestFairy and record everything, then it makes my life easier. I just go back and I can check off something I can fix automatically. This product solved some of the need for some of the testing for the major phones, but I think ultimately when it comes down to the very end, you're still going to run into some issues here and there with some of these more off phones all over the place. It's a double-edge sword. I always go into so excited and happy and then I'll end up finding like two or three minor issues that I would have never found because they were just some obscure bug. We take the 80 and 20 percent rule, so we are comfortable on an 80 percent level that we've conquered 80 percent of our traffic in terms of mobile; we'll push that out and we'll be good to go. The 20 percent we'll deal with in subsequent updates. If we've targeted our large audience, I think I'll feel pretty confident about our testing.
JV: All right. We're coming close to the end around here. Now that you're a beer connoisseur, what beers have you discovered through this product of yours? I think it's very fascinating that you were not even interested in beer before.
GA: People laugh at that when I tell them that all the time. One thing I think about beer is that people kind of look at it from a perspective of the big macro-breweries in the country. They may not have the taste you're looking for. Then when you go off and try and explore beer on your own, you tend to try something that maybe is not the right style that you like and that kind of turns you off in general to getting out of your comfort zone. That was the exact same problem for me. Trying some beer, trying to figure out what I liked. Through the application, I figured out that I do like IPA's. That was my favorite style of beer.
JV: The file type and the beer.
GA: Exactly. I never found one that I really enjoyed. When I tried that beer, my eyes opened and I was able to experience in a different way. Honestly, one of my favorite beers is actually in California called Russian River. They make a beer called Pliney the Elder, which is their double IPA. Again, I had never heard it before because I'm from New York. I don't ever see that, but from the application I saw people checking into it, the ratings and reviews. I got intrigued, so when I was out in San Francisco, a couple of months ago, I actually drove up to the brewery in Santa Rosa and had a pint there. Those are the kind of experiences I think you come to when you use the application. You may not start off as a beer fan and you're using it to discover beer in a new way, but then when you find what you like, that is an amazing experience. Through the app, I found what I like. I think people are doing the same thing, as well.
JV: Finally, any fun-facts you can share with us for lending all the data you have on beer lovers throughout the world?
GA: I think one of my favorite stats is, first of all, the average drinker on Untappd, drinks about, I believe, it's eighteen beers a month according to our data. That's interesting to say the least. The more interesting part of that equation is the fact that there are over 150,000 home-brews that have been added into the database. We allow users to actually add their own breweries per se. They track their home brew. Maybe they have different versions they want to put out there. They want to get feedback from friends that are local and stuff like that. I love to see the fact that people are using this product, not only for the commercial side, but also for the beers that you brew on your own time, which is crazy to see. Finally, I think one of my favorite stats of all time is the community, as I mentioned earlier in this conversation, how passionate they are about beer. When we first started the database of beer, it was about open source database about 5,000 of all the macro beers you could see everywhere. From this, the user community has created over 350,000 beers, commercial beers, that the home brews talked about earlier, in addition to the five.
JV: That's amazing.
GA: That to me shows the power of the community being able to grow, helping them grow, helping to add new beers to influence everyone else to trying new beers itself. It's great to see that kind of growth and that kind of Wikipedia-style entry. Of course, it adds a little bit of a headache in the end by being a lot of merging and stuff like that, but I think in the end, it does have value that we are looking for.
JV: All right. Great. Thank you for taking time out of your day to talk, chat with us today.
GA: No problem. My pleasure. Thanks for having me.
Living in the craft beer haven of New York City, Greg is the backend developer for Untappd. After experiencing Rare Vos for the first time, he instantly fell in love with craft beer. While some people enjoy reading books or watching movies, Greg's passion is to code. With that being said, after Tim and Greg came up with the idea of Untappd, Greg had a working prototype the next day. Being able to combine his passion for development and craft beer allowed Untappd to be born.