Tip:
Highlight text to annotate it
X
>> The name of my company is LifeAware. The motivation for creating it was, about three
years ago when the Kansas City area, we–there was a young woman who got abducted and she
had been taken and gotten killed. Her parents had been trying to get the cellphone records
from the company and to find out where she was at. Unfortunately, they took three days
to get them and by the time they did get the records, they were able to find the body but
it was too late at that point. So LifeAware is a mobile application that is in constant
communication with our backend service on App Engine that is recording where you go
with your phone. There's a very robust and full feature set of permissions about who
can you share your location and who can they see and stuff like that. But the important
thing is that information is available to anybody. So, if you have one person in your
family that has an Android phone, then they can log in to the website and they can track
that one person. >> So, did you choose Android to do this App?
Tell us a bit about your technical decisions to go with that platform.
>> Well Android is the application that we chose to do mobile client and there's lots
of decision that went into that. One of the decisions was the one platform to rule them
all kind of thing. So if you write on Android, any Android device can do it. We were specifically–we
chose App Engine on the backend to–for the scalability. We had actually–we were the
top semi-finalist for the Android developers challenge back in 2008. When we had submitted
the application for that we had the full-featured backend system working completely in Java.
As we went through the [INDISTINCT] testing and performance testing, we realized that
we had a significant problem that we couldn’t reach the scalability issues that we needed
it to running on GlassFish and MySync backend. And it’s not that we couldn’t have done
it with those technologies, it was just it would have taken much more resources than
what we have available just at the time. So by going to App Engine, we were able to achieve
a lot more scalability than what we're really been hoping that we could achieve for.
>> So as developers, we have been really invested in [INDISTINCT]. And do you have any particular
lessons that you remember from developing LifeAware?
>> For going through LifeAware on App Engines, probably the biggest lessons that we learned
was the Python language itself. We had zero experience coding in Python. The online documentation
for Python is incredible. The documentation for App Engine is incredible. So juggling
through that, coming from Java which is such a strongly type language and then going into
Python which is a type less language, that alone posed all kinds of interesting problems.
But that was our biggest challenge. >> So, do you use App Engine for production,
for real [INDISTINCT] for all these projects? And if you don’t, what do you see is the
biggest barriers to doing that? >> We currently use application for our production
assistant for App Engine for our production system. There–I think there is a big deterrent
going from a small startup companies into big enterprise development shops. App Engine
is completely designed for developers to build products. It works really well, it has a really
strong object model. You can take the objects that are stored in the data model and you
can move them between different languages very easily. What it doesn’t have is a strong
reporting story. So if you want to attract the number of users are registered at your
site from, you know, week by week that's–that can be a very difficult thing to do in App
Engine. Almost every solution that we've come across ends up writing some type of job to
pull the data out of App Engine, but in interrelation they were all modeled to where you can actually
do that kind of reporting. >> So how is using the AppEngine datastore
compared with [INDISTINCT] Sequel development? >> AppEngine datastore and Sequel development
are worlds apart. There's a bridge that you just have to cross. We've talked to lots of
people out here in Google I/O and they're very hung up on, well, “How can I write
an application if I can't write sequel statements to create that data out,?” and until you
can make that leap and put your faith in the datastore, that if, you know, just ask the
datastore what it is that you want and just define your filters, and you might get more
that you want, you might get not exactly what you want, but it's totally doable.
>> So, in terms of engine, how can you write a scaleable application of it?
>> So, like I said before, we had the Java system that–where we had a lot of constraints.
We were running somewhere around three requests a second and somewhere around two hours, running
two requests a second on our low test. We would come into system failure. App Engine
in our peak performance in LifeAware, we were running a five request a second and it was
sustained over about a month and a half. So since then, we–you know, they examined the
LifeAware in the Android platform, you know, we've tone it down now. So we're running steadily
at two requests per second and we've been running at two requests or more for seven
or eight months straight now. And that's something we would never have been able to do in Java.
>> So, how is that App Engine simplified your App deployment and production meetings?
>> So, deploying an App Engine is a complete dream. Coming from a very structured Java
build system, the compile cycle and getting all your resources in a proper place, building
up your work containers or your–all those things, it just simply goes away with App
Engine. App Engine is fundamentally integrated into the development process. So as you go
through your testing and you finally get the code and the state that you want to do, it's
just a matter of clicking a button, authenticating to the server, and it's out there.
>>
So, since you're here in I/O it's been in [INDISTINCT]. Is there anything new you've
come across or people that you've met that you really--something you really feel like
you’ve imparted here? >> I haven’t been able attend any of your
sessions yet, but some of the cool things that I learned today at the keynote was they
have a–a sync call on the GWT stuff. So our front end is we’re into GWT on the website.
So what that means is, today, right now, if you go to LifeAware, you'll have to download
every single JavaScript file that's been compiled in GWT. So now with this new feature, we would
be able to break that out into chunks which our website has very performed already, but
now will even be that much more so. >> Oh, that's terrific. Well, thank you for
coming. >> Thank you.