Many developers of mobile or web-based apps face this formidable challenge: How to jump- start an app that requires a network of users. If your app derives its utility from the network of people using it, it is critical that there be a simple way for your users to grow their network. By following a few of my guidelines, you can save some effort in creating functionality for network building. This effort can be better invested in the core functionality of the app.
Networked vs standalone apps
First, let’s understand what I mean by “networked” apps.
Any app that has a direct or indirect network effect can be called a networked app. Direct networks effects exist when the value of an app to a user increases as more people use the app. A great example is Skype: Skype becomes more useful to me as a communication channel when more users are available on it. Indirect network effects exist when the value of an app to a user increases as more users use it — but not directly. For example, I do not benefit directly as a user of Android if other users use it as well. I probably would not even care. But as more users use Android, more third-party developers will write apps for it, and this would result in even more users using the OS thus triggering a virtuous self-reinforcing cycle.
Examples of networked apps include Foursquare, GoWalla, and Quora. The more people there are on these app networks, the more value there is for me as a user. Networked apps have, by definition, a strong viral component: Since users benefit when other users use the app, they are more likely to spread the word. Moreover, once the network reaches a critical mass, it becomes difficult for a new entrant to take the market. Facebook is a good example. Many parents and grandparents are on it because their kids and grandkids are on it.
However, we are confronted with the classic chicken and egg problem. Without a network from day one, users are unlikely to use the app, and less users use it the less likely the app will ever take off. Moreover, while not of great worry to an entrepreneur in the early stages, one must be cognizant of negative network effects. For example, for some Facebook is less attractive precisely because it has too many users.
Contrast networked apps with standalone apps that require no network effect. Good examples are Weather and Shazam — both are utilities on their own and do not require a network to demonstrate value. Would Shazam benefit from a network effects? Perhaps it will if it lets its users share music with each other. However, that’s not the core function of Shazam. There is a valuable lesson there: Do not thrust network effects into your app just because you think it might make your app viral.
There are advantages of standalone apps. There is no chicken and egg problem and the app can be useful from inception. There is one less development challenge to deal with. On the flip side, these apps lack inherent virality and the lower switching costs can make it difficult to stay ahead.
So if you were to develop a networked app, how would you build a network? While not universally the best option, Facebook and Twitter based registration might be your best bets — unless you are trying to make a Facebook or Twitter killer, these networks can serve you well in fostering a network of your own.
Before we delve deeper into how you might leverage Facebook and Twitter, let’s probe another very relevant topic.
User registration
Think twice before you introduce your own user registration mechanism in a mobile app. Leveraging Facebook and Twitter can serve you well and save you from the development challenge of handling user registration, which while not significant can still add a few days to your short development lifecycle. More critically, saving a step or two in a mobile transaction can earn you many more users. Users on mobile phones tend to be impatient, and the more steps you require to complete a transaction, the less likely the given transaction will actually be executed.
You may lose some element of control by not having your own user registration, but the benefits of skipping user registration and using Facebook or Twitter Connect outweigh the cons. Facebook providers you a rich set of demographic data on your users:
If you absolutely must have your own user registration, keep it as far down a particular transaction as possible. For example, if your app uploads pictures, do not ask for user sign in before taking or editing a picture — ask for it right before the final step of uploading. Moreover, ask for as little information as possible. If you plan on using Twitter Connect, consider asking for just the user’s email address (more on this later).
When using Facebook Connect, remember that the likelihood of a user allowing your app on Facebook is inversely proportional to the quantity of permissions you seek. As an example, look at the following Vudu Facebook app. Your app should never ask for so many permissions, unless absolutely needed.

What your app should not do
Should your app auto-friend?
When you sign up for Quora and Facebook Connect, Quora will automatically pull up the Facebook friends who are also using Quora and subscribe you to their feeds. On the other hand, when you use Facebook Connect in Foursquare, it will show you a list of your Facebook friends who are using Foursquare but will let you decide which ones you want to add. For the latter, since users post their check ins and location information, most users would not want to share the feeds with their Facebook friends unless they add them to their Foursquare friends as well.
However, if you think that auto-friend will be acceptable to your users and you do not foresee any privacy concerns, consider doing it. First of all, you will not need to complicate your code with any accept or reject logic. Secondly, it could help speed up the expansion of the network.
Adding Facebook and Twitter friends
If you decide not to auto-friend, your users should see something like the picture below within your app’s friends section when they use Facebook Connect. Facebook tells via an API which Facebook friends are using the app, so you don’t need to check your server database. Retrieve the list first and display them with a stub picture while you retrieve pictures in a separate API running in parallel.

How can you send an invitation on Facebook?
You can send an invite via an email only to Facebook users who are existing users of your app. For the rest of them, you can post on their wall.
How can you send an invitation on Twitter?
You can invite them via direct message (follwers only) or @ mention (also followees)
Adding phonebook friends
Simplest way is to check against email addresses. Since Facebook gives you a user’s email address, you simply compare a user’s phonebook’s email addresses with the ones in your server and tell the user which of his contacts are already users of your app.
One interesting thing to note here is that Twitter does not give you a user’s email address. Therefore for users who signed in using Twitter Connect, you will not have their email address unless you specifically asked for it in your app.
Can existing networks such as Facebook and Twitter help you circumvent the chicken-and-egg problem? The answer is no. But they can help you build your network much faster and let you focus on the core features of your app rather than spending days on coding your own registration procedure. Getting to market sooner can be a major benefit in the super competitive mobile app market and this strategy can help that happen.







itval.e | your eyes on the technology and venture capital business » Groupon is more like eBay than you might think said...
[...] of a company that doesn’t have huge network effects (direct at least, but there are still indirect network effect)s but has stilled managed stellar growth at the expense of competitors such as Blockbuster and [...]