Pacific Connection(英語)
The Social Networks Face-Off: Facebook and Google are Fishing for Developers
2007年12月24日
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”
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.
That’
Facebook and Google are engaged in a corollary to Web 2.
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.
By contrast, Facebook-so far-looks as if it had been designed (ironically enough) by Google. Floating in a sea of white, there’
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.
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’
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’
The Facebook developer “pitch”
Zuckerberg cited Facebook’
Zuckerberg gave other examples to hammer home the point that even less than perfect apps can succeed within the site’
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’
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’
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’
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’
At this writing, Facebook itself has made no comment on OpenSocial, much less announcing any plans to support it. But Facebook’
Of course, there’
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”
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.
Social information is requested from a given container (i.
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.
バックナンバー
Pacific Connection(英語)
- Charting the New World of Neogeography
- Threaded Building Blocks: Intel's James Reinders on writing parallel code for C++
- Sipping Cappuccino at 280 North
- Functional Programming on the Cusp of Commercial Success
- On Fedora’s Fifth, Project Manager Paul Frields Looks Upstream
- Embedded Computing for the Rest of us: Project Sun SPOT
- Cloud Computing Vendors Reaching Out to Developers
- OpenStreetMap: The Map that Anyone Can Edit
- Magnatune: “Open Source” Music Turns a Profit
- Keeping it Loose at LugRadio Live USA