Locale App for Android Phones “Wouldn’t Even Be Possible on the iPhone,” Says Winner of $275K Developer Challenge

10/2/08Follow @wroush

(Page 2 of 3)

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.

Locale Home ScreenX: So, what settings exactly can Locale change?

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 … Next Page »

Wade Roush is a contributing editor at Xconomy. Follow @wroush

Single Page Currently on Page: 1 2 3 previous page

By posting a comment, you agree to our terms and conditions.

  • Dean

    I call FUD. There are location based apps that turn settings off and on for the Mac, and there have been for years. This is certainly possible on the iPhone.

  • Wade Roush

    @Dean: Yes, the iPhone could run such an app, in principle. Jernigan’s point was that Apple’s ban on third-party apps running in the background prevents the kind of inter-app communication needed to make a service like Locale usable on the iPhone.

  • Bravia

    Not Possible? what are they smoking?? A regular phone has “profiles” and you normally enable it via a single key, if a regular phone had GPS/LBS it’s a matter of setting a variable to kick in via auto update.

  • Carlos

    Facts:

    - The iPhone SDK doesn’t allow third party developers to modify phone settings.

    - The iPhone SDK doesn’t allow third party developers to run background applications.

    - The Android platform allows third party developers to modify phone settings with user permissions.

    - The Android platform allows third party developers to run background tasks.

    Conclusion:

    - You can develop an application like Locale for the iPhone if your name is “Apple”. Otherwise you can’t.

    - Everybody can develop an application like Locale for Android phones.

  • http://nertzy.com Grant Hutchins

    Saying that it “wouldn’t” be possible implies that it is never going to be possible. I think that the answer is more along the lines of:

    It is not currently possible, when following Apple’s rules.

    Certainly it is possible on something like a jailbroken iPhone.

    So there’s nothing inherent about the iPhone that prevents this sort of app from ever being developed. Last year someone could have written a tip calculator for Android and said that it “wouldn’t even be possible on the iPhone”.

  • mokomoko

    “Other platforms have their own limitations. The openness of Android creates an environment for applications that just aren’t possible on other platforms.”

    OpenMoko has fewer limitations than Android — none, in fact. You aren’t even forced to use Java.

    In fact, it’s kind of hilarious (if it wasn’t so sad) to see people talking about the power of Java, which Alan Kay called “the most distressing thing to happen to computing since MS-DOS”.

  • justme

    @Bravia – Yes normal phones COULD do all that, but currently no phone does that automatically till this app came along for Android. Were talking a fully automatic setting change. Not some remember to change profile when I get to somewere.

    You miss the point, COULD doesn’t mean it will be done! Apple COULD allow Mac X to be installed on dell hardware, but they haven’t and wont at stage.

  • Pingback: Locale Android Winner Gets Interviewed, App Available October 22 — GPS Obsessed

  • Pingback: Getting to Know Locale and the MIT Team Behind It | AndroidGuys

  • jake

    @justme
    Yes, I think that is the important point. So far my phone couldn’t do that. You have to select the profile yourself.

    @mokomoko
    Openmoko would have been a better platform if they had made their phones appeal to mainstream customers and polished their work. It still has fragmentation & portability problems so far. Yes, Android loses lots of flexibility compared to Openmoko (ie. your java comment), but I think Google is trying to strike a good balance so that Android can survive commercially & still is flexible enough for most developers.

    For people leaving the comments about the “not possible” bit, they were talking specifically about the iPhone. I know WinMo had a similar program called phoneAlarm. Don’t have to read too much into it, it is obvious they are referring to the limitations of the current iPhone SDK.

  • Spinlock

    Facts:

    - The unofficial iPhone SDK allows modification of all phone settings.

    - The unofficial iPhone SDK allows background applications.

    - The unofficial iPhone SDK allows kernel extensions.

    - The official and unoffical iPhone SDKs allow (even force) native code execution.

    - The Android platform forces developers to use Java.

    Conclusion:

    - To those willing to jailbreak, the iPhone will be the more responsive, more capable system.

    I was worried myself when I heard about Android – a google attempt at a linux based phone platform? But then I heard it was all Java, and my buyers remorse was replaced with bitter sweet relief. No emulators? No easy porting of any existing non Java nix apps? What a total waste :[ Guess I’m still holding out for the linux multi-touch EVDO Tegra platform.

  • sleebus.jones

    Sad little whiny iPhone fanbois. You just don’t get it do you?

    G1 = it just works (tee hee)
    iPhone = works if you hack it (if the app is out there) and after you put your warranty at risk.

    Obvious winner: G1, the iPhone if you’re blind, stupid and ignorant.

  • justme

    @Spinlock = What are you on about?

    So to do what the Android can do out of the box, you have to go jailbreak your phone so you can run ‘unoffical’ software? Cause apple won’t allow you to out of the box?

    Why are you even reading this? go read apple.com

  • Mike

    Carlos still waiting for Linux to take over the desktop too? Ha! Java and Linux are still not primetime tools. And have they come up with a biz model yet? O wait, I remember: give away crappy software for free, charge through the nose for support, close up shop and go back to teaching students (they are the only naïve ones who will listen to you).

  • Pingback: Thoughts on the G1 : Unquiet Desperation

  • Pingback: Is iPhone 3.0’s Push Notification Good Enough? | SkratchBoard.com

  • Pingback: Why I didn’t buy an iPhone, again. | Robert N. Lee.com

  • gman

    Mike, please, shut your mouth and don’t embarrass yourself. Linux is not some company or corporation that COULD have a business model. It is a free foundation, and most applications are free because their developers want them to be free, not because it is their “business model”.

    Linux is not trying to take over anything, when are you lamos going to understand that? It is already dominating on servers and even getting bigger in desktops, but it is not the same as windows or mac, and has never tried to be.

    And hearing about your complaints about java just makes me laugh at your ignorance and incompetence. Java IS NOT THE SAME THING as C++, delphi or any other compilable language. Just like assembler is not the same as php. YES, assembler is like 500 times faster than php and perhaps 10 times faster than java, but that’s not the point. There is a reason for creation of high level languages and speed is not the only thing that is important in development of applications.

    And android’s choice for using java for its apps is just perfect. It is the only feasible way to make all of the applications directly (without porting) compatible with ANY device running android, whether it is running a qualcomm or intel processor, whether it has any special processor features or not, and so on and so on.

    So go buy some another overpriced and overhyped piece of garbage with a picture of an apple on it and don’t consider yourself with things your cannot comprehend.
    Apple’s bitch…

  • Pingback: Kris Mac Dot Com » Locale App for Android Phones “Wouldn’t Even Be Possible on the iPhone,” Says Winner of $275K Developer Challenge | Xconomy

  • Pingback: Kris Mac Dot Com » Locale App for Android Phones “Wouldn’t Even Be Possible on the iPhone,” Says Winner of $275K Developer Challenge | Xconomy

  • Pingback: Kris Mac Dot Com » Locale App for Android Phones “Wouldn’t Even Be Possible on the iPhone,” Says Winner of $275K Developer Challenge | Xconomy

  • Pingback: Training Choices for App Development | The Appconomy

  • Pingback: Where Is He Now? Carter Jernigan ’07