In this interview, Luke Wallace of Bottle Rocket talks about his upcoming presentation at Mobile Dev + Test, how design principles affect the user experience of an Android app, the role of continuous integration in the development of Android applications, and even his first apps.
Cameron Philipp-Edmonds: Today we are joined by Luke Wallace of Bottle Rocket. He's going to be speaking at the Mobile Dev + Test Conference, giving two sessions titled "Design Apps for Android Devices" and "Mastering Android Development Tools." To start things off, first let me thank you for joining us today.
Luke Wallace: Thank you, Cameron.
Cameron: Can you also start us off by telling us a little bit about yourself and your role at Bottle Rocket?
Luke: I was raised in Boston. I've been at Bottle Rocket for several years. I'm now the associate director of development for Android, which means I lead about twenty-five Android guys on the Android team here, working on a variety of apps for big brands. Bottle Rocket is an agency that works with big brands to build apps that they want to get to their users. I'm also the Android evangelist within Bottle Rocket, which means I train other departments on best practices with Android and keep everybody aware of what's new and what's hot in the Android world.
Cameron: You're also giving two presentations at the Mobile Dev + Test Conference. What led you to the idea of these sessions?
Luke: I guess they both originated from the ideas, really the questions that people ask me when whenever I go to a conference. When people find out I'm an Android developer, they say, "OK, what tools are you using? How do you actually deal with the thousands of devices that are out there running Android?" So, the one session I'm doing on mastering Android tools is really an introduction to all of the tools that we use here. They change all the time, there are new ones coming out. It's a session that I've been doing for a while, but it's always new every time I give it.
The other one is a half-day session on designing. It's really going to talk about a lot of different things related to designing apps for Android devices that cover the lowest end device that you see all the way up to the really high-end flagship devices that all the manufacturers put out. It mostly comes from the demand and the questions that I get at conferences that I go to.
Cameron: Let's jump into some questions of my own here. How does the passing of time affect how apps are being displayed across various generations and iterations of Android devices?
Luke: Android is pretty good about backwards compatibility. Meaning that, as new devices come out, they still run the old apps very well. An app that you write this year, you won't have to make a lot of changes for it for next year, if you just want it to run. It'll look the same, and it's not going to be updated, but it will continue to run. I think that's good and bad. The good part is you don't have to rewrite your app every six months as the new version of Android comes out. The bad news is that it won't look like the newest version of Android unless you go in and do a little bit of work.
I'll cover some of that in my designing session, but that's really the key thing. Apps don't get updated automatically, you have to do a little bit of work. How much work you have to do kind of varies (from app to app and update to update). You don't have to do a lot, but there are definitely some tricks you can do to get the most bang for your buck.
Cameron: When you say they will run, do you mean that they will run effectively, or are you going to lose some of the functionality? Is it going to decrease the user experience or just in the way it looks? Or is it (the user experience) just going to be the same?
Luke: I would say, you're not going to lose anything, you're just not going to get any of the new stuff. The app will continue to run and it will just run as well as it had been running on older Android devices. It just won't be able to take advantage of any of the optimizations or any of the new UI that you'd put in there. It won't automatically get any of that.
Cameron: With each passing iteration, you won't lose any steps, you just won't gain any.
Cameron: How much does design principles affect the user experience of an Android app? Is this any different than an Apple app?
Luke: Yes. I think that the design principles affect the user experience a lot. Android users have gotten a lot more sophisticated, and have gotten a lot more demanding, honestly, in the apps that they use. It used to be that you could say, "Oh, Android users really don't care how an app looks, as long as it's functional." You could kind of argue that Google didn't care about design of apps too much and they were leaving it open to developers a lot, as well.
I think now, especially with Material Design that they just released, and with Holo before that, to a certain extent, Google cares a lot more about design than they used to. We're seeing users becoming a lot more educated and sophisticated about what it is they want to see in the apps that they download. I'm saying that you see a very similar thing on the Apple side. People are always wanting it to look like the latest version of iOS. We're starting to see the same things on Android.
Google's doing a very good job of educating designers. they're providing a lot of information to make sure that designers and developers are able to implement these new designs, and understand, really, what the goal of the designs was.
Cameron: It's both the consumers and Android pushing each other to improve that user experience, and improve that design principle, correct?
Luke: Oh, yes. Absolutely. Developers are always wanting to do the latest and greatest. To have that support from consumers makes it even more worthwhile.
Cameron: While one of your sessions is on designing apps for Android devices, your other session is on mastering Android development tools. In brief, and with a bird's-eye view, can you give us some of the points of interest that delegates can take away from that session?
Luke: Yes, we'll talk about how we write code, how we store our code, and how we share the code. Then the different tools we use. A little bit for designing apps, but really how you do get more efficient when you're developing an app. We'll talk about some continuous integration. Some QA methods that we use to test the apps, as well.
Cameron: I'm glad you used the phrase continuous integration there, because it seems to be more of a popular subject nowadays. What role does continuous integration play in the development of Android applications?
Luke: For us, it plays a big part. That allows us to write apps more efficiently, in that we're spending a lot less time doing just the building part of it. Where you're compiling an app and you're distributing it your QA department so they can test it, or distributing it to your client. Being able to, in essence, check in your code and say, "Yes, I think this works. This is ready to be tested." Then, not really having to do anything, and your QA department can go download a finished app in the next few minutes, and start testing it. Just getting rid of all that repetition that you have to do when you're writing an app and then deploying it. Taking out as many steps as possible really saves a lot of time.
Cameron: What takeaways would you like the attendees to leave after your presentation? Is there some sort of overwhelming feeling you want them to have as they walk out the doors?
Luke: I wouldn't say there's some big thing. There's a joke I'll do during my presentation about how, after one hour, now they are Android tools masters. They sat through one presentation and heard a list of tools and why they're good. Really, what they'll leave with is knowing the names of the tools, knowing what tools that we use. They can go research and figure out are those tools going to work for them. It's not going to be something where you're going to walk away saying, "Okay, now I understand exactly what I need to do."
You'll come away knowing, "Here's the direction to be looking at. Here's some of the tools that are out there." I'll even mention a couple of tools that we don't personally use, but I know that there some other big development shops that use. Or, if they're a smaller developer, they might be considering using, as well.
It's not just going to be the stuff we use, it's also going to be things that I just have heard good things about, or used previously. The big takeaway will be knowing what to even start looking for and what kind of tools really will help your development process.
Cameron: It's kind of both the foundation and also the direction, which will build upon this reinforced confidence that they can do this, and they can do this well.
Luke: Oh, yes. Leaving with that confidence, saying, "This isn't that hard. There aren't four hundred tools you have to get. It's just ..."
Cameron: Even though they might not be a master after that one hour, they know they can still have the confidence that they can be able to master it eventually.
Luke: Yes. Knowing the direction to look and that first step to take towards mastering all this. Knowing which tools are going to be worthwhile to learn. Yes.
Cameron: OK. You're a huge proponent of the Android platform. What about Android is so appealing to you?
Luke: I would say that it's all of the openness and customizability. Openness in the sense that you can read through the source code of the Android platform and see how the Android developers at Google are actually building the components that you use, seeing the techniques they use. Which might not sound like a huge deal, but understanding how the framework components are built can help you understand the right way to build it. Or at least a way to build it that will make it easier for other developers to learn. It'll be similar and will follow the same patterns.
Then, the customizability of it, apps interacting with other apps and being able to customize the experience that you have. Whether that's a UI experience, or a workflow experience that you have with any Android. There's just a lot of opportunities there.
The openness and the customizability leads to a lot of other areas besides just phones and tablets. We're now seeing it in cars. Google's putting it on wearables. On TV. There's all these things that are using Android. Those tools that you learn, the techniques you learn to build an Android app can apply to, not just phone and tablet, but also watches and other wearables and cars.
So many other devices, including, there's customized Android devices that run Android underneath, but on top they're a fully customized proprietary device. There's just huge opportunities out there with Android.
Cameron: It's not just opportunities, it's also collaboration and the customization.
Cameron: Speaking of wearables, it seems you're wearing one right now. Do you wear that often? Is it an every day thing?
Luke: Yes. Google Glass is something I wear, that I've been wearing for a long time. Now that I have prescription frames, I typically wear it. It's just, my daily driver, might be the right term, at work. It's really nice, now that it's got Android Wear integration. I also have a Moto 360.
Luke: I was at Google I/O and everybody there got one of those eventually. I'm definitely in the wearable space quite a bit.
Cameron: Awesome. Now, could you tell us a little bit about some of your first Android apps, both for Bottle Rocket and otherwise?
Luke: Yes. Bottle Rocket's been around a long time in the app sense. In the modern app sense it's been around about six years. I've been with Bottle Rocket just a little over four years. Some of the very first apps that I worked on for Bottle Rocket were ... There was one for AARP. It's a big group, kind of that retiree, getting towards retiree generation. It was a great first app to do. I was working with a big brand and helping them make an experience that would work for their users.
Trying to think of another app that I did. I don't think it's available any more, but one of the other ones we did was for the Bravo network for their Top Chef property. We did an app for them. It was kind of a social network for people who wanted to rate food. The idea was, you would go to a restaurant, take a picture of your food, which is super common these days. Everybody does that. You could take that picture, upload it, and then you could go through and rate that food. Not just how it tasted, but also how it looked, what was the presentation like? There were a lot of real interesting characteristics there. It had some interesting UI for how you would actually rate things. You could kind of spin this little plate around to pick how you wanted to rate stuff, because it wasn't just a one to five star rating. All different categories. Then you could pick a little quote of how you felt about it, based on how you'd rated it. It was kind of interesting.
So, yes. Those were a couple of the very first apps that I did for Bottle Rocket.
On my own, I'd done an app that was just about learning some APIs, it was about mapping some pictures, and things like that. Basic stuff.
Cameron: OK. Do you think that your design principles and user experience principles you were able to apply because they were Android apps? Made them more successful, or a better experience for you as a developer, as opposed to using the Apple?
Luke: Yes, I think that was. This was all back quite a ways, several years ago, before there were a lot of really good design principles. The key design principle that I always was pushing for at that time was, "Just don't make it look like an iOS app." I felt like there were a lot of those, and it just felt kind of lazy. Although Android didn't have a real rigid design, it definitely had a few elements that were different than iOS and needed to look different for users to really adopt it.
We had great designers that we were working with, that are on staff here. They understand that, and they tried to do what they could to make it as Android-friendly, but still maintaining that brand. That can be hard to do. You want it to feel the same on both platforms, but not be exactly identical.
Cameron: As one final question here, is there anything you'd like to say to the delegates of Mobile Dev + Test before they attend the conference, of course, before they attend your presentation?
Luke: Yes, so I would say that it's great that you're attending, or thinking about attending. I think it's going to be a great conference. There's a lot of great content, looking through the speaker lineup. I would say, look for the speakers before or after their session, and maybe ask some of those questions that you have that are one-off. They'll cover a lot of information. I know I've got a lot of stuff to get through. But, there's always going to be those questions that you have.
Come up to me afterwards, I'd be glad to answer any questions that you have about an app we've worked on, or how we handled a certain type of problem, or a certain tool we're using. We use a lot of third-party stuff. I can't get into every single thing during my presentation. Come up and ask your questions afterwards, and I'd be glad to answer them.
Cameron: All right, fantastic. That actually wraps up our interview. Today we had Luke Wallace of Bottle Rocket. He's giving two presentations titled "Designing Apps for Android Devices" and "Mastering Android Development Tools." Make sure to check them out. Thanks again, Luke!
Luke: All right. Thank you, again.
Luke Wallace leads all Android development at Bottle Rocket. Luke wrote several of the first Android apps for Bottle Rocket and continues to oversee every project to maintain quality and push the bounds of what’s possible. A strong proponent of the Android platform, he is an invaluable resource for getting the Android perspective on news and trends within the industry. With his technical knowledge and humor, Luke loves educating people about Android.