Pacific Connection(英語)

The Social Networks Face-Off: Facebook and Google are Fishing for Developers

Last May, the social network Facebook announced Facebook Platform, an API and markup language that helps developers create Facebook applications. Five months later, Google fired back with a less proprietary, more widely endorsed API for creating ⁠social applications⁠: OpenSocial. Behind these dueling platforms is a growing sense that social networks are the next hot online property-and are thus potentially worth a lot of money to the people who own them. Just ahead of the Google announcement, Microsoft had paid $240 million for a mere 1.6 percent stake in Facebook and the right to sell the site’s banner advertising overseas. Compare that to the $580 million News Corp paid in 2005 for MySpace-not just a small share, but the entire site.

So why did Microsoft pay so much for such a small share? And why did Google seem to retaliate by launching a counter API? The two answers are intertwined. For advertisers, social networks, and Facebook in particular, appear to be the next big thing. Facebook CEO Marc Zuckerberg likes to talk about the ⁠social graph,⁠⁠ by which he means a tightly coupled network of people who, by definition, comprise a social network. Most online properties are comprised of users who might, in the Web 2.0 scheme, add content to a website. But those users don’t really know each other, except perhaps by online reputation, whereas the very premise of Facebook has been just the opposite-the people you meet online are the same people you encounter face-to-face in the real world.

That’s a difference with a distinction. A real-world reality check means that the participants are more likely to trust each other-which in turn means that word-of-mouth recommendations carry greater weight. If you’re an advertiser, it doesn’t get any better than that. If you can get your product accepted within the social graph, you will be the beneficiary of a fast-spreading chain reaction of ⁠buzz⁠-or at least that’s the theory.

Facebook and Google are engaged in a corollary to Web 2.0, looking not just for user contributions, but the time and talent of application developers. In return, they are offering the twin lures of online advertising revenues and potential fame, although, as we will see, nothing is guaranteed.

Facebook and MySpace

In its history and look-and-feel, Facebook has become the face of what a successful, ⁠pure⁠⁠ social network should look like. Its closest U.S. competitor is, in some respects, MySpace-which still attracts about twice as many U.S. visitors. But MySpace and Facebook are very different places. still bills itself as ⁠a place for friends,⁠⁠ but it is now clogged with banner advertising, flash videos, and big studio promotion. In intent, MySpace feels more like a portal site like Yahoo! or MSN than strictly a social network. There are links to ringtones, horoscopes, job boards, weather predictions, chat rooms, and blogs.

By contrast, Facebook-so far-looks as if it had been designed (ironically enough) by Google. Floating in a sea of white, there’s a simple menu, a newsfeed of what’s happening within your network, a list of applications-utilities, really, for sharing photos, organizing events, and joining events, all of which are very much in the spirit of a social network-but none of which makes Facebook any money. To do that, Facebook launched an aggressive advertising program, Facebook Ads, that inserts a dose of commercialism into the social graph. Companies can now establish their own profiles on the site, so that a member’s ⁠friends⁠⁠ might now include Coca-Cola and Sony. Interactions between human beings and companies are then reported on other friends⁠⁠ News Feed and Mini-Feed stories. Facebook Ads also includes an off-site component called Beacon. If you are logged into Facebook and interact with an advertising partner’s own site, you can choose to have that interaction reported to your friends-complete with your picture. At this writing, recipient friends have no way to opt out of any of this, and how Facebook members will greet these changes remains to be seen.

From strictly college to “open registration”

Facebook began strictly and exclusively as a social network for college students: you had to be enrolled in a participating college, and your social network pretty much extended only within that college. College students, especially on larger campuses, are a perfect demographic for a social network: they are mostly computer savvy, habitually gather in groups, are looking for new connections-that is, their social networks are still under construction. In the U.S., college clubs, fraternities and sororities, and sports-participatory and otherwise-have traditionally provided the social catalyst for college students. But an online version seemed a no-brainer back with Marc Zuckerberg was attending Harvard. If Facebook hadn’t done it, somebody else would have.

Indeed, a legal dispute now centers over who actually came up with the Facebook idea. Two brothers, Cameron and Tyler Winklevoss, along with Divya Narenda, founded another social network, ConnectU, and filed the lawsuit in 2004 accusing Zuckerberg of stealing both ConnectU’s business plan and source code when he worked for ConnectU. The lawsuit is ongoing but, according to a New York Times report, some facts are not disputed. Zuckerberg worked on the project, then called HarvardConnection, with the promise that he would be paid later on if the idea succeeded. Zuckerberg later registered the domain name,, and by February, 2004 had registered half of Harvard’s undergraduates. By early spring, Facebook had moved to other Ivy League schools, then later to other companies and organizations, and finally, with open registration, to everyone else. By contrast, ConnectU never registered more than 700,000 users.

In September 2006, Facebook inaugurated an ⁠open registration⁠⁠ policy that welcomed people beyond the college gates. The result, according to Zuckerberg in a speech to developers, was that Facebook went from 15,000 to 100,000 new users a day. Now, he says, about two-thirds of Facebook’s ⁠social graph⁠⁠ are outside of college, on one side or the other. Zuckerberg said that its fastest growing demographic is age 25 and up-including, of course, people who began using the site in college. At the other end, Facebook attracts high school students, whose still-forming purchasing habits makes them the quintessence of the demographic sweet spot. Facebook now has an international presence, particularly in the United Kingdom and ⁠10 percent of the population of Canada,⁠⁠ said Zuckerberg. Facebook now claims more that 24 million active users-people who have logged in within the last 30 days. Zuckerberg also claims that about half of Facebook users return to the site each day, which helps yield Facebook’s 40 billion page views a month, making it the sixth most trafficked U.S. site.

The Facebook developer “pitch”

Zuckerberg cited Facebook’s soaring statistics as part of a pitch to developers at the San Francisco Design Center last October. (Google’s counter-announcement was staged at the company as a ⁠campfire,⁠⁠ complete with cut logs and canvas folding chairs.) His argument was that even some less-than-perfect applications have gotten wide use on Facebook, just as a less-than-perfect grocery story will get wide traffic if it is located on Times Square or in the Ginza. A case in point: Facebook’s News Feed, a ⁠personalized news ticker⁠⁠ that pulls in information, hopefully of interest, floating around the site. Facebook launched Facebook around the same time as it opened its doors beyond its core group of college students, but, said Zuckerberg "News Feed got off to a rocky start because we did a very poor job of explaining to our users exactly how it worked." More features were added, and now, he says, News Feed is a success.

Zuckerberg gave other examples to hammer home the point that even less than perfect apps can succeed within the site’s closely connected user network. Facebook’s photo application, for example, gets twice the traffic of every other photo site on the Internet combined. This success is not due to features-the application still lacks high resolution storage or printing-but because it is conveniently handy for people already connecting via the site. Upload a photo album once, and all friends get access to it. Similarly, the company's events application, built in-house, has outpaced its standalone competitors.

From these cases in point, Zuckerman makes a general theory about Facebook: that it is a highly efficient communications path for dispersing a whole bevy of information. As Facebook attracts more people, the additional traffic provides indirect benefits to everyone-because the universe of information grows larger, and, he argues, more useful. Any application that adds to this online social activity stands to succeed. Indeed, Zuckerman argues that applications are essentially information in their own right. When people find information valuable, or at least interesting, they propagate it at a speed that leaves the more loosely connected Web behind. And developers whose applications are propagated stand to make money: directly through advertising or sales; indirectly by getting better known as an application developer. . ⁠You can sell your own ads or run them from a banner ad network-either way, they are your ads and they are your revenues," Zuckerberg told his audience of developers. ⁠Alternatively, you can sell things, process your transactions, and keep all the transactions.”

Whether the playing field for developers is level, however, is another question. around the same time Zuckerman was making his case to developers, O'Reilly Research took a look at the success of the 5,000 Facebook applications already out and discovered a classic ⁠long tail⁠⁠ marketplace in which 87 percent of usage goes to just 84 applications. ⁠Only 45 applications have more than 100,000 active users,⁠⁠ Tim O’Reilly wrote on his blog. ⁠This is a long tail marketplace with a vengeance⁠⁠ with daunting news for developers, though good news for end users. ⁠This doesn't mean that Facebook won't become an important platform for developers, just that a throwaway Facebook app is not the ticket to quick riches. Embracing the Facebook opportunity requires more than just optimism.”

Another uncertainty for developers is what kind of competition they will face in the future. Facebook developers to date have not been major names. At the Facebook developer session, Dan’l Lewin, Microsoft corporate vice president of strategic and emerging business development, was on hand to talk about development under Silverlight, Microsoft’s cross-platform video plugin. Will Microsoft also become an application developer? That’s a question worth asking.

Enter OpenSocial

Google announced its competing API, OpenSocial, with immediate support from a wide spectrum of social networking sites, including the Japanese site mixi, Ning (which was co-founded by Marc Andreessen and is a social network builder), Bebo, Linkedin, Friendster, hi5 the Dutch site Hyves, and, of course, Google’s own social network, Orkut. There were more specialized sites like (matchmaking) imeen (music and videos), as well as several companies involved with application development, including, Oracle, and Six Apart. Notably, OpenSocial was endorsed by some of Facebook’s highest-volume developers (according to O’Reilly): Slide, RockYou, iLike, and Flixter. A last-minute OpenSocial endorsement, but one that got a lot of attention, came from MySpace.

For developers, these competing platforms-one proprietary, the other not-pose an interesting dilemma. Max Levchin, founder and CEO of Slide-the most successful Facebook application developer, made an appearance on the stage at the Facebook developer event. But in a statement, he also endorsed OpenSocial, calling it a ⁠standards-based platform [that gives] us deeper access to multiple networks…." Levchin told ZDNet’s Dan Farber that Slide has already ported some of its most popular applications from Facebook and MySpace to OpenSocial, with their debut scheduled by January. He called the APIs well designed and impressive, but noted that, as a larger developer, Slide can support both platforms. ⁠Developers are not going to abandon Facebook,⁠⁠ Levchin told Farber. ⁠Whoever has the user base will attract developers.”

At this writing, Facebook itself has made no comment on OpenSocial, much less announcing any plans to support it. But Facebook’s support should be a no-brainer for a couple of reasons. For one thing, industry standards almost always trump company-specific standards, especially when the entire industry, led by Google, is lining up against you. Moreover, Facebook’s success-among users and developers-has less to do with the number or quality of the applications it provides than with the ⁠buzz⁠⁠ the site generates. People join social networks because their friends are already on them. As long as Facebook is popular, it will continue to be popular-because a social network where I don’t know anybody is of no value to me. That fact of online life should work for Facebook as long as the site doesn’t mess up its winning formula and as long as some competing site doesn’t figure out some way of doing it better.

Of course, there’s the always a new generation of social networkers, the kids not yet in high school. They may look at Facebook, including its increasingly intrusive advertising model, and decide, en masse, to take their social graph somewhere else.

The Facebook API Platform

The Facebook API includes 38 methods that provide access to profile, friends, photos, and event data. Method calls are made over the Internet by sending HTTP GET and POST requests to Facebook's REST (Representational State Transfer) server. For example:

  • Friends.get returns the identifiers of the friends of the current user.
  • Friends.areFriends returns whether a pair of users are friends with each other.
  • Users.getInfo returns a wide array of user-specific information for each user identifier passed, limited by the view of the current user. The information includes User Id, location profile, self-description, and birthday, as well as favorite books, music, movies and TV shows, and even relationship status. More personal information can also be quered-again, if the user approves: religion, relationship status (i.e. "friendship," "dating," "random play"), desired relationship gender, and significant other's userID.
  • Events.get returns all visible events according to specified filters.
  • Photos.upload uploads a photo owned by the current session user, with that user's permission.
  • Feed.publishStoryToUser publishes a News Feed story to a user.

Data can also be queried through FQL-Facebook Query Language-a SQL-style interface. Advantages include reduced bandwidth and parsing "costs," fewer necessary requests, and a consistent interface.

The Facebook Markup Language (FBML) is a subset of HTML, with some additional tags specific to Facebook. For example:

  • fb:name renders the name of a specified user via the user ID, with an optional link to his or her profile.
  • fb:if-is-user renders the content inside the tag only if the viewer is one of the specified users.
  • fb:wide specifies a minimum width of the profile box for showing the specified content.
  • fb:subtitle specifies the subtitle for a profile box.
  • fb:photo renders a facebook photo. Similar tags are available for mp3 players, iFrames, Flash players and Microsoft Silverlight controls.

The OpenSocial platform

Development of OpenSocial applications resembles that of Google Gadgets, with the addition of OpenSocial JavaScript APIs. This results in what Google calls a ⁠social gadget⁠-a gadget that runs on a container (like Orkut) that supports the OpenSocial JavaScript API. Unlike the Facebook Platform, no proprietary markup language is used, just standard JavaScript, HTML, and XML. Like Google Gadgets, OpenSocial applications are structured as XML documents, hosted on either Google servers or your own.

Google provides two ways to access the OpenSocial API: via the client using a JavaScript API and via the server using ⁠RESTful⁠⁠ data APIs. (Information on the latter is more scarce.) The API offers three core services: information on people via their profiles, who they know, and their activities. An additional service, a persistence interface, eliminates the need for the application to be hosted on a server.

Compared to the Facebook APIs, the OpenSocial JavaScript APIs are more broadly defined, in keeping with their intended use for multiple websites. . For example, the class opensocial.Activity provides an interface for all activity objects with methods (i.e. getField, getID) for fetching associated data and identifications.

Social information is requested from a given container (i.e., a specific social network) using the opensocial.DataRequest class, whose methods enable developers to request user profiles, personal ID, associated friends, and application data for specific people (specified by a key name: that is, viewer, owner, owner_friends, or a specific ID). opensocial.Person provides the interface to all person objects, with methods to get the name, generate an ID, and determine whether the person object is the owner of the current page and the currently logged-in user.

In a simple demo to build a gift-giving application, Google Engineering Director David Glazer characterized development as a three-step process, with an additional low-level coding step for requesting data.

  • Data request. OpenSocial uses an Ajax-like asynchronous model. At the bottom of the API are a set of interfaces for building requests, each mapping to a core service: people, friends, activities, and the persistent state. Most developers will build wrappers that ⁠speak⁠⁠ in more familiar terms.
  • Get the name of the current user.
  • Get a list of the user’s friend, then build an HTML table to display them.
  • Determine the current state and update: that is, read what gifts have already been given, prompts the user for a gift selection, then updates the list. As a final step, the application might notify the gift recipients that the interaction has taken place.

Glazer stressed that subsequent design work-to make the application pretty-can be done in HTML and JavaScript with no OpenSocial knowledge required.