Skip to main content

Design & Learning from Viral Applications FB App lifecycle

Step 1

(Initial Growth):

Initial Growth (based on advertising principles) – all about conversion rates (#times people see profiles, canvas page, invites, activity stream, feeds). Goal MAX conversion rates for each channel. Consider long-term user experience. Effective (aggressive) methods at the beginning will not work later in app life cycle

Design/implement based on simple concepts. Viral channels are more important than features!


Step 2

(validation):

Goal: concept validation.

  • Iterate/execute rapidly. Viral loop. A/B testing. Do not complicate – it will make execution/testing/measuring. Goal: figure out features, do not be emotional, and be guided by data/metrics.
  • Use web matrix (Google analytics for conversion rates)

[Social Application classes]

  • Channel (superwall)
  • Content
  • Dating
  • Games (related to dating, affinity groups)
  • Gifts
  • Self-Expression


Understand audience, look at market size, potential penetration (set expectation right :). Ning has impressive numbers but segmented. iGoogle (10-15 Mil, virality is not clear yet, how to build initial friend list?)

  • Understand activity stream.
  • Focus on simple
  • Focus on activity stream that all users can engage into

Typical 30 releases/day during the post-launch phase.

Take extra care of 1-st impression (app about page is important!)


Step 3

(grows, tuning along the way)

Start with the call to action

Figure out conversion rate (make sure x*y>1)

Preview Page messages turning

App turning


Step 4

(Promote!)

Buy additional throughput, engage ad network

Make sure that viral loop works – otherwise money will go into drain.

Use different add network.

Cross-promote apps!


Step 5

(Engagement)

Congratulations!

How to make users to come back? How to make users to come back?

Saturated social circles. Critical mass.

Good functionality bring users back – tune for user experience! 1-to-1 becomes more important than invites. Use e-mails and messaging. Do not spam – interact by telling only when something happened.


Step 6

(disengagement)

Understand that every channel will degrade over time. Set your expectations right!

Comments

Popular posts from this blog

Posting to FaceBook feed using Graph API

Graph API was announced at F8 with a promise to dramatically simplify the FB API. I checked the read access over the new interface during the presentations and to my big surprise it worked flawlessly and from the first time. When I tried https://graph.facebook.com/facebook , JSON-formatted info about the FaceBook page was returned (as expected). Then I tried OAuth 2.0 way of accessing the API to post a message to the feed. And to my even bigger surprise it worked too! Here is what you need to do to access Graph API over OAuth: 1. Create a FB app, store app properties to a file: $appkey = '7925873fbfb5347e571744515a9d2804' ; $appsecret = 'THE SECRET' ; $canvas = 'http://apps.facebook.com/graphapi/' ; 2. Create a page that will prompt user the access permission (I am prompting for the publish_stream and offline_access permissions at the same time) //http://apps.facebook.com/graphapi/ require 'settings.php' ; $url = "https://graph.face...

Freebase Hack Day

Amazon Simple Email Service (Amazon SES) and PHP

This morning Amazon announced availability of a bulk email delivery service called " Simple Email Service ". Anyone who knows how much pain is it to set-up scalable email solution (and it is not just spammers who need it!) should celebrate the occasion. I know of a company that spent several years cleaning ip addresses it sends email and found itself locked into the contract with internet provider since it would take forever to reach required level of email deliver ability anywhere else. Anyway, this evening I decided to check the Amazon claim that the service is "simple". Found out that it is indeed simple! Since there is not much in terms of the documentation yet, here is my code where I used AWS PHP library : // Enable full-blown error reporting. http://twitter.com/rasmus/status/7448448829 error_reporting (- 1 ); // Set plain text headers header ( "Content-type: text/plain; charset=utf-8" ); // Include the SDK require_once '../sdk.class.php' ...