The latest version of the Facebook Platform, announced on May 24 at the Facebook Developer Conference delivers on both counts. It includes a well specified set of APIs, and access to a ready-made audience looking for applications that take advantage of an existing social network. "The Facebook platform is a set of web services that allow people to consume data as well as build apps for use by the Facebook community on Facebook," said David Fetterman, Lead Software Engineer for the Facebook Platform.
While other social networking sites like MySpace, Bebo and Windows Live Spaces already allow developers to build widgets that provide a limited amount of functionality, Facebook has gone much further in providing access to Facebook's core functionality and social networking features. "The idea is to make it as easy as possible for developers to build anything that we ourselves could create at Facebook."
Although the Facebook Platform draws the line at allowing you to completely eliminate the Facebook look and feel and build your own social networks like Ning, it is a platform in the true sense of the word. In fact, not only can developers extend existing apps such as Facebook's photo album or calendar they can actually replace them outright with something that works differently or better.
For the most part, Facebook has built its platform on well-established and easily understood web standards so developers won't have to reinvent the wheel when writing new applications or porting existing applications to the Facebook platform. In fact, developing for the Facebook Platform so resembles standard web development that developers will be up and running very quickly.
The Facebook platform includes a REST web services API that allows third party applications to programmatically interact with Facebook's systems at a very deep level.
Facebook's database query language, called Facebook Query Language (FQL) is an SQL-like language that will be immediately familiar to anyone who has ever worked with a standard relational database, while its text markup language, called Facebook Markup Language (FBML) is based on HTML.
Facebook's crown jewels, its data store, which includes user profile information and data from Facebook's own apps such as photos and calendar are fully accessible to developers. "You get a social network for free instead of having to roll your own," said Fetterman.
Facebook applications differ from MySpace widgets in one other crucial way. Where MySpace has been shutting down third-party widgets that encroach upon functions it would rather own, Fetterman is adamant that he'd be happy even if all of Facebook's applications were replaced.
Facebook is not alone in going beyond mere web applications by turning its entire system into a programmable platform. Google in particular has been quite aggressive in publishing APIs and providing deep hooks into its underlying infrastructure. However, when compared to other social networking sites like MySpace and its widget play, the degree to which you can integrate your own apps with Facebook is unprecedented. Not only can your apps consume data from Facebook, they can run anywhere on the Facebook canvas. So tightly weaved into the Facebook experience are third-party apps, that it is difficult to tell where Facebook ends and third-party apps begin.
No matter how well-programmed your web 2.0 app is, its no good unless people are using it. Facebook's network effect is of particular interest to developers. Not only does Facebook provide an applications directory where users can browse through and add third-party apps with a click, it also allows applications to spread in a more viral manner. Added apps show up in a news stream on users profiles and it is simple to add it to your own.
In the short time since Facebook introduced the platform, there has been an explosion of third-party applications -- a testament to Fetterman's claims of ease of porting. Developers range from Amazon and Microsoft to smaller companies like Slide, Box.net, and iLike alongside social media sites like Digg, Flickr, and Last.FM. Increasingly, Facebook is beginning to look almost like an alternate web. Also popular are unforseen social apps such as X Me that let you add "actions," such as think, pinch, or punch to your profile. Or, (fluff)Friends, which brings the tamagotchi craze to the web by letting you add a virtual pet to your profile. The Washington Post provides a good example of how social networking can enhance content. Instead of just providing article links (so very web 1.0) it's "Compass" feature polls users' political opinions and shares them with their Facebook friends who are also invited to participate. Results are displayed on a map that is available to your network of friends. Similarly, Flixster lets you add your own movie ratings and reviews to your profile and share them with friends.
Along with this, another important community has emerged--developers willing to share client libraries and code samples.
Some of the smaller developers were unprepared for the hit on their servers when their apps came into contact with the Facebook community. The most popular applications saw as many as 850,000 users on day one. We'd like to see Facebook offer the ability to host apps on Facebook's own servers and Fettermen says they are looking at ways to address this. In the meantime, interested developers may want to investigate third-party hosting solutions such as Amazon's S3.
Are you paying too much for your contact center software? Are you satisfied with its capabilities, or do you wish it did more? These are questions most businesses don’t take the time to think about, even though contact center software is one of the most important investments that you’ll make. With a little bit of planning, you can end up saving money and still end up with better functionality. more
Video conferencing is quickly becoming one of the most important communication channels for both small and big businesses. As more businesses turn to this technology, expectations about the experience are also rising. It’s not enough to just offer video conferencing as a communication method. You also need to meet minimum audio and visual standards, and there’s even proper etiquette to consider. more