Christian Montoya

How we took a great Facebook app and made it much better

As of right now I have my name on 6 different Facebook apps, all unique and with varying levels of popularity. I only built the simples ones alone, and they were all fun to build. Plus, I'm working on more apps right now… well, not the past couple of days because I've been working late hours. I could blog on and on about these apps and the platform in general, but my time is limited so I'm only going to focus on one right now: Defense of the Ancients.

DotA is the most successful app I've been involved with, currently with 5,615 users and 27% engagement. It started out as a simple gifting app; you earn gold by the hour and you can use that gold to buy weapons and armors for your friends. You can't buy things for yourself; therefore it's inherently viral because you want items but the only way to get items is to send items to your friends so that they will reciprocate the favor. If you sent something to someone who wasn't an app user, they could view the item before adding the app, so they could get a "taste" of it before having to decide. I think that's a good approach.

Just in this simple form, this app was already successful, but there's always room for improvement. I can't take credit for the next steps we took; it was all the idea of Yaowei & Venkat, the other app developers. They got to thinking: everyone in the app has these equips, and we have a ton of data stored from their interactions with each other; the stats they've gained from their items, the people they've sent and received gifts with, and the usual Facebook data like name, picture, networks, etc. They figured that all those items could make up a user's "arsenal," the people they've interacted with could be their "allies," and the rest was just a matter for building a system that would rank users and allow them to battle each other. From this, the ladder was born.

When I heard their idea, I knew it was great. Anything that can give users more reasons to interact with your app (and each other) means more engagement, and engagement is how Facebook measures success. It should be, too — you don't just want a website that everyone uses, you want a website that everyone uses often. Or in this case, an app that people are always playing with. So we built a ladder; a simple level-based interface that allows you to see all the levels, random players on each one, and the top players in the whole game. We also built a page where you can view the person you are attacking, and along with that comes a rather complicated formula for determining the winner. It didn't take too long to push this change live since the foundation for everything was already there, and currently it's in a testing phase, but it really makes the application a totally different experience. Let me show you some screenshots:

DotA 1

I designed the main panel on this page… thank God for all my experience with data tables.

DotA 2

Deciding whether or not to attack…

DotA 3

This is the "attack" screen. I've blurred any pictures or names of users because I'm sure they wouldn't want me putting their mugs all over the place.

DotA 4

Battle outcomes… I've been losing too much today. I think I need more equips.

DotA 5

My arsenal and my allies… yeah, not nearly enough stuff.

DotA 6

People who have attacked me… you can see it's been a mixed bag.

It isn't hard to make "social" games like these… the only real challenge is giving people incentive to get involved and making sure everything is balanced so they feel like they have a fair chance. If you haven't heard me say it before, games are the best kind of Facebook applications. They're the best kind of software, period.

If you want to check this app out and get into the action, go here: Defense of the Ancients Facebook App. And please, send me some items… I need them!

You read it, now promote it: Digg this.

Thank you for reading • Published on October 31st, 2007 • Please take a moment to share this with your friends