Atlanta, ruby, startups, Technology

Why I created Badgy

Saturday afternoon, I announced the creation of Badgy at  Simply put, Badgy is intended to be a social game for Twitter (@BadgyApp) that fits naturally with how people already use Twitter.  I’ve referred to it as a “native” app, which means that it’s written around the capabilities of Twitter, not copied from some other game that worked on Facebook.

If you haven’t used Badgy yet, just mention “badgy” on Twitter to get started and get some context for the rest of this post.

Initial feedback has been somewhat mixed but overall encouraging.  Some users disagreed with the retweet required to earn the second badge.  Some people just don’t get it.

It seems helpful at this moment to reflect on why I created Badgy, and why it’s built the way it is:

  • Fred Wilson wants gamesin a recent blog post, New York VC and Twitter investor Fred Wilson reflected on the state of the Twitter platform and what sort of apps might succeed on Twitter.  Many of these areas, such as enterprise, discovery, and analytics represent areas where Twitter could either create or acquire a single company to cover the gap, but he also mentioned social games.  The problem with social games on Twitter is that…
  • Current Twitter Games Suck – “popular” games like Spymaster motivate you to follow people you aren’t friends with and tweet things your friends don’t care about.  In essence, they are Mafia Wars clones that are too invasive and render your Twitter account useless.  Fun!  A proper Twitter game should be compatible with how people already use Twitter.  (FourSquare doesn’t count as a Twitter game – it is a mobile app game that uses Twitter as a promo channel.)  Although ever so slightly intrusive, asking users to mention “badgy” on Twitter to begin playing is totally native and much less awkward than going to a web site to join a Twitter game.
  • People Love Badges – Look at FourSquare badges, Facebook game bragging opportunities, or achievement systems in console games and you’ll see that people LOVE to feel like they’ve earned something and can brag about it.  Using badges as the basis of a Twitter game seemed totally natural.  Someone I follow on Twitter once said that they wished Twitter would give them some recognition for tweeting exactly 140 characters.  I’ve often felt the same way.  Something like Badgy can do that, and recognize many other interesting Twitter actions that are totally natural to Twitter but still fun to recognize.
  • Twitter Integration – I wanted to learn how to integrate with Twitter.  The combination of the tweetstream and twitter Ruby gems made this easy.  The ease and power of Twittter’s APIs gives me new respect for Twitter’s platform team.  It takes literally 3 lines of Ruby code to receive near real-time notification of every Tweet matching a set of keywords, leading to a fast…
  • Fast Minimum Viable Product – it was relatively easy to find people who mentioned “badgy” and reply to them, giving them a badge.  It was not easy to check the Tweets of a bunch of individual users and see what else they said, which is why the Square One badge is given when you retweet the message giving you the Badgy badge.  Sure, the retweet promotes badgy, but it was also easy to search for that unique phrase, retweeted, rather than starting to follow individual users.  The badge requiring a retweet is a bit intrusive, and will not be a key pattern for future Badgy badges.
  • To learn – Game mechanics and basic motivation tactics aren’t just part of games, they are a useful ingredient for almost any software.  Badgy itself may become a vibrant game, or it may serve to teach lessons that make other games and applications I write better.  If nothing else, Badgy provides an avenue to rapidly test and measure theories about what does and does not work in social games on Twitter.
  • Fun – It’s fun to make games and watch people react to them
  • Potential Business – on top of all of the other reasons, there are actually some interesting applications of the technology that would be needed to fully build out Badgy.  Time will tell.

A couple of obvious questions have been asked:

  • Why nag people to retweet their first badge? – This decision was part technical compromise, part promotional decision, and part social experiment.  It’s difficult to rapidly scale following individual users.  It’s easy to track keywords.  This decision helped launch Badgy sooner.  I was also curious what types of Twitter user would be willing to retweet our Tweets to their audience to get a virtual badge.
  • Why only 2 badges? – It’s enough to prove the idea.  Get people to “sign up” by mentioning the fairly unique keyword “Badgy” on Twitter, and see how many people would respond to a request to retweet to earn another badge.  Some people are willing to incorporate Badgy into their Twitter behavior.  Badge #3 will be less obtrusive.

I hope that you will give Badgy a try and give feedback and suggestions on what you’d like to see next.  I hope we see more Twitter games that don’t suck.


Apple and iPhone Developers – Caught in a Bad Romance

One of the great philosophers of our time, Lady Gaga, sings about being “caught in a bad romance”, and that’s exactly where iPhone developers find themselves today.

Today, while announcing a batch of nice updates coming in iPhone OS 4, Apple also snuck a nasty change into their Developer Agreement that prohibits the use of certain development toolkits including Flash, Unity 3D, and Appcelerator Titanium.  The developer community is crying foul with a bloody lip over this change, but will heal and probably forget about it again until the next time Apple punches them in the face.  As Ms. Gaga puts it, “I want your love and all your lovers’ revenge”.

It’s time to acknowledge that the Apple/iPhone developer is an abusive relationship.  You’ve probably heard of girls who love some guy, very controlling, that beats her up, but she ‘loves him so much she could never leave him’, and ‘deep down, he really loves me’.  Apple is that guy.  Or perhaps you knew some guy in college who dated some hot girl who was totally psycho?  She’d drag him through the dirt, but she was fun to show off at parties and the fringe benefits were nice.  Yeah, the App Store can keep you warm at night too, but at what cost?

Let’s look at a history of Apple’s psychosis:

  • “Duplicated” Features – VoiceCentral, and MailWrangler were both approved apps for sale in the App Store that Apple arbitrarily removed one fine day because they “duplicated features that the iPhone comes with” and “confused” users.  How hard do you want to work in building and maintaining an app, only to have Apple decide your app is now illegal?
  • Personal Vendettas – Apple regularly screws over developers and users to vindicate their own private feuds.  Google makes Android phones.  They also make iPhone apps, but Apple forced them to make both Latitude and Google Voice as web apps rather than native apps.  The developer is forced to make less powerful apps.  The user gets less powerful apps. It’s also widely suspected that Apple’s ongoing refusal to integrate the hugely popular Adobe Flash plugin into iPhones because of a standing feud between Apple and Adobe.  Apple willfully breaks most video and game sites on the iPhone because they have a grudge.  iPhone owners pay the price.
  • Private APIs – in typical bipolar Apple fashion, they approved tons of apps that used private APIs, then began automatically rejecting apps that use private APIs, and now is beginning to open up use of some private APIs again.  Ever been in a job or relationship where the ground rules change regularly and nobody tells you?  Yeah.  fun stuff.
  • Censorship – Apple has rejected apps for “providing access to vulgar words”“consuming too much bandwidth”, being “offensive”, and even “ridiculing public officials”.  Somehow, Apple has crowned itself some sort of moral authority, and it’s anybody’s guess what they will choose to find immoral.
  • “Sexy” Apps – in the theme of censorship, Apple recently pulled down a bunch of apps with “overt sexual content”, except they left the Playboy, Victoria’s Secret, and Sports Illustrated swimsuit apps up.  Who needs standards when you can have double standards?
  • Objective-C – I hear it’s a very nice language and all, but with numerous, more widely accepted programming languages out there, forcing developers to program in a language only used on Apple’s platforms reeks of an attempt to lock in apps and developers on their platform.

Now to the issue at hand.  Flash, Unity 3D, Appcelerator Titanium, and the numerous other toolkits that Apple effectively banned today have one thing in common – they make it easier to write applications that run on both iPhones and other phones.  Apparently Apple can’t stand the idea of actual competition, and is willing to harm these companies that were following all of their prior rules verbatim. If Apple is truly committed to this course of action, they may well destroy companies that are betting on supporting multiple mobile platforms but don’t have the resources to build separate, native applications for iPhone, Android, Palm, Blackberry, etc.  Nobody saw this coming.  Apple made this compulsive, drastic move that affects hundreds if not thousands of companies that support them in the name of defending Apple’s profit margins.

Committing significant resources to developing for iPhone and iPad is now very much like adopting a pet tiger.  It’s cool and it’s fun, but it’s only a matter of time before Apple mauls you in your sleep.  If you had a girlfriend who you found really attractive, except she made you speak Latin, told you what you could and couldn’t think, changed the ground rules of the relationship on a daily basis, insisted you believe her definition of “sexy”, randomly attacked your friends, and freaked out the moment you thought about going out to dinner with your friends, I’d hope you would get out of that relationship. I hope iPhone developers will see that Apple is just using them for their apps and will turn on them compulsively and without notice.

In the 90’s, technophiles railed against Microsoft for having a semi-closed platform with apps that used undocumented APIs to gain a competitive advantage against their competition, which was any app a user chose to install.  Now, we have a more closed platform that chooses what apps a user can install, rejects apps that compete with its own or attempt to use undocumented APIs, actively opposes a plugin architecture that can spur innovation, prohibits users from installing apps that they want, and developers defend this system because it’s pretty and runs on nice hardware?  Wake up.  It’s time for a break up.

And now, the musical entertainment: