Skip to main content

Lessons learned from CS377W (Stanford facebook class)


Stanford successfully created a unique mix of:

  • Open social network platform (thanks to Facebook)
  • Exceptionally talented students
  • Focus on success (as defined in social network world by number of app users, stickiness, time per visit)
  • Ways to measure success (thanks to Google analytics)
  • Sponsors with their push for app monetization (Social Media)
  • Technical leadership (thanks to Dr. BJ Fogg, and Dave McClure)

From this mix number of Facebook applications emerged. No all of them were equally successful but each one teaching their own lesson on success in a new world of social media. Common theme that I managed to pick up:

  1. Survival of the dumbest. Successful applications do not expect anything from the user a beyond couple (or even better - one) click. What application do should be obvious within 3 seconds. This seems to be the attention span for an average FB app user (my dear readers – you are not typical J )
  2. Focus on invitations. With the number of viral growth channels available for FB applications, invitations that is the part of application work flow remains the most important factor for the application user base growth
  3. Math is important. Teams that figured out correct set of measurements, instrumented FB applications to provide these measurements, and acted on the feedback happened to be the most successful applications
  4. Application name is important
  5. Good graphics helps

6. Know where FB deficiencies could be turned into application advantages (successful applications are hard to uninstall and there is a reason for it)

7. Programming language/platform matters. PHP seems to be the winner

If you are still with me, below are my unedited notes on individual applications:

Pictures with collaborative filtering (http://apps.facebook.com/funnyimages/)

Pick me up (http://apps.facebook.com/pickups/) experimented with whether or not to enforce rules on number of friends to be invited to use the application. Lesson: tell the rules but do not enforce them

Funny images (http://apps.facebook.com/funnyimages/) – rate images – send pictures to friends, verticals helped– cars, architecture – force to invite 10 friends to unlock application (!) exp growth for architecture app 40% day-by-day

Good eats (http://apps.facebook.com/good_eats/) – social restaurant recommendation – find places to eat – high user engagement 6 pages/10 min avg. friends who are using the application. Activities, search, updating recent recommendations. 1-clik recommendations -. Virtual points- goes to ranking (medieval system) – leader board on the dashboard

Lovechild (http://apps.facebook.com/luvchild) – collaborative digital parenting. Multiple parents, number of actions. Compete to rise the best lovechild. Branded digital goods – branded outfits and apparel . Great imaging by Sylvia Yun! You are the best!

Share the Love( http://apps.facebook.com/sharethelove/) – card game – fail because users invite only friends, no feeds [critical for installations]. Change to “Share the Love”

- Do not give users too much to do – single action! – encourage communication
Exp growth /1/2 mil installs

Bless me (http://stanford.facebook.com/apps/application.php?id=13773470170) – single action 5 weeks – 300K users. Religious users. User retention. Marketing – iteration. Simple – attractive – not destructive

Matchmaker(http://apps.facebook.com/hookster/) – Initially did not work. Main action should be invitation!!! Hug me -> squeezeMe. User receive and reply on the same day.

Dodgeball (http://apps.facebook.com/dodge_ball/). Nobody reads rules. 2 step process for throwing balls 2% grows rate. Dimmer application – single – “hit 10 friends” and “open new level” 18%. Cleaner interface 1-step process!

Wall of Shame (http://apps.facebook.com/shamewall/) –later transformed to Yo Momma. Bulletin board of what people hate. Leverage invite. Distribute jokes. Sending insults using invitation mechanism. Simplicity- invite – know the demographic (cynical may not be the best)

Polls (http://apps.facebook.com/pollposition) – People a lazy^3 Took off when created pre-define questions

Compliment box (http://apps.facebook.com/compliment-box/) – good first page with images of friends. Benefit? Social Value? Guide the user – remove functionality.

Super Status (http://apps.facebook.com/suprstatus/) – lightweight communication – microblogging space. Attention span \ Go away from Facebook’s ‘is’ style to do reach content. Commenting on statuses. Tags.

Scribbled Photos (http://apps.facebook.com/photo_graph/). Mash-up on top of photos. Creativity. Random selection of first photo. Colors/undo. Instantaneous gratification. Pre-fill all possible slots. Future: stamps – pre-drown content.

College: the numbers – engaged Kaplan for the distribution – name recognition. See where the score are in relation with other applying to the college.

Social Buzz (http://apps.facebook.com/socialbuzz/). My experts. My credibility. Micro connections between friends. Propagate content between friends. Optimize first user experience.

Commonalities(http://apps.facebook.com/in_common/). Look into profiles. To come up with common elements.

Social Buzz. (http://apps.facebook.com/socialbuzz/) Kiva, microfinance. Distributing money from sponsor shown in the application. 40 loans.

OneVoice. Started as Radio/TV for FB. Users rate [U-tube] playlists and DJs. Use emotions for ratings.

Save the Rainforest – vocab game. Started with the idea of creating socially meaningful application. Vocab game. Monetization from ads to benefit the cause.

Guess Who? (http://apps.facebook.com/guess-who/) Board made out of mutual friends create shared intimacy ! act fast on surprising data.

Car overload. Engage advertisers by segmenting the market and providing relevant to app advertising.

Fun, Inc. Split app. 1 button and text box. Acton –and- reaction. Force to invite friends. Had to abandon .NET for PHP.

Tournaments (http://apps.facebook.com/mytournaments/). Create/share tournaments. 1 click creation tournament +

Send Hotness (http://apps.facebook.com/sendhotness/) – 5 Mil users(send hotness to friend). Viral factor = conv ration * invitation ratio * engagement rate > 1. Required to add users. 10 – req – 20 Max limit of FB.

KissMe (http://apps.facebook.com/kiss_me/) 1-st to reach Mil in class. Full moon on the quad. Appealing action. Provocative. Hard to reject a kiss. First gain users – next create deeper experience.

Perfect match (http://apps.facebook.com/perfect_match/). “Stable marriage problem” math problem. Announce result first – than collect preferences and improve result. 3.5 Mil users. User mini-feed. Catchy message. Invitations. Next – live/love chat.

Hugs (http://apps.facebook.com/hugpeople) 2 Mil users, 15 Mil hugs

Summary: best practice – go viral first – then deep; instrumentation/analytics; session time, K-factor; iteration dev process. Viral factors-> message -> measure. Extremely short dev time/cicle hrs-days.

Comments

Popular posts from this blog

Facebook Friends Connect

Is a way to extend external sites to provide: FB identity FB friends (relationship) Feed to FB   Demo app at http://www.somethingtoputhere.com/therunaround User experience: login: js login method requiresession(): detects state of usr-FB relationship, log-in into FB if needed. If user has not authorised app - present app auth dialog. If already has session - just go init JS, require session   access FB data: - FBML on external site - use JS FBML parser and replace in browser DOM with FB data - JS based API to get FB data, REST API on the server site. Sessions work accross any API - only small subset of FBML us supported at the moment   adding social content: - use access API   Connections: app developers can suggest connections (using e-mail hash) user get connect request on FB Move content from external sites to FB app can register feed template (3 types of stories) call JS "showfeeddialog" to request user to confirm data sharing on FB. privacy protection: app ca...

Freebase Hack Day

Respect Coin

Respect I think it's time to talk about currency. Let's create a Respect Coin. Step 1. Install OpenZeppelin library  npm install zeppelin-solidity When it comes to coins, I like to use some functions that smart people already implemented and other smart people verified. I think that Zeppelin is a nice collection of Solidity contracts that can be trusted. Let's use the StandardToken contract and use it as a parent class for our own RespectCoin contract. Step 2. Create RespectCoin contract and store it in "contracts/RespectCoin.sol" file  pragma solidity ^0.4.4; import "../node_modules/zeppelin-solidity/contracts/token/StandardToken.sol"; /** * @title RespectCoin * @dev ERC20 Token example, where all tokens are pre-assigned to th e creator. * Note they can later distribute these tokens as they wish using `transfer` and other * `StandardToken` functions. */ contract RespectCoin is StandardToken { string public constant name = ...