From Social Patterns
The user wants to find people she knows to connect and interact with on a site or social web service.
Use when you want to help users find people they care about who may already be using this site. Use this pattern to expand user’s circles of connections beyond friends and family. Use this pattern to encourage connections after the initial network building exercise.
Provide a variety of ways for a user to build out their connections.
Browsing for people:
Friends grid from Upcoming
Friends grid from mybloglog
Following grid from twitter.com
Contacts grid from flickr
Allow users to browse friends-of-friends.
Consider presenting a user’s friends and connections in a graphical grid, showing avatars, and allow others to browse through to their profile. Providing visual clues to a person’s identity (via the avatar) can help confirm that a person is the right someone you know.
Searching for Connections:
Allow users to search for friends within the network on your site. Provide a keyword field. Clearly indicate what terms are accepted in a search query – name, email, or other identifying factors.
Facebook allows users to constrain a search by known information about the user searching. For example, the user can search for people from their high school or college graduation years, or from recent companies they have worked for. Constraining the search in this way, increases the likelihood of finding people you really know.
Finding friends from Email or IM Buddy List/Contacts:
Allow the user to import their contacts from their address book or instant messenger lists to use as a comparison list to find people already using the service.
Compare known data points – name, email address or other reliable information and then present to the user a list (with images for ease of identification) of relevant people who also use the service.
Allow the user to select one or more names to become connections.
If reciprocity is required, present the message that will be sent to the user and the option to send the request for connection or an option to cancel the request.
When bringing in people lists for a user to connect to from an address book or address book service, don’t automatically spam the user’s contacts asking to connect. Don’t automatically spam the rest of the user’s contacts with invitations to join the service.
Discovery / Recommendations
LinkedIn regularly makes people recommendations to encourage fleshing out a user’s network.
Consider presenting people the user may know as potential connections. Use known-connections and friends-of-friends to extrapolate potential connections for users.
Having a circle of connections and friends is what makes the web social. Building a network of connections is hard and as more time goes by, overly redundant as a user moves from site to site.
Providing easy mechanisms for finding people and building their networks will encourage repeat use and prevent social-networking burnout.
Just as there are initiatives to open up user identity into a portable format, there are efforts underway to open the social graph into a portable form. The "social graph" is defined as "the global mapping of everybody and how they're related" – Brad Fitzpatrick. This would allow a user to take their network from one site to another without the cumbersome work of having to build their network over and over again each time they sign up for a new social site.