The following is republished from the Tech Times #169.
As of July 10th, Facebook had thirty million active members, one of whom is me. In the past two weeks, it seems like half my active contacts have joined the social networking site, including professionals who wouldn’t be caught dead on, say, MySpace. So what makes Facebook different?
Well, for one thing, it has a designer or two on staff, which means that you can actually use the site without developing a facial tick.
Unfortunately, those designers still need to learn a thing or three about web standards—the site is full of easily correctable validation errors.
But more significantly, Facebook is designed as an open platform for social web applications, with public programmer features (APIs) that enable third party developers to extend and enhance the site.
Despite its openness, Facebook is still a walled garden. If you want to connect with people on Facebook, you need to use Facebook to do it. And in some ways, Facebook is still a lot more closed than competing social networking sites. For example, Facebook will only let you show your Facebook profile to other Facebook users.
I firmly believe that the era of successful walled gardens is coming to an end. In fact, I predict that Facebook will be the last major walled garden success story, and will eventually have to adapt to become, or be unseated by, a site based on standard APIs and data formats that turn the entire Web into one big social network, where you can connect with people regardless of the site they use to host their profile.
The Facebook Platform at a Glance
In the two months since the launch of the Facebook platform, third party developers have created nearly 2,000 Facebook applications.
Once a user adds them to his or her profile, these apps live right alongside Facebook’s own, built-in apps (Photos, Groups, Events, etc.), adding both original functionality to the site, as well as linking in the features of other sites, such as Flickr (for photos), Upcoming (for events), Last.fm (for music), and many, many more.
If you are not a Facebook user yourself, it can be difficult to grasp exactly what Facebook applications are like. Here’s a figure that shows you all the ways in which a Facebook app can expose itself, both to the user that adds it to his or her Facebook profile, and to the friends of that user, who may or may not have installed it too.
If you’re a PHP developer, the current feature article on SitePoint, Developing with the Facebook Platform and PHP will provide a useful starting point. The Facebook Developers site also has plenty of useful introductory and reference information.
Breaking Down the Walls
If Facebook applications are free to do all the things listed above—the very same things that Facebook’s built-in applications are able to do—then how is Facebook a walled garden?
All Facebook applications rest atop the social networking foundations provided by the site:
- Facebook users belong to networks.
- Facebook users have friends, who are also Facebook users.
- Facebook users have a profile page, visible to their friends.
- Facebook users can view a configurable feed of news items indicating changes to their friends’ profile pages.
But really, why should you have to be a member of Facebook to keep track of what a friend of yours is up to? And as a Facebook user, why can’t you list friends of yours who don’t have Facebook accounts?
Several standards that are growing in maturity have the potential make these limitations an thing of the past—that is, if Facebook is willing to embrace them.
Feeds (in RSS and Atom formats) could be integrated into Facebook’s news feed and mini-feed features easily enough if someone took the time to build the Facebook application that did it. This would allow you, for example, to receive a notification within Facebook when a non-Facebook friend posted to, say her personal blog.
But what Facebook does not allow is for your non-Facebook friends to subscribe to, say, your Facebook mini-feed. Feed technology would make this simple to implement today, but Facebook’s walled garden approach will keep them from doing it anytime soon.
OpenID is a standard that lets individuals identify themselves by a URI, and sign onto multiple sites and services with that URI and a single password. Not many sites support OpenID as a means of signing in, but with forward-looking early adopters like Plaxo on board, it is gaining momentum fast.
Facebook could not only support OpenID as a means of logging in, but it could fully embrace the standard by becoming an OpenID provider. You could then use your Facebook profile’s URL as your OpenID URI, and sign into other sites with your Facebook password. From there, the next natural step is for Facebook to let you become friends with, and share your profile with, any OpenID identity—not just Facebook users.
Microformats are simple standards that let you mark up elements in HTML documents to give them added significance, and to expose information to third party software and services.
Facebook provides features for listing the people you know, publishing your contact information, and advertising the events you plan to attend. Outside of Facebook, microformats exist for tagging all these kinds of information on ordinary web pages:
- XFN lets you document your
relationships with people
- hCard lets you provide structured contact information
- hCalendar lets you tag events that you mention on your site
If it allowed you to list non-Facebook people as friends, Facebook could obtain these types of information about them from their personal home pages, or from their profiles on other social networks (assuming those networks published data using microformats).
Furthermore, Facebook could obtain your own information from specialized services such as Upcoming (which supports hCalendar), instead of forcing you to enter all of your personal information directly into Facebook.
The Next Step
As you can see, the open technologies I’ve mentioned in this issue are almost ready to turn the entire Web into the next hit social network, but can we really expect the layperson to grasp standards like OpenID and microformats?
The Facebooks of the future will be services that make these connecting technologies accessible to the masses, enabling you to connect with people all over the web, on multiple social networking services (including plain old HTML web sites), with compatibility and openness becoming killer features.