Continuing with the Google Narratives Series, we'd like to profile Google App
Engine and OpenSocial developers, Dave Westwood and Randall Ho of BuddyPoke!
Dave and Randall both have
backgrounds in 3D and avatars for the last 11+ years, with work in various web 3D games,
facial tracking, facial animation, and mobile avatars. They've worked at five companies
together - "Dave does all the technical stuff and I'm the technical
artist." Simply put, they complement each other perfectly.
Q: Tell us the story of how BuddyPoke was
envisioned.
A: We'd always worked
for other companies, and disliked the company politics, etc, and always dreamed of just going
and doing our own thing. When we saw the huge success of Slide's slide shows on MySpace, we quit
our jobs and started work on a 3D pets widget. Facebook apps and OpenSocial weren't live yet
and our first project failed miserably because we completely lacked a distribution model with
viral channels. Fast forward a bit, and Nintendo Wii is huge with everyone making miis and
talking about avatars. There was Playstation Home and Second Life. Also, the Simpsons Movie
was just about to released and allowed for you to "Simsponize" yourself. We thought about the
30+ minutes people were putting into customizing their avatars, without any way of doing any
cool interaction with friends. We also thought about the interesting fact that most people who
installed these types of console games did it mostly for character personalization or "dress
up," rather than to actually play the game. Bottom line, we knew we had to do something about
it.
Facebook apps then started to take off, and OpenSocial came out. We
closely watched what worked and what didn't on Facebook by looking at usage charts of the top
200 apps. After a lot of trial and error, we applied our 3D backgrounds to some of the ideas
and came up with a way of doing the 3D rendering in Flash. That's when we came up with
BuddyPoke.
Q: Describe your implementation and why you
decided on Google App Engine.
A:
During the time that we were focused on researching app usage, we noticed that most
apps were struggling with scalability. Their difficulties sounded vaguely familiar with our
current implementation and we knew we needed to find a platform that would help us avoid the
same issue, especially since we were working on the version for MySpace. The main thing here
was timing with the release of Google App Engine and the announcement
of OpenSocial. All of a sudden we found ourselves able to quickly
roll out our app to the various OpenSocial sites without having to worry about
scaling.
Q: Tell us about your overall development
experience and any obstacles you have encountered along the way.
A: When Google App Engine first
came out, the big learning curve was BigTable. Our data models were horrible. Then, after
watching Ryan and Brett's talks at I/O, we redid everything and it's running well
now. Our only concern is the organization of our code on AppSpot - everything runs on one
AppSpot site. If we knew ahead of time of our success, we would have broken the code up in
groups to make updating easier. Also, our main ask is XMPP support so that we can implement
chat on App Engine.
One last thing...we're thrilled about the success of
BuddyPoke. The barrier to entry is so low from a developer's perspective. We never imagined
having 3D characters seen by so many people, without having to even think about the technology
behind them or without even having to buy a Wii.
We really
enjoy hearing from developers in the community about inspiring stories, so if you have
something you'd like to share, visit our online submission form. Better yet, come tell us your story at
Google I/O. You can also check out Dave & Randall's cool story on the
Ning blog!