Tip:
Highlight text to annotate it
X
>> THOMPSON: My name is Curtis Thompson. I work with Best Buy. And the application that
we built is Giftag, which is a social wish list gift registry application, something
that works anywhere. >> And can you tell us about the decision
you made >> THOMPSON: Sure, sure. We had developed
kind of a prototype of the application in Drupal and we were hitting some point where
we were going to possibly be deployed out on bestbuy.com or have some integration there,
and we worried about the performance of it. Plus, we were not really able to make the
quick changes that we wanted to with Drupal, so we kind of looked around and--it developed
in Python for quite a while and really liked Python--and then Google App Engine came out,
and it just seemed like a perfect fit for what we wanted to do. So, we took a look at
it and decided that, yeah, let's do it, let's write our application--rewrite our application
on App Engine. >> And during your development of the application,
what were some of the obstacles that you encountered? >> THOMPSON: So, you kind of have to think
differently about how you're building an application with App Engine, especially BigTable. There
are some different ways to took at it. One of our big problems is looking at App Engine
and BigTable as a relational database. I mean, it's hard to take off those blinders and look
at BigTable in a different manner. That was kind of an obstacle to us. We made some poor
design decisions up front based on that. It didn't hurt in the long run. We were able
to go back and fix it, but things like the list properties were really helpful for doing
things like tagging, and we didn't really quite get that up front. Also, you have to
think a little more creatively I think with App Engine because there are limitations with
it, so you have to think about "how am I going to work around these limitations?" The fun
thing is as you work around these limitations, the programming, which we like to do. It's
not trying to configure Apache or, you know, trying to scale MySQL or whatever. It's kind
of the problems we want to solve anyway. >> [INDISTINCT]
>> THOMPSON: Right. I mean, that's the huge thing. Deployment is so easy. It's the way
that deployment should be done. From a developer's standpoint, it's awesome. And I can go back
and say for us rewriting this Drupal application in App Engine, it took a few of us about 10
weeks to rewrite our application on App Engine and migrate all of our data from a MySQL database
onto BigTable. So, it was quick. It was really quick for us to do it. And a lot of it, too,
was being able to do quick deployments. And we didn't need to have anybody that had to
fiddle with the infrastructure. That's huge. That's stuff that I don't like doing and none
of us really likes to do. So, it was a big win for us.
>> [INDISTINCT] >> THOMPSON: Yeah, I think probably just to
understand BigTable and to understand how the indexing works, know how to model your
data was a big thing. The other thing I tell people not really related to deployment, but
I like to think of, like, App Engine as your web front-end. And it shouldn't be the hammer
in your solution. It should be one piece in your toolbox. And as Google rolls out additional
services, you know, that hammer or that piece of App Engine becomes more powerful and it
can do more things, but it shouldn't--it shouldn't be the only piece in your puzzle. For some
applications like us, we didn't really need to rely on anything external for it, but for
some applications, you may need to. >> [INDISTINCT]
>> THOMPSON: No, I don't really think that we are. Right now, I think where Python's
sweet spot is the ability to do a lot of like web development stuff really quickly. It seems
like, at least from what I've seen, the Python version of App Engine leads the Java. Obviously,
it was released earlier. But, also, it seems a lot simpler. And, for me, there's like less
plumbing that you need to do. And I think for a lot of people, if they're willing to
take a dare-to to learn the Python APIs, learn the language, they'd end up liking that better.
We had on our team a guy that did Java development and loved Java. He came on and learned Python.
And after he got done with us, he is, like, "I am never going back to Java to do any sort
of web development." It was a pretty powerful statement because he was a huge Java advocate.
But, for us, we're not saying, at least I'm not saying that I'm not going to do any of
the Java stuff, but I don't see a big need to. I think that the Python version of App
Engine is really well-suited for what modern web applications are really good at.
>> And, finally, are there any interesting stories that you'd like to share?
>> THOMPSON: Any good or bad stories? Well, I think for us it's just been a huge, huge
win for us. It's been really exciting. And one of the things that I think is that App
Engine, once you start understanding what it is, you'd understand that small is big
and that writing little applications that do one little thing really well and can scale
up is kind of the future of the web, at least in my opinion of it. It really opened up a
lot of possibilities to think about. Maybe my application isn't one big application,
maybe it's a whole bunch of small, little applications and we can tie it together, we
can glue it together with App Engine being the primary piece. Our think our testament
is that we are able to take an existing application, rewrite it really quickly in 10 weeks and
have it scale up, and have it be really fun to do in the whole process was really exciting
for us. It kind of meant that we stop looking at a lot of other frameworks and deployment
options. We didn't--we didn't say that we're not going to do it. It's just change our perspective
on things. So, I guess, that's our story on it. It's been really helpful for us to be
able to roll out applications quickly. It becomes a piece in almost everything now that
we're kind of looking at doing for our group. >> Well, thanks for your time.
>> THOMPSON: Thank you. >> It's really great.
>> THOMPSON: Thank you.