Locale App for Android Phones “Wouldn’t Even Be Possible on the iPhone,” Says Winner of $275K Developer Challenge
Last week’s unveiling of the first phone running the Android operating system—the T-Mobile G1, which will be available to consumers on October 22—suddenly made Google’s vision of an open source smart-phone platform to compete with Apple’s iPhone seem much more real. But developers writing applications for Android phones have been immersed in the new operating system for months, and one of the teams that’s gotten the most pre-launch publicity is right here in Boston. It’s the group of current and former MIT students behind Locale, an application that automatically changes an Android phone’s settings based on its location.
If you’re a movie or music fan, for example, you could use Locale to teach your Android phone to shut off its ringer whenever you go to your favorite cinema or concert hall. Or you could program that risqué Gisele Bundchen or Tyson Beckford wallpaper to change into a staid nature scene when you walk into the office. It’s such a bright idea that the Google-led Open Handset Alliance picked Locale last month as one of 10 winners of the $275,000 top prize in its first Android Developer Challenge, a contest designed to stimulate outside programmers to come up with useful apps for the Java-based operating system.
That’s a cool $55,000 each for the five members of the Locale team—Clare Bayley, Carter Jernigan, Jasper Lin, Jennifer Shu, and Christina Wright—and comes on top of the $25,000 the team won for making it through the first round of the Android contest. The group was one of six teams participating in an experimental spring-semester course, “Building Mobile Applications with Android,” taught by well-known MIT computer scientist Hal Abelson. Though the students had only four months to come up with a functioning application, “All of them actually produced things that worked, which was amazing to me,” Abelson told Bob.
Not only does Locale work—it’s one of the applications that will be available starting October 22 from the Android Market, Google’s answer to the iTunes App Store for the iPhone. That’s according to Carter Jernigan of the Locale team, who’s now a full-time software engineer for Akamai Technologies in Cambridge, MA. Jernigan met me for lunch in Kendall Square this Tuesday, and I asked him how his team came up with the idea for Locale, what it was like to win the Android Challenge, and how he thinks Android compares to other mobile platforms. (Locale “wouldn’t even be possible on the iPhone” thanks to restrictions put in place by Apple that keep third-party programs from running in the background while other programs are active, he says.) An abridged version of our interview follows.
Xconomy: Did you have the idea for Locale going into Abelson’s class, or was it something you came up in the course of the semester?
Carter Jernigan: The brainstorming began before the class. One of the prerequisites was that you needed a team and a project—not necessarily a final idea, but some idea of what you wanted to be. So we did a lot of brainstorming and came up with the idea for the application and assembled the group before we applied to be in the class.
X: Did you also know ahead of time that you wanted to enter the Android developer contest?
CJ: We knew about the contest going into the class, but entering it wasn’t our primary goal. Our primary goal was to do well and get an A. But entering the contest was certainly doable within the context of the class.
X: Why did you pick the problem you did— a location-based application for changing a phone’s settings?
CJ: I was looking for an application that would solve a problem that people have on a daily basis. The idea hit me when I was just observing friends and family members and coworkers having their phones go off all the time. Having the phone behave differently depending on where you are is a way to solve the problem.
X: Haven’t there been previous attempts to get at this problem of cell phones ringing at inappropriate times? For example, I’ve read about movie theaters and playhouses experimenting with jamming devices that would prevent audience members’ phones from receiving calls.
CJ: My understanding is that jamming devices are illegal. And blocking people’s communications is such a blunt way to solve the problem. I don’t think that’s the right solution. One of the things Google is trying to do with Android is make it a very advanced platform in terms of location technologies—having a compass built in, an accelerometer, GPS, cell tower positioning, Wi-Fi. All of that was built into the Android SDK [the software development kit, a set of tools given out to third-party developers] very early.
X: Meaning that an Android phone will always know where it is, so you should be able to use that information to change its behavior. Was that the concept from the beginning, or did the idea for Locale change as the class went along?
CJ: Within the first week all of the teams in the class had their ideas pretty well solidified, at least from an elevator-pitch standpoint. The idea was refined as we went through the class—mainly, adjusting the scope to what you can accomplish in a semester. But in some sense we were actually limited by what was available from Google at the time. There was a beta SDK and a simulator, but there were no actual Android devices available, so that limited what we could do with the application. So we just had a very simple vision of being able to change the phone settings based on location.
CJ: Obviously, these are phones so you can change the call settings—ringer volume, ringtone, and the call forwarding options. But there are other settings too, like changing the wallpaper, or turning off high-battery-drain components like your GPS or Wi-Fi or Bluetooth chip.
And we did one thing to let a lot more things happen with the application: we created a development platform that supports plugins. We supply the documentation so that someone besides us could pretty easily write a plugin that would allow the application to do things beyond what we created it for. And to show off the platform, we wrote a Twitter client that posts updates to your Twitter account based on whatever is going on with your phone.
A good example is, say you’re on a trip to San Francisco, and you want you family back home to know that you got there safely and you want your friends in San Francisco to know that you’ve arrived. As soon as you land and your phone detects that it’s in San Francisco, it can automatically post that fact to Twitter.
X: The things you’re talking about, like having the phone turn off the ringer automatically in certain locations, seem like things that phones should do anyway. Isn’t it kind of odd that with a smartphone platform as sophisticated as Android, Google wouldn’t just make that part of operating system?
CJ: That’s one perspective. Another possible perspective is that Google just hasn’t had the time to do everything. There is a lot more to come with Android—we are just at version 1.0, and with your first version, you always just try to stay within scope and get the core functionality working first. And Google is interested in third-party applications because it creates a network effect. All these external applications make the platform itself more powerful.
X: Can you talk about the experience of entering the Android Developer Challenge?
CJ: The deadline for the first round of the competition was April 15, which was a good six weeks before the final presentations for the class, so we had to push up our schedule a lot. We basically did all of our development between mid-February and mid-April. We wound up submitting the prototype about 15 minutes before the deadline.
We should have been really happy, because we had basically gotten our course work done a few weeks early. But we hadn’t really reached our own goals for what we wanted the application to do. So we kept working for the next few weeks, and by the end of the semester our app could change phone settings like the ringer based on the location, and we had the development platform in place.
Google awarded $25,000 each to the top 50 entries in the first round, and we found out that we had been selected right before our final presentation. So, we’re getting ready for the presentation and one of my classmates checks her e-mail—on her iPhone, ironically enough—and there’s a message saying, “Congratulations, you’ve won $25,000.” It was pretty exciting, and a good way to end the class.
That gave us eligibility to enter Round 2, which went through August. So we basically worked all summer long on improving and polishing the app. I was actually in India on a business trip at the end of August when we got a phone call from someone at Google saying we’d won the $275,000 grand prize in the second round.
X: That definitely helped you guys get noticed. So what do you do now—do you take the money and form a company? How do you get the application distributed?
CJ: The prize was paid to us as individuals. As far as our business, we’re moving forward with getting everything in place so we can distribute Locale directly to consumers who have Android phones. I can’t go into all of the specifics. [Like iPhone developers, many Android developers are bound by non-disclosure agreements with Google--WR.] But we are very much looking forward to having our application available for download in the Android Market.
X: So you’re keeping your day jobs? You’re not forming a company around Locale?
CJ: We’re aggressively moving forward with Locale, but we’re also keeping our other jobs. I’m at Akamai, Jenny was already at Oracle, Jasper just started at Google. This started out as a student project, and the mentality was always that it wasn’t a full-time project. For the time being, that’s where we’re at.
X: How difficult it is to write applications for the Android platform? Did you have to learn any new programming skills?
CJ: The class was not about how to write software, it was about how to start a project. We entered the class with all of the software engineering skills that we needed. We all knew Java, which is the language Android is based on. The tools that were provided, like the Android simulator, worked pretty well. The biggest frustration was the changes from version to version of the SDK. But that’s to be expected with any beta platform. From Google’s standpoint, it’s better to have developers working on the platform while it’s still in its early stages, finding the rough spots.
X: Now that you’ve created this application for Android, have you thought about building something similar for other devices, like the iPhone?
CJ: We feel like Android is the first operating system to bring everything together that would make our application possible. Our application wouldn’t even be possible on the iPhone right now—not for technical reasons but because of the restrictions Apple places in their SDK, where you can’t run third-party applications in the background. Other platforms have their own limitations. The openness of Android creates an environment for applications that just aren’t possible on other platforms.
X: That gets at an interesting issue. Right now, if you are a developer of third-party mobile applications and you want to earn some money, the iPhone and the iTunes App Store is really the only game in town. And the iPhone is a powerful device that developers can do a lot with. But now, here comes Android, which has the attraction of being open. Do you think that means that some of the people who are working on iPhone apps right now will eventually switch horses?
CJ: There are two sides to that question. One is that Google has gone on the record stating that from a user interface perspective, it’s not trying to make Android as slick as the iPhone. Part of that is due to the desire to make Android work for different devices—not just touch-screen phones but phones with keypads and trackballs or other interfaces. Because it supports all these less sophisticated devices, Android may actually turn out to be more powerful and more widespread.
The other side of it is that there is going to be a more symbiotic relationship between Google and third-party developers. That relationship is based on Android being an open platform, which makes it possible to create applications that couldn’t be done elsewhere. That benefits Google, because as developers create more external applications it makes the platform itself more powerful.
X: Speaking of platforms—what inspired you to make Locale itself into a platform that other developers could tap into? Do you think that helped you to win the developer challenge?
CJ: That was really Jasper’s idea, and it ended up being a great one. One reason we created it is that if you have a location-enabled phone, you don’t want to have to define your frequently-visited locations over and over again for each location-aware program, like your to-do list. It would be nice if you could do that just once. So when you arrive at one of your locations, Locale sends out a message that we call an “intent,” and applications that are listening for this intent can see that you’ve entered that location, wake up, and do something, like send out a tweet, in the case of the Twitter client. I think it did give us an advantage in the challenge, because it showed how creating a development platform is relatively easy in Android, compared with other operating systems.
X: So, bottom line: will Locale be available for download on October 22, when the T-Mobile G1 comes out, and how much will it cost?
CJ: We are interested in having our application available on phones at launch, and there will be a version available at launch. The specifics aren’t entirely clear, because Google hasn’t announced them. But Google has already said that the Android Market will launch only with support for free applications; paid downloads will not be supported.
X: So it will be free, at least at first. But given how useful Locale sounds—and looking at how many people seem to be willing to pay a buck or two for apps at the iPhone App Store—I imagine you could get people to pay something, when support for paid downloads comes along.
CJ: Our application certainly has a lot of value to users. A lot of people have said “I wish my phone did that.” So we are excited about getting it out there, and we’re still evaluating some of the retail specifics.