>>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.