Archive for September, 2008
The Future of Widgets on Facebook: Dead
Tuesday, September 30th, 2008Enjoy this article? Subscribe to our RSS feed
When Facebook released their platform last year, the company generated more buzz in the Valley since Google went public. Thousands of developers flocked to their platform and now more than 40,000 applications have been built. Many of the early applications were widgets and one application in particular, Bumper Sticker, attracted over 12 million installs and was reaching more than 1.5 million active daily users at one point.
As a joke I created the Bush Countdown Clock when the platform launched and amazingly I attracted close to 50,000 users. While the application was nothing more than a simple flash badge, it helped a lot of people express themselves. Expression is not Facebook’s purpose though, sharing is. Widgets or badges that help users express their personal beliefs, ideals, and personality are now harder to find with the new design.
Thanks to the redesign all the badges which were “cluttering” the profile have been moved to a “Boxes” tab which most people don’t visit apparently. When the new profile was first rolled out, the traffic to my application actually jumped a little but oddly enough on September 11th, things took a turn for the worse. I’m not sure what happened but my guess is that a lot of the profiles started to get shifted over.
While many users still don’t like the new design (including close to 194,000 people who’ve signed a petition requesting that Facebook put back the old design), the decision to switch appears to be final. The implication is shown in the chart below which illustrates the dramatic drop in traffic. Ultimately my application has been cut by more than 60 percent.
While my application was only build as a joke some applications were attracting hundreds of thousands of daily users. My application was completely a widget though and provided practically no interactive substance. Other applications which actually provide users with a valuable experience in addition to help them share information appear to have survived the shift over to the new design.
It’s clear though that widgets have not survived the shift over and my guess is that within a matter of weeks we will see most top-performing widget applications practically disappear.

Yes, Facebook Will Soon Be Bigger Than MySpace Domestically
Tuesday, September 30th, 2008A couple weeks ago I wrote about Facebook preparing to overtake MySpace domestically. Last week Hitwise published data that suggested that MySpace was more than 3 times the size of Facebook domestically. What?!? Nobody appeared to even question the statistics. Today Royal Pingdom used Google Trends to produce similar results to those produced by Compete which I published a couple weeks ago.
So which is it? Is Facebook being dominated by MySpace who is attracting 3 times the domestic traffic (according to Hitwise) or are they about to surpass MySpace? By using rational logic I’ve deduced that the latter is accurate: Facebook is about to surpass MySpace. The company has attracted the largest number of users in history to an individual social network and it continues an upward trend.
Personally, I have watched my friends which once stayed glued to MySpace make the shift to Facebook over the past few months and my expectation is that this will continue. While MySpace may have a music platform and may be generating 3 times the revenue, Facebook continues to grown and that’s really all that matters for the time being.
The company wants to have the most accurate mapping of the social graph and they won’t stop until they get there. It is becoming a central distribution platform for sharing content among all our contacts. My other guess is that the future of Facebook is much brighter than comScore and Hitwise. Both companies have continuously produced inaccurate data which has in some cases impacted the public markets.
Google for instance took a nose dive after comScore suggested the site’s traffic had slowed which would make it more challenging to meet earnings expectations. The stock eventually rallied after it ended up beating estimates, contrary to comScore’s misleading data. For being such large companies, it’s time that some of these analytics companies start producing accurate data.
Do you think Facebook will surpass MySpace domestically in a short period of time? Who’s data is accurate, Compete.com & Google or Hitwise & comScore?
Facebook Rolls Out New iPhone App
Tuesday, September 30th, 2008Last night Facebook rolled out their highly anticipated new iPhone application and with it a whole slew of new features. Some of the new features includes:
- Access to a complete newsfeed duplicating the functionality currently available on the site. This includes feed item commenting which makes this a mobile competitor to FriendFeed,
- Access to all messages in your inbox,
- Full-access to notifications,
- Tabbed profile design with wall, info, and photos, and
- Search of other users outside of your friends with the ability to request new friendships.
These updates and others bring the majority of Facebook’s functionality to the iPhone. When it comes to mobile social networks, Facebook is proving that they are keeping on the edge with features galore to keep users happy. I for one might start using my iPhone again (instead of my Blackberry) with this new application.
It will be interesting to see if Facebook continues updating their applications on other mobile platforms including Blackberry and Palm or if they decide to put the majority of their efforts into the iPhone. The is a welcomed update and I look forward to what features the company plans on rolling out in the near future.
One thing that I’m most definitely waiting on is the addition of iPhone notifications so that instant messages within Facebook as well as messages in general can provide pop-up notifications. This is much easier then forcing me to open up the application every time I want to check my messages.

Facebook Launches New Homepage and Login
Tuesday, September 30th, 2008Early this evening a few users began reporting that a new login page began appearing for Facebook. This makes sense given the company’s redesign. This new homepage design and the redesign of their login page may signal the final transfer of users over to the new design. While we can’t confirm that all users have been transferred, there are many signs pointing to this being the final touch.
Even though the new design had launched, any user which visited the site without logging in was greeted with the old design. That is no longer the case. See the screenshot below for what the new homepage looks like. Facebook still has a fair number of upgrades that need to take place as not all areas within the site take advantage of the wider design.
Update
We are now seeing the new design as well. The new design shift may now be final. We are waiting to hear confirmation from Facebook that the shift is complete.

Intelligence Community Continues Using Facebook for Recruiting
Monday, September 29th, 2008Last year it was revealed that the CIA had launched a recruiting campaign on Facebook. It appears that Secret Intelligence Service in the United Kingdom has decided to log-on to Facebook as well for recruiting purposes. The organization has launched advertisements including one which according to the Guardian says “Time for a career change? MI6 can use your skills. Join us as an operational officer collecting and analysing global intelligence to protect the UK.”
Another advertisement states “Graduates of all ages can develop long-term careers as operational officers, collecting and analysing global intelligence.” The final advertisement states “A career in world events? Help influence world events, protect the UK. Operational officer roles collecting and analysing global intelligence.”
The Guardian suggests that the responses have been positive so far. It’s not a bad model. One could theoretically provide extremely targeted advertisements to foreign nationals as well. Thanks to Facebook’s extremly high profile targeting capabilities, recruiters have jumped on the opportunity to promote new jobs.
Companies have been testing out Facebook’s targeting capabilities over the past year but many have said that it is still challenging to spend a lot of money on the ad platform. This will most definitely make it challenging for the company generate revenue especially if click-thru rates continue to be extremely low. One advertisement that probably didn’t experience low click-thru rates was MI6’s advertisement to be come a spy for the agency.
Facebook Hires General Counsel
Monday, September 29th, 2008
According to the LA Times this morning, Facebook has Ted Ullyot as its general counsel. Ullyot has a jam packed resume including “serving as a White House lawyer who helped coordinate the response to the investigation into the leak of CIA operative Valerie Plame’s identity and serving as chief of staff to former U.S. Atty. General Alberto Gonzales.”
As the company continues to fight legal battles against both spammers and competitors, it has become increasingly important to have an in house legal advisor. Apparently another reason for the hiring was Ted’s strong affiliation with the Republican party. Apparently this is important because the company already has strong ties to the Democratic party.
Probably the most important position in Ted’s career was Senior Vice President and General Counsel at AOL Time Warner. As the LA Times points out Ullyot is also a fellow graduate from Harvard University, the same university that Mark Zuckerberg temporarily attended prior to dropping out.
Announcing the AllFacebook Knowledge Base
Monday, September 29th, 2008Last week I announced the launch of our Facebook Tutorial series. This week we are expanding our efforts to turn AllFacebook into a central knowledge center for everything related to Facebook. As such today I’m announcing the launch of our Facebook Help section. It’s pretty simple and straight-forward. It also may be completely idiotic! The goal is to answer anybody and everybody’s question related to Facebook.
I know that there are millions of people looking for answers to Facebook but you would figure that most of these questions are repeated frequently. While Facebook has their own help section, there are still a lot of questions that go unanswered. For all those questions, we are releasing the AllFacebook knowledge base. Honestly I am already expecting this to quickly turn into an overwhelming experience but that’s why we have interns at the ready!
I’ve also created a nice question parsing tool to filter out many of the questions being asked. I’m sure thousands will fit through the cracks but thankfully there is a back-end system to manage all this! If you have a question about Facebook go ask them! While I have the feeling that we will be bombarded with questions, it really doesn’t matter. From the easiest to the hardest, come ask them!
The goal is to answer absolutely every question. I think there are a lot of people that want their questions answered so let’s get started!
Announcing the Facebook Tutorial Series
Friday, September 26th, 2008Have you been confused by the new Facebook design? Are there still things that you can’t figure out how to do on Facebook and never were able to? In keeping with the theme of this site, we are working to produce the most comprehensive series of tutorials on the web on how to use Facebook. Over the next year we will be releasing full video tutorials on how to use Facebook.
AllFacebook is not simply a blog. We are working to create the single most comprehensive resource for everything related to Facebook. This is simply the next step in keeping with that vision. The first video in our series is “How to Create a Facebook Profile“. We will be posting more videos and instructional guides over the coming weeks and months.
To stay up to date with all of our tutorials, check out the Facebook tutorials page. We will be updating that page regularly so check back for the latest tutorials on Facebook. We figured that with all the confusion surrounding the new Facebook design, this would be the perfect time to release our tutorial series. Hopefully you find this information to be useful!
For those that are Facebook experts, please keep in mind that we are starting with the most basic information and working our way up from there. Once we are complete with the Facebook tutorial series, there should be something that everybody can learn from. We will be working to improve sounds and video quality over the coming weeks. We will also make the videos available in multiple formats so that it is accessible for everybody.
Please let us know if you have any feedback or questions!
Court Finds Mattel Had No Copyrights Protecting Against Scrabulous
Friday, September 26th, 2008Today Rajat Agarwalla of Scrabulous notified us of a new court ruling that the company is hailing as a favorable outcome. Below is a copy of a statement from the Agarwalla brothers.
You may recall that Mattel Inc. had filed a suit against us before the Hon’ble Delhi High Court in February 2008, seeking to restrain us from using the mark Scrabble or Scrabulous, and to remove the game from our servers. We duly defended ourselves and multiple hearings took place in due course. After hearing the arguments of both parties, the Hon’ble Court reserved its
judgment on 29th May.On 14th August, without waiting for the Court’s order, an impatient Mattel sent a legal notice to Facebook to remove the Scrabulous application. Much to the dismay of our fans and despite our request for maintaining ’status quo’ until the Court pronounced its verdict, Facebook removed the
application from its website on 22nd August.Today, it’s a different story.
We are extremely pleased to inform you that the Hon’ble Delhi High Court has now passed its judgment in the matter. The Hon’ble Court has held that Mattel did not have ANY copyrights in the game and hence did not pass any restraining order against us. However, the Hon’ble Court has held that we cannot use the name Scrabulous. We will take a call on whether we will appeal against the decision on the Trademark after consulting our legal advisors.
At this juncture we would like to thank our legal advisors, Khaitan & Co., Advocates, Bangalore who have provided us with excellent guidance, our Senior Counsel, Mr. Sanjay Jain, and Mr. Sushant M. Singh, Advocate who very ably argued on our behalf before the Hon’ble Delhi High Court.
We thank all our fans for their love, blessings and kind words of support. It is a momentous occasion for our global fan base and us. Here’s a message for our fans: “Folks! Take a deep breath, relax and smile
We are still here to share and spread happiness with you through our little online games. With your support and good wishes, we will continue to develop amazing games for you to enjoy. Thank you!”
In the meantime, our fans have been enjoying our extremely innovative game - Wordscraper. We are excited to announce that over 1 million games have already been played on it in the past month.
Regards,
Rajat & Jayant Agarwalla
While the court found that the company cannot use the Scrabulous name, it appears that Mattel had no copyrights protecting them pertaining to actual game play. My interpretation of this is that Scrabulous could have kept the Scrabble game board without using the name Scrabulous. Fortunately for them, their new application: Wordscraper, has been extremely successful.
To date, the company has attracted over 235,000 monthly visitors. While it is still less than the more than half a million daily users Scrabulous used to attract, this still ranks them among the top applications. It’s interesting to see that the Scrabulous battle continues to unfold in the courts even after the Agarwalla brothers switched their application name and functionality.
An Intro to Facebook Connect Development
Friday, September 26th, 2008Just recently at F8, Facebook announced the launch of the ability to integrate your website’s users with users inside Facebook through a technology they call Facebook Connect. Such technology enables your website’s users to login using their Facebook username and password, right on your site, and link their profile and friend information directly to your own site for display and access outside of Facebook. Once authenticated, your site can also make calls for those users (with their permission) back to Facebook, enabling an interesting viral opportunity for your website or brand. Facebook Connect is not live yet, predicted to launch in September of 2008, it is in Sandbox mode currently. (It’s very important to note that only developers of your Facebook Connect apps can currently login through Facebook Connect! When Facebook Connect goes live to the public anyone will be able to start using it.)
This post is intended to be a guide for developers looking to get started with Facebook Connect, or CIOs and CTOs with an interest to learn what Facebook Connect can bring to your company, and what resources will be needed to do so. This will be a basic howto on getting started in Facebook Connect.
Facebook Connect – How it Works
Facebook Connect is basically a series of libraries on top of the existing Facebook Javascript Client Library which enable any site on the web to allow a user to log into Facebook, right on the site itself (via a simple dialogue box that Facebook pops up), authenticate that user, and retrieve a session for that user right on the 3rd party website. The session is set by enabling a series of cookies for the facebook.com domain that can be accessed via the Facebook API. Then, either using server-side APIs or the Javascript Client API, the developer can retrieve info about the user and their friends, just like they would through a Facebook App itself.
Each 3rd Party website set up on the service requires an App to be set up on Facebook for the site, just as you would set up any other App on Facebook. The Callback URL is the base URL of the site you are trying to integrate Facebook Connect for, and your site must call Facebook Connect from that URL in order for it to work.
With simple Facebook Javascript Client code (which is just a snippet of Javascript you can place on any page), Facebook has also introduced “xFBML”, a standard of FBML designed to be placed on websites outside of Facebook. So, for instance, assuming you have his Facebook ID and you have the permissions to see it, you could just put <fb:name uid=”4”/> on your website and your website would automatically display Mark Zuckerberg’s name – the same works with <fb:profile-pic/> and almost any other FBML tag you can think of.
This code enables you to place a <fb:login-button/> tag on your website, which renders a simple Facebook Connect login button for your users to authenticate to Facebook with.
Facebook then sends successful requests to a FB.Facebook.get_sessionState().waitUntilReady() Javascript method call, in which you can place other Javascript code to handle the request after that. Such code could be an AJAX request to update your database with the authenticated user’s Facebook ID, or anything else you might need to do with that user after they log in. (Keep in mind that Facebook limits you to what you can and can’t store in the database)
Figure 1 - Graphic courtesy Facebook
Facebook’s Sample Apps
There are 2 snippets of sample code that Facebook provides for you to download and look over. One is a full-featured app, called “The Runaround”, written in PHP that shows most of the features Facebook Connect provides. You can see it in action at http://www.somethingtoputhere.com/therunaround/. Then, download the code and see how it works at http://www.somethingtoputhere.com/therunaround/demo.tgz.
The other sample Facebook provides is a much more simple series of static HTML files that each perform a different function. The first is a very basic implementation of Facebook Connect, showing what the login flow would look like with a simple <fb:login-button/> login button implementation and simple API call back to the server via the Facebook Javascript Client Library to get a list of the user’s friends and popup with that list of friends in a javascript alert() box.
The second shows the power of the Facebook Javascript Client Library running on your own website by allowing you to use xFBML right in the source of your page to render different things. Such tags featured are <fb:name/>, <fb:profile-pic/>, <fb:eventlink/>, <fb:grouplink/> and <fb:pronoun/>. It’s a great example showing that just about any FBML tag can be used on an external website that incorporates Facebook Connect.
The third example delves a little further by showing how you can display simple friend selectors and invite forms by utilizing <fb:serverfbml/> to render them. (The <fb:request-form/> tag must be rendered from Facebook’s servers and this takes care of that)
Set up of the static HTML demos is as simple as going to Facebook, setting up an App under the callback URL of the domain you will be hosting them under, and entering your API key in the place specified in the source HTML. Beyond that you just need to place the provided xd_receiver.htm file in the place specified in the HTML and you’re all set to try it out! You can download the static HTML demos at this link.
Simple “Hello Friends” for Facebook Connect
Let’s give this a try on your own site. To start, you need to create an App within Facebook. You’ll need to add the Developer app to your account at first (I suggest you purchase my book, FBML Essentials, if you would like to learn how to do this). Then, (we’re going to go by the new Facebook design for all of this since it will launch to all in just a matter of days), click on the “Applications” link at the top of your profile, and click “Set up New Application” in the top right.
After this, just name your App (I’m calling mine the “Stay N’ Alive” App), check the box saying you agree to the Facebook Platform Terms of Service, and then click the “Optional Fields” link. After this all you need to specify is a callback URL for your site. I’m specifying http://staynalive.com, which is where my files will be hosted. This should be the base URL of your site you will be calling Facebook from. After that, add any developers you would like to also be able to log in through Facebook Connect (this won’t be necessary when Facebook Connect goes live), and click “Submit”.
On the following page you’ll now have an API Key and Secret Key. For the purposes of our Hello Friends app we only need the API key – copy and paste this somewhere so you can access it later. Or you can always come back to this page through the Developer app on Facebook.
Now, let’s get to our sample website. To make your website work, you’ll need to start with some basic HTML – put this in a file like index.html. I used the following:
<html>
<head>
<title>Facebook Connect “Hello Friends” Example</title>
</head>
<body>
<p id=”hello”>Hello
World!</p>
<div>
<fb:login-button></fb:login-button>
</div>
</body>
</html>
In the example above we create a simple HTML page that when printed, says, “Hello World”. You might notice we added an FBML tag in there called <fb:login-button/> which right now doesn’t display anything in the browser. There’s nothing telling your web page what to do with that FBML, so it treats it like a normal XML tag. So, let’s add in some Javascript from the Facebook Javascript Client Library to tell it what to do with that:
<html>
<head>
<title>Facebook Connect “Hello Friends” Example</title>
</head>
<body>
<p id=”hello”>Hello World!</p>
<div><fb:login-button></fb:login-button></div>
<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php" type="text/javascript"></script>
<script type="text/javascript">
FB_RequireFeatures(["XFBML"],function()
{
FB.Facebook.init("YOUR_API_KEY_GOES_HERE","xd_receiver.htm");
});
</script>
</body>
</html>
Please note that you must insert the API Key you saved above from your application set up where I put YOUR_API_KEY_GOES_HERE.
To make it render the xFBML appropriately we added 2 new snippets of code. The first, we loaded the Facebook Javascript Client library, via http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php. You may want to set this as a configuration variable somewhere if you use it in PHP, as it could always change in the future.
Secondly, we added a bit of Javascript code. We call the FB_RequireFeatures() method from the Facebook Javascript Client Library we just loaded, and pass to it an array with one element, “XFBML”, and an anonymous function that calls FB.Facebook.init() with your API key and xd_receiver.htm. FB_RequireFeatures is a function that just loads the features from the Facebook Javascript Client Library that you will need, and then runs the callback, which in this case is the anonymous function you set. You have to call FB.Facebook.init() to specify what your API Key is (so Facebook knows which App it is referencing), along with the location of the cross domain scripting file, called xd_receiver.htm. You should also create the xd_receiver.htm file – it should simply contain the following code (which you can get from the demo files above):
<!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>cross domain receiver page</title>
</head>
<body>
<script src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/XdCommReceiver.debug.js" type="text/javascript"></script>
</body>
</html>
Place the xd_recevier.htm file in the same location as the index.html file you created above (note that index.html can be called anything – you just need to know how to call it from your browser), and then load the page. Now you will see something that looks like this:
You’ll notice there’s now a pretty button rendered by Facebook for logging into Facebook Connect. If you click on it, a dialogue box will pop up, asking you to log in. If you log in, it will simply close the dialogue box and go back to the same page. (Please note that if it redirects to Facebook.com you are probably not listed as a developer of the App. As long as Facebook Connect is in Sandbox mode, you must be a developer of the App to log in via Facebook Connect!)
So, how do we get it to know that the user has logged in, and do something with that user? We just need to add one snippet of javascript in the FB_RequireFeatures callback function above. Make your FB_RequireFeatures Javascript look like this:
<script type="text/javascript">
FB_RequireFeatures(["XFBML"],function()
{
FB.Facebook.init("YOUR_API_KEY_GOES_HERE", "xd_receiver.htm");
FB.Facebook.get_sessionState().waitUntilReady(function(){
document.getElementById(“hello”).innerHTML =“Hello Friends”
FB.Facebook.apiClient.friends_get(null,function(result, ex) {
window.alert("Friends list: "+ result);
});
});
});
</script>
In our revised example, we add a new function call, called FB.Facebook.get_sessionState().waitUntilReady(), which gets passed a callback function. In our case we just pass it an anonymous function. In this function, you can make it do whatever you want it to do after it recognizes the user is logged in. In our example we start by resetting the innerHTML of our “hello” element (which used to say “hello world”), and replace it with “Hello Friends”.
Following that we make a call to the Facebook client via Javascript to retrieve the logged in user’s friends list. We then do a javascript alert to list out the user’s friends list. Other things you could do in this callback could be a call via ajax to load some PHP code that does server side calls to the Facebook API. If you look at the RunAround App code it does this, as will our next example in this series which we will debut later. You could also send a mini feed story out to Facebook just as you would in the regular Facebook API – you can see once the user is logged in you can treat them just as you would any other Facebook user in a regular Facebook Application. If you want to get rid of the Facebook Connect button (pictured above) after the user has logged in, you can do that either via javascript and removing the button from your page’s DOM, or you could always include CSS that renders the .fb_login_ready class hidden. After the user is logged in, the class of the login button changes from fb_login_not_logged_in to fb_login_ready.
Now that you have all the above code in place, you should be able to have a user log in to Facebook right on your site, you should be able to render FBML right on your site, and you should be able to take a user’s credentials and retrieve information from Facebook about that user. You can now begin to understand the power of Facebook Connect – keep in mind that all this was performed in a static HTML file!
You can now access almost any API call that does not require a user’s secret key. Per the Facebook documentation, the only inaccessible API calls via the Facebook Javascript Client library are calls that set admin data or profile data. If you want to do this you will need to set your secret API key through your server.
You can start studying more on Facebook Connect at the Facebook Developers Wiki at http://wiki.developers.facebook.com/index.php/Facebook_Connect.







(4.64 out of 5)
(4.22 out of 5)