<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Test Facebook &#187; General Testing</title>
	<atom:link href="http://www.testfacebook.com/category/general-testing/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.testfacebook.com</link>
	<description>The community for testing Facebook applications</description>
	<lastBuildDate>Fri, 27 Jan 2012 12:05:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Breaking Changes &#8211; Here They Come!</title>
		<link>http://www.testfacebook.com/2011/03/09/breaking-changes-here-they-come/</link>
		<comments>http://www.testfacebook.com/2011/03/09/breaking-changes-here-they-come/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 19:33:47 +0000</pubDate>
		<dc:creator>Sander Smith</dc:creator>
				<category><![CDATA[General Testing]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.testfacebook.com/?p=916</guid>
		<description><![CDATA[Question: What&#8217;s significant about this Saturday &#8211; March 12, 2011? Answer: Time to set your clocks ahead for Daylight Savings Time. * Answer: Barbara Feldon&#8217;s birthday ** Answer: IFrame apps will be accessed through HTTP POST instead of GET. That&#8217;s right kids, as Facebook has been telling us for some time now, your IFrame apps will [...]]]></description>
			<content:encoded><![CDATA[<p><strong><img class="alignright size-full wp-image-919" style="margin: 10px;" title="Barbara_Feldon-1" src="http://www.testfacebook.com/blog/wp-content/uploads/2011/03/Barbara_Feldon-1.jpg" alt="Barbara_Feldon-1" width="175" height="223" />Question</strong>: What&#8217;s significant about this Saturday &#8211; March 12, 2011?</p>
<p><span style="text-decoration: line-through;"><strong>Answer</strong>: Time to set your clocks ahead for Daylight Savings Time. *</span></p>
<p><span style="text-decoration: line-through;"><strong>Answer</strong>: Barbara Feldon&#8217;s birthday **</span></p>
<p><strong>Answer</strong>: IFrame apps will be accessed through HTTP POST instead of GET.</p>
<p>That&#8217;s right kids, as Facebook has been telling us for some time now, your IFrame apps will be accessed from your customer&#8217;s clients by a POST instead of a GET. This is significant because it is most definitely a breaking change, e.g. one that has the potential to make your application stop working if you aren&#8217;t careful, so pay attention.</p>
<p>So why is Facebook doing this? Well, it has to do with a little something we call privacy. The problem is that a customer&#8217;s Facebook userid used to be passed in the URL (as part of a GET) so that the application could know which user a request was coming from. The problem is that subsequent calls would retain this userid in the HTTP Referrer header, and possibly allow third parties to get access to it. Privacy advocates rightfully have a problem with this, so Facebook looked for ways to fix the problem.</p>
<p>The solution to the problem is not to use a GET but rather a POST and pass the customer&#8217;s userid as a POST parameter. If all access happens over a secure channel (<a href="http://www.testfacebook.com/2011/01/27/positive-privacy-news-from-facebook/" target="_blank">like Facebook now allows us to do</a>) there&#8217;s no fear of exposing userids to third parties. Good solution, except for the fact that if your application expects a GET and receives a POST instead, you&#8217;re hosed.</p>
<p>So what to do if you have an IFrame application? Well, test it before Saturday comes lest things break. To do this, you must go into your application&#8217;s settings and enable the <em>POST for Canvas</em> selection.</p>
<p style="text-align: center;"><img class="size-full wp-image-925  aligncenter" style="margin-top: 10px; margin-bottom: 10px;" title="canvaspost" src="http://www.testfacebook.com/blog/wp-content/uploads/2011/03/canvaspost.jpg" alt="canvaspost" width="500" height="57" /></p>
<p>Once this is done, Facebook will provide different HTML to the client&#8217;s browser so that your application is accessed through POST instead of GET. Be very careful though if your application is already live. If your application is broken by this change, then selecting this will effectively knock your app off of Facebook. So to be safe, register a test application and use that instead.</p>
<p>More technical information about this change can be found <a href="http://developers.facebook.com/docs/canvas/post/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/developers.facebook.com/docs/canvas/post/?referer=');">here</a>. Facebook offers some simple solutions for how to do this migration on popular development platforms. There&#8217;s also some feedback from developers who&#8217;ve experienced some problems, so it&#8217;s a good place to start if you find problems yourself.</p>
<p>Good luck.</p>
<p> </p>
<p>* Yeah, technically this happens on March 13, but better do it before you forget.</p>
<p>** We loves us some Agent 99 so much we won&#8217;t give away her age.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.testfacebook.com/2011/03/09/breaking-changes-here-they-come/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook acknowledges testers exist!</title>
		<link>http://www.testfacebook.com/2011/01/28/facebook-acknowledges-testers-exist/</link>
		<comments>http://www.testfacebook.com/2011/01/28/facebook-acknowledges-testers-exist/#comments</comments>
		<pubDate>Fri, 28 Jan 2011 20:43:00 +0000</pubDate>
		<dc:creator>Sander Smith</dc:creator>
				<category><![CDATA[Application development]]></category>
		<category><![CDATA[Facebook features]]></category>
		<category><![CDATA[General Testing]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.testfacebook.com/?p=828</guid>
		<description><![CDATA[Yesterday, Facebook made a pretty significant announcement for developers of Facebook applications. The announcement involved assigning roles for people on the application development team, and defining what they can and cannot do. As far as I know, it&#8217;s the first real acknowledgement by Facebook that Platform application development has moved mainstream and is no longer solely [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-831" style="margin: 10px;" title="opamp-tester-pic" src="http://www.testfacebook.com/blog/wp-content/uploads/2011/01/opamp-tester-pic.jpg" alt="opamp-tester-pic" width="200" height="151" />Yesterday, Facebook made a pretty significant announcement for developers of Facebook applications. <a href="http://developers.facebook.com/blog/post/455" target="_blank" onclick="pageTracker._trackPageview('/outgoing/developers.facebook.com/blog/post/455?referer=');">The announcement</a> involved assigning roles for people on the application development team, and defining what they can and cannot do. As far as I know, it&#8217;s the first real acknowledgement by Facebook that Platform application development has moved mainstream and is no longer solely being done by guys in their basements (or lofts &#8211; this is Facebook after all). Traditional development teams building Facebook apps using traditional software lifecycle concepts are popping up everywhere. I&#8217;ve even see teams build apps on the .NET platform, as unlikely as that seems.</p>
<p>Facebook application development teams have always needed to register who was on the team with Facebook, so that those people could access, build, and test the application before it was released to the greater public. The problem was that belonging to the team was binary &#8211; you were either in or out, and only those that were in could access the pre-released app. However, all of the team members could view and modify the Application Secret, change the app&#8217;s URL, or throw everyone else on the team off. It didn&#8217;t matter what your actual job was, if you were on the list you had absolute authority.</p>
<p> </p>
<div id="attachment_836" class="wp-caption aligncenter" style="width: 486px"><img class="size-full wp-image-836" title="ontology1" src="http://www.testfacebook.com/blog/wp-content/uploads/2011/01/ontology12.jpg" alt="ontology1" width="476" height="170" /><p class="wp-caption-text">The new Developer&#39;s Role dialog</p></div>
<p> </p>
<p>Facebook has now changed that by allowing you to define the roles for the people on your dev team, and thereby limit what they can and can&#8217;t do. Here&#8217;s a list of the roles you can assign:</p>
<ul>
<li>Administrator &#8211; complete access to the application and all its settings</li>
<li>Developer &#8211; can modify all technical settings and access Insights but cannot reset secret key, delete application, or add additional users</li>
<li>Tester &#8211; can test the application in sandbox mode but cannot modify the application</li>
<li>Insights User &#8211; can access Insights but cannot modify the application</li>
</ul>
<p>This is great news, and is a step in the right direction to show that Facebook application development is growing up. I&#8217;ve done some consulting on testing Facebook apps, and have always been uneasy when I&#8217;ve been added as an applications &#8220;Developer&#8221;. I always felt uneasy about getting exposure and access to a company&#8217;s crown jewels, and asked to be taken off the list as soon as the gig was up. Now, I can be added as a &#8220;Tester&#8221; and gain access to only those priveleges that I need.</p>
<p>So let&#8217;s hope Facebook continues along this thread and provides more tools and services that acknowledge that Facebook application development is being done by teams that have real needs. For example, a real development team will want to stage any code changes before making them live (just like what Facebook does with the <a href="http://www.testfacebook.com/2010/12/13/monitoring-your-facebook-application-for-regression-part-1/" target="_blank">Beta Tier</a>). Unfortunately, the only way to test this beta code is to register another application with Facebook so that the production and beta code can run in parallel. But registering a new application will cause a new Application ID/Secret to be created. This means that once the beta code is proven to be good it will have to be modified in order to be run as production. Bad bad idea, but it&#8217;s the only way that Facebook will let you do it. It would be nice if Facebook would provide some easy ways to deal with things like this, as well as other difficulties that large dev teams certainly encounter. Facebook &#8211; give me a call, I have lots of other ideas.</p>
<p>So what would you change to help your development team interact with the Facebook Platform more easily. Leave a comment to let us know.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.testfacebook.com/2011/01/28/facebook-acknowledges-testers-exist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Monitoring your Facebook application for regression &#8211; Part 1</title>
		<link>http://www.testfacebook.com/2010/12/13/monitoring-your-facebook-application-for-regression-part-1/</link>
		<comments>http://www.testfacebook.com/2010/12/13/monitoring-your-facebook-application-for-regression-part-1/#comments</comments>
		<pubDate>Mon, 13 Dec 2010 14:57:44 +0000</pubDate>
		<dc:creator>Sander Smith</dc:creator>
				<category><![CDATA[Beta Tier]]></category>
		<category><![CDATA[General Testing]]></category>
		<category><![CDATA[Monitoring]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.testfacebook.com/?p=640</guid>
		<description><![CDATA[A few days ago there was a post in the Facebook Developers Blog entitled Testing Using The Beta Tier, which is important to read and to understand its implications. The gist of the post is that the developers at Facebook are pretty busy and are constantly modifying the Facebook Platform. They push out updates on a [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-648" style="margin: 10px;" title="regression-testing" src="http://www.testfacebook.com/blog/wp-content/uploads/2010/12/regression-testing.jpg" alt="regression-testing" width="320" height="195" />A few days ago there was a post in the Facebook Developers Blog entitled <a href="http://developers.facebook.com/blog/post/438" target="_blank" onclick="pageTracker._trackPageview('/outgoing/developers.facebook.com/blog/post/438?referer=');"><em>Testing Using The Beta Tier</em></a>, which is important to read and to understand its implications. The gist of the post is that the developers at Facebook are pretty busy and are constantly modifying the Facebook Platform. They push out updates on a weekly basis and all of us in the Facebook Platform ecosystem are affected by this whether we like it or not (and whether we know it or not). Fortunately, as this post explains, you can get access to the beta version of these updates before they go live to ensure that your application plays well with it. This is a valuable service that Facebook is providing, and it&#8217;s important to understand why.</p>
<p>Let&#8217;s contrast a Facebook app with a plain old Web Application. Imagine you&#8217;ve just finished designing and building your great new Web App. Before deployment you test every possible thing that could go wrong and you feel really confident about its stability and robustness. You&#8217;re so confident that it won&#8217;t break that you decide to relax and spend the next two weeks in Bora Bora without even a laptop. Things may go wrong, but if your app is really well-written, then all of the problems will be <em>operational</em> problems. Someone tripped over a power cord and knocked out a router, or spilled coffee into a server.  Things that are certainly problems, but they don&#8217;t need you <strong>the programmer</strong> to fix them. Go get yourself another drink and don&#8217;t worry about your app.</p>
<p>But Facebook development isn&#8217;t like that. You still need a good operations team to make sure your app stays online, but the stability and reliability of your Facebook app also depends on the invisible hand of Facebook, something that you have no control over. Before booking your flight to Bora Bora you&#8217;ll need to come to grips with the possibility that Facebook could very easily push out an update that changes an API in a way that breaks your application. If/when that happens to you, then you <strong>the programmer </strong>will need to do something about it to get your app back up and running again, even if it means getting up from the beach. And that&#8217;s the important point here: Facebook applications can and will experience regression even when they aren&#8217;t being changed because Facebook is always changing.</p>
<p>The first step to dealing with a problem like this is knowing that there is a problem. If you have a general Web App, knowing that it isn&#8217;t working isn&#8217;t so hard to do. You can simply set up a monitoring system to periodically hit the app and make sure that it responds properly. There are many inexpensive commercial services that make this really easy to do.</p>
<p>But what about Facebook applications? You can monitor the application to ensure it is up and running, but that won&#8217;t tell you if Facebook has done something to break it. That&#8217;s why Facebook&#8217;s Beta Tier is so valuable &#8211; you can find and fix potential problems before they get seen by users.</p>
<p>But how can we do this automatically? It would be great if we could set up an automated way to know that the next Facebook update will break your application. In our next post we&#8217;ll look at some strategies for how we can do this. In the meantime, leave a comment if you think this would be a good idea, and any thoughts you have about it.</p>
<p class="getsocial" style="text-align:left;"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2010/08/gs1003.png" alt="" /><a title="Add to Facebook" rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.testfacebook.com/2010/12/13/monitoring-your-facebook-application-for-regression-part-1/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/sharer.php?u=http_//www.testfacebook.com/2010/12/13/monitoring-your-facebook-application-for-regression-part-1/&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2010/08/gs1013.png" alt="Add to Facebook" /></a><a title="Add to Digg" rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.testfacebook.com%2F2010%2F12%2F13%2Fmonitoring-your-facebook-application-for-regression-part-1%2F&amp;title=Monitoring%20your%20Facebook%20application%20for%20regression%20%E2%80%93%20Part%201" target="_blank" onclick="pageTracker._trackPageview('/outgoing/digg.com/submit?phase=2_amp_url=http_3A_2F_2Fwww.testfacebook.com_2F2010_2F12_2F13_2Fmonitoring-your-facebook-application-for-regression-part-1_2F_amp_title=Monitoring_20your_20Facebook_20application_20for_20regression_20_E2_80_93_20Part_201&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2010/08/gs1023.png" alt="Add to Digg" /></a><a title="Add to Del.icio.us" rel="nofollow" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.testfacebook.com%2F2010%2F12%2F13%2Fmonitoring-your-facebook-application-for-regression-part-1%2F&amp;title=Monitoring%20your%20Facebook%20application%20for%20regression%20%E2%80%93%20Part%201" target="_blank" onclick="pageTracker._trackPageview('/outgoing/del.icio.us/post?url=http_3A_2F_2Fwww.testfacebook.com_2F2010_2F12_2F13_2Fmonitoring-your-facebook-application-for-regression-part-1_2F_amp_title=Monitoring_20your_20Facebook_20application_20for_20regression_20_E2_80_93_20Part_201&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2010/08/gs1033.png" alt="Add to Del.icio.us" /></a><a title="Add to Stumbleupon" rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.testfacebook.com%2F2010%2F12%2F13%2Fmonitoring-your-facebook-application-for-regression-part-1%2F&amp;title=Monitoring%20your%20Facebook%20application%20for%20regression%20%E2%80%93%20Part%201" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.stumbleupon.com/submit?url=http_3A_2F_2Fwww.testfacebook.com_2F2010_2F12_2F13_2Fmonitoring-your-facebook-application-for-regression-part-1_2F_amp_title=Monitoring_20your_20Facebook_20application_20for_20regression_20_E2_80_93_20Part_201&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2010/08/gs1043.png" alt="Add to Stumbleupon" /></a><a title="Add to Reddit" rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.testfacebook.com%2F2010%2F12%2F13%2Fmonitoring-your-facebook-application-for-regression-part-1%2F&amp;title=Monitoring%20your%20Facebook%20application%20for%20regression%20%E2%80%93%20Part%201" target="_blank" onclick="pageTracker._trackPageview('/outgoing/reddit.com/submit?url=http_3A_2F_2Fwww.testfacebook.com_2F2010_2F12_2F13_2Fmonitoring-your-facebook-application-for-regression-part-1_2F_amp_title=Monitoring_20your_20Facebook_20application_20for_20regression_20_E2_80_93_20Part_201&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2010/08/gs1053.png" alt="Add to Reddit" /></a><a title="Add to Blinklist" rel="nofollow" href="http://www.blinklist.com/index.php?Action=Blink/addblink.php&amp;Description=&amp;Url=http%3A%2F%2Fwww.testfacebook.com%2F2010%2F12%2F13%2Fmonitoring-your-facebook-application-for-regression-part-1%2F&amp;Title=Monitoring%20your%20Facebook%20application%20for%20regression%20%E2%80%93%20Part%201" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.blinklist.com/index.php?Action=Blink/addblink.php_amp_Description=_amp_Url=http_3A_2F_2Fwww.testfacebook.com_2F2010_2F12_2F13_2Fmonitoring-your-facebook-application-for-regression-part-1_2F_amp_Title=Monitoring_20your_20Facebook_20application_20for_20regression_20_E2_80_93_20Part_201&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2010/08/gs1063.png" alt="Add to Blinklist" /></a><a title="Add to Twitter" rel="nofollow" href="http://twitter.com/home/?status=Monitoring%20your%20Facebook%20application+%40+Monitoring%20your%20Facebook%20application%20for%20regression%20%E2%80%93%20Part%201" target="_blank" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home/?status=Monitoring_20your_20Facebook_20application+_40+Monitoring_20your_20Facebook_20application_20for_20regression_20_E2_80_93_20Part_201&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2010/08/gs1073.png" alt="Add to Twitter" /></a><a title="Add to Technorati" rel="nofollow" href="http://www.technorati.com/faves?add=http://www.testfacebook.com/2010/12/13/monitoring-your-facebook-application-for-regression-part-1/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.technorati.com/faves?add=http_//www.testfacebook.com/2010/12/13/monitoring-your-facebook-application-for-regression-part-1/&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2010/08/gs1083.png" alt="Add to Technorati" /></a><a title="Add to Yahoo Buzz" rel="nofollow" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.testfacebook.com%2F2010%2F12%2F13%2Fmonitoring-your-facebook-application-for-regression-part-1%2F&amp;headline=Monitoring%20your%20Facebook%20application%20for%20regression%20%E2%80%93%20Part%201" target="_blank" onclick="pageTracker._trackPageview('/outgoing/buzz.yahoo.com/buzz?targetUrl=http_3A_2F_2Fwww.testfacebook.com_2F2010_2F12_2F13_2Fmonitoring-your-facebook-application-for-regression-part-1_2F_amp_headline=Monitoring_20your_20Facebook_20application_20for_20regression_20_E2_80_93_20Part_201&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2010/08/gs1093.png" alt="Add to Yahoo Buzz" /></a><a title="Add to Newsvine" rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http%3A%2F%2Fwww.testfacebook.com%2F2010%2F12%2F13%2Fmonitoring-your-facebook-application-for-regression-part-1%2F&amp;h=Monitoring%20your%20Facebook%20application%20for%20regression%20%E2%80%93%20Part%201" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.newsvine.com/_wine/save?u=http_3A_2F_2Fwww.testfacebook.com_2F2010_2F12_2F13_2Fmonitoring-your-facebook-application-for-regression-part-1_2F_amp_h=Monitoring_20your_20Facebook_20application_20for_20regression_20_E2_80_93_20Part_201&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2010/08/gs1103.png" alt="Add to Newsvine" /></a><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.files.wordpress.com/2010/08/gs1113.png" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.testfacebook.com/2010/12/13/monitoring-your-facebook-application-for-regression-part-1/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>How does Facebook get tested?</title>
		<link>http://www.testfacebook.com/2010/07/05/how-does-facebook-get-tested/</link>
		<comments>http://www.testfacebook.com/2010/07/05/how-does-facebook-get-tested/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 01:12:28 +0000</pubDate>
		<dc:creator>Sander Smith</dc:creator>
				<category><![CDATA[General Testing]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.testfacebook.com/?p=298</guid>
		<description><![CDATA[The focus of this blog has always been to talk about testing Facebook applications. There are plenty of places to read about software testing or Facebook, but this is the one place to get that intersection. With this in mind I&#8217;m going to stray from our charter and talk about testing Facebook. No, not how to test your Facebook app, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-303" title="TestFacebook Venn" src="http://www.testfacebook.com/blog/wp-content/uploads/2010/07/TestFacebook-Venn.jpg" alt="TestFacebook Venn" width="300" height="183" />The focus of this blog has always been to talk about testing Facebook applications. There are plenty of places to read about software testing or Facebook, but this is the one place to get that intersection. With this in mind I&#8217;m going to stray from our charter and talk about testing Facebook. No, not how to test your Facebook app, but how does Facebook test Facebook.</p>
<p>That&#8217;s right. Have you ever thought about how Facebook tests its own product? Well wonder no more as the good people at <a href="http://www.quora.com/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.quora.com/?referer=');">Quora </a>have already asked that question, and Steven Grimm,<span id="ld_y6FZRk_4107"><span> </span><span>Facebook&#8217;s test engineering tech lead</span> has provided <a href="http://www.quora.com/What-kind-of-automated-testing-does-Facebook-do" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.quora.com/What-kind-of-automated-testing-does-Facebook-do?referer=');">quite a good answer</a>.</span></p>
<p><span><span id="ld_y6FZRk_4126">A few interesting take-aways:</span></span></p>
<ul>
<li><span><span>For a company that&#8217;s so grounded in PHP, it&#8217;s interesting to see that they&#8217;re so heavily invested in <a href="http://watir.com/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/watir.com/?referer=');">Watir</a>, a tool from the Ruby world.</span></span></li>
<li><span><span><em>&#8220;Facebook has no dedicated QA team.&#8221; </em>Now for many people, this will come as no surprise. For others from a more traditional development background, no dedicated QA for something as large and mission critical as Facebook seems like a really bad idea.</span></span></li>
<li><span><span>They don&#8217;t talk about load testing. From what we can tell, they probably don&#8217;t even do it. In a lot of respects, a proper load test of Facebook is probably far more trouble than it&#8217;s worth.</span></span></li>
</ul>
<p class="getsocial" style="text-align:left;"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1002.png" alt="" /><a title="Add to Facebook" rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.testfacebook.com/2010/07/05/how-does-facebook-get-tested" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/sharer.php?u=http_//www.testfacebook.com/2010/07/05/how-does-facebook-get-tested&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1012.png" alt="Add to Facebook" /></a><a title="Add to Digg" rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.testfacebook.com%2F2010%2F07%2F05%2Fhow-does-facebook-get-tested&amp;title=How%20does%20Facebook%20get%20tested%3F" target="_blank" onclick="pageTracker._trackPageview('/outgoing/digg.com/submit?phase=2_amp_url=http_3A_2F_2Fwww.testfacebook.com_2F2010_2F07_2F05_2Fhow-does-facebook-get-tested_amp_title=How_20does_20Facebook_20get_20tested_3F&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1022.png" alt="Add to Digg" /></a><a title="Add to Del.icio.us" rel="nofollow" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.testfacebook.com%2F2010%2F07%2F05%2Fhow-does-facebook-get-tested&amp;title=How%20does%20Facebook%20get%20tested%3F" target="_blank" onclick="pageTracker._trackPageview('/outgoing/del.icio.us/post?url=http_3A_2F_2Fwww.testfacebook.com_2F2010_2F07_2F05_2Fhow-does-facebook-get-tested_amp_title=How_20does_20Facebook_20get_20tested_3F&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1032.png" alt="Add to Del.icio.us" /></a><a title="Add to Stumbleupon" rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.testfacebook.com%2F2010%2F07%2F05%2Fhow-does-facebook-get-tested&amp;title=How%20does%20Facebook%20get%20tested%3F" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.stumbleupon.com/submit?url=http_3A_2F_2Fwww.testfacebook.com_2F2010_2F07_2F05_2Fhow-does-facebook-get-tested_amp_title=How_20does_20Facebook_20get_20tested_3F&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1042.png" alt="Add to Stumbleupon" /></a><a title="Add to Reddit" rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.testfacebook.com%2F2010%2F07%2F05%2Fhow-does-facebook-get-tested&amp;title=How%20does%20Facebook%20get%20tested%3F" target="_blank" onclick="pageTracker._trackPageview('/outgoing/reddit.com/submit?url=http_3A_2F_2Fwww.testfacebook.com_2F2010_2F07_2F05_2Fhow-does-facebook-get-tested_amp_title=How_20does_20Facebook_20get_20tested_3F&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1052.png" alt="Add to Reddit" /></a><a title="Add to Blinklist" rel="nofollow" href="http://www.blinklist.com/index.php?Action=Blink/addblink.php&amp;Description=&amp;Url=http%3A%2F%2Fwww.testfacebook.com%2F2010%2F07%2F05%2Fhow-does-facebook-get-tested&amp;Title=How%20does%20Facebook%20get%20tested%3F" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.blinklist.com/index.php?Action=Blink/addblink.php_amp_Description=_amp_Url=http_3A_2F_2Fwww.testfacebook.com_2F2010_2F07_2F05_2Fhow-does-facebook-get-tested_amp_Title=How_20does_20Facebook_20get_20tested_3F&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1062.png" alt="Add to Blinklist" /></a><a title="Add to Twitter" rel="nofollow" href="http://twitter.com/home/?status=How%20does%20Facebook%20get%20tested%3F+%40+http%3A%2F%2Fwww.testfacebook.com%2F2010%2F07%2F05%2Fhow-does-facebook-get-tested" target="_blank" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home/?status=How_20does_20Facebook_20get_20tested_3F+_40+http_3A_2F_2Fwww.testfacebook.com_2F2010_2F07_2F05_2Fhow-does-facebook-get-tested&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1072.png" alt="Add to Twitter" /></a><a title="Add to Technorati" rel="nofollow" href="http://www.technorati.com/faves?add=http://www.testfacebook.com/2010/07/05/how-does-facebook-get-tested" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.technorati.com/faves?add=http_//www.testfacebook.com/2010/07/05/how-does-facebook-get-tested&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1082.png" alt="Add to Technorati" /></a><a title="Add to Yahoo Buzz" rel="nofollow" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.testfacebook.com%2F2010%2F07%2F05%2Fhow-does-facebook-get-tested&amp;headline=How%20does%20Facebook%20get%20tested%3F" target="_blank" onclick="pageTracker._trackPageview('/outgoing/buzz.yahoo.com/buzz?targetUrl=http_3A_2F_2Fwww.testfacebook.com_2F2010_2F07_2F05_2Fhow-does-facebook-get-tested_amp_headline=How_20does_20Facebook_20get_20tested_3F&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1092.png" alt="Add to Yahoo Buzz" /></a><a title="Add to Newsvine" rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http%3A%2F%2Fwww.testfacebook.com%2F2010%2F07%2F05%2Fhow-does-facebook-get-tested&amp;h=How%20does%20Facebook%20get%20tested%3F" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.newsvine.com/_wine/save?u=http_3A_2F_2Fwww.testfacebook.com_2F2010_2F07_2F05_2Fhow-does-facebook-get-tested_amp_h=How_20does_20Facebook_20get_20tested_3F&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1102.png" alt="Add to Newsvine" /></a><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1112.png" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.testfacebook.com/2010/07/05/how-does-facebook-get-tested/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook Testing: Which metric is important?</title>
		<link>http://www.testfacebook.com/2010/05/08/facebook-testing-metrics/</link>
		<comments>http://www.testfacebook.com/2010/05/08/facebook-testing-metrics/#comments</comments>
		<pubDate>Sun, 09 May 2010 02:20:31 +0000</pubDate>
		<dc:creator>Sander Smith</dc:creator>
				<category><![CDATA[General Testing]]></category>
		<category><![CDATA[Load Testing]]></category>
		<category><![CDATA[Facebook application]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.testfacebook.com/?p=231</guid>
		<description><![CDATA[Many people ask us which metric is best to use when performing a load test of a Facebook application. Common wisdom says that Page Load Time (PLT) works for web applications: it&#8217;s easy to calculate, seemingly applicable, and everyone understands what it means. However, it isn&#8217;t so useful in the Facebook world since it contains so much extraneous [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-276" title="fbmetrics" src="http://www.testfacebook.com/blog/wp-content/uploads/2010/05/fbmetrics.jpg" alt="fbmetrics" width="189" height="144" />Many people ask us which metric is best to use when performing a load test of a Facebook application. Common wisdom says that Page Load Time (PLT) works for web applications: it&#8217;s easy to calculate, seemingly applicable, and everyone understands what it means. However, it isn&#8217;t so useful in the Facebook world since it contains so much extraneous information that makes it hard to analyze anything with it.</p>
<h3>Facebook Canvas applications</h3>
<p>To understand why PLT is a bad idea for Canvas applications,  we must go back and understand the Canvas architecture. Users interact with Canvas applications by using a browser connected to the Facebook server which acts as a middleman and requests data from the app. The app may call APIs that interact with the Facebook server, and then ultimately return an FBML file to Facebook which renders it into HTML for return to the users bowser. The problem is that if we only look at PLT by measuring response time at the browser, we have all of this extra stuff being counted in the timing:</p>
<p><img class="aligncenter size-full wp-image-263" title="CanvasApps" src="http://www.testfacebook.com/blog/wp-content/uploads/2010/05/CanvasApps2.jpg" alt="CanvasApps" width="480" height="136" /></p>
<ul>
<li>Network latency between the browser and Facebook</li>
<li>Time required by Facebook to figure out which application must be called, authenticating the request, etc.</li>
<li>Time to render the FBML into HTML</li>
<li>Time spent at the Facebook server servicing API calls</li>
</ul>
<p>These &#8220;extraneous&#8221; functions will take an unpredictable amount of time depending on, among other things, the current load at the Facebook server. This will make it hard, if not impossible, to positively correlate the timings of two different test runs. Since one of the prime motivators of load testing is to see the effects of changes to the code on performance, metrics like these will ultimatly prove to be of little use.</p>
<h3>Facebook Connect applications</h3>
<p>Using PLT for Facebook Connect applications is a little bit better. Users interact with Facebook Connect applications directly, and do not need the Facebook server to act as the middleman. The only extraneous functionality being counted in the timing is the time spent at the Facebook Server responding to API calls. If there are many API calls being made, this will cause a bit of randomness in the metrics.</p>
<h3>Application Response Times</h3>
<p>In contrast to PLT, creating metrics based on the Application Response Time is much more meaningful and useful, although harder to calculate. Application Response Time should calculate the amount of time spent at the application <strong>and only</strong> the time spent at the application. Unfortunately, in contrast to PLT there&#8217;s no simple way to get the Application Response Time &#8211; you&#8217;ll need to do a little bit of work to get at it.</p>
<p>To calculate this, you&#8217;ll need to create a stopwatch function which starts when your application is called, and stops when the application completes the request and returns an FBML file to the caller. In between, the stopwatch needs to be paused when a Facebook API is called. Finally, those of you using PHP as your development platform should check out the microtime() function as it&#8217;s much more accurate than the standard time() function. If your application is able to keep up with all of the bookkeeping, you&#8217;ll have metrics that can accurately show you the effects on application performance from any changes you make.</p>
<p>For those of you who don&#8217;t want to be bothered with keeping track of all of these timing calculations, please note that <a href="http://www.friendrunner.com" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.friendrunner.com?referer=');">FriendRunner </a>does all of this for you automatically.</p>
<p class="getsocial" style="text-align:left;"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1001.png" alt="" /><a title="Add to Facebook" rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.testfacebook.com/2010/05/08/facebook-testing-metrics" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/sharer.php?u=http_//www.testfacebook.com/2010/05/08/facebook-testing-metrics&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1011.png" alt="Add to Facebook" /></a><a title="Add to Digg" rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.testfacebook.com%2F2010%2F05%2F08%2Ffacebook-testing-metrics&amp;title=Facebook%20Testing%3A%20Which%20metric%20is%20important%3F" target="_blank" onclick="pageTracker._trackPageview('/outgoing/digg.com/submit?phase=2_amp_url=http_3A_2F_2Fwww.testfacebook.com_2F2010_2F05_2F08_2Ffacebook-testing-metrics_amp_title=Facebook_20Testing_3A_20Which_20metric_20is_20important_3F&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1021.png" alt="Add to Digg" /></a><a title="Add to Del.icio.us" rel="nofollow" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.testfacebook.com%2F2010%2F05%2F08%2Ffacebook-testing-metrics&amp;title=Facebook%20Testing%3A%20Which%20metric%20is%20important%3F" target="_blank" onclick="pageTracker._trackPageview('/outgoing/del.icio.us/post?url=http_3A_2F_2Fwww.testfacebook.com_2F2010_2F05_2F08_2Ffacebook-testing-metrics_amp_title=Facebook_20Testing_3A_20Which_20metric_20is_20important_3F&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1031.png" alt="Add to Del.icio.us" /></a><a title="Add to Stumbleupon" rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.testfacebook.com%2F2010%2F05%2F08%2Ffacebook-testing-metrics&amp;title=Facebook%20Testing%3A%20Which%20metric%20is%20important%3F" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.stumbleupon.com/submit?url=http_3A_2F_2Fwww.testfacebook.com_2F2010_2F05_2F08_2Ffacebook-testing-metrics_amp_title=Facebook_20Testing_3A_20Which_20metric_20is_20important_3F&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1041.png" alt="Add to Stumbleupon" /></a><a title="Add to Reddit" rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.testfacebook.com%2F2010%2F05%2F08%2Ffacebook-testing-metrics&amp;title=Facebook%20Testing%3A%20Which%20metric%20is%20important%3F" target="_blank" onclick="pageTracker._trackPageview('/outgoing/reddit.com/submit?url=http_3A_2F_2Fwww.testfacebook.com_2F2010_2F05_2F08_2Ffacebook-testing-metrics_amp_title=Facebook_20Testing_3A_20Which_20metric_20is_20important_3F&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1051.png" alt="Add to Reddit" /></a><a title="Add to Blinklist" rel="nofollow" href="http://www.blinklist.com/index.php?Action=Blink/addblink.php&amp;Description=&amp;Url=http%3A%2F%2Fwww.testfacebook.com%2F2010%2F05%2F08%2Ffacebook-testing-metrics&amp;Title=Facebook%20Testing%3A%20Which%20metric%20is%20important%3F" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.blinklist.com/index.php?Action=Blink/addblink.php_amp_Description=_amp_Url=http_3A_2F_2Fwww.testfacebook.com_2F2010_2F05_2F08_2Ffacebook-testing-metrics_amp_Title=Facebook_20Testing_3A_20Which_20metric_20is_20important_3F&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1061.png" alt="Add to Blinklist" /></a><a title="Add to Twitter" rel="nofollow" href="http://twitter.com/home/?status=Facebook%20Testing%3A%20Which%20metric%20is%20important%3F+%40+http%3A%2F%2Fwww.testfacebook.com%2F2010%2F05%2F08%2Ffacebook-testing-metrics" target="_blank" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home/?status=Facebook_20Testing_3A_20Which_20metric_20is_20important_3F+_40+http_3A_2F_2Fwww.testfacebook.com_2F2010_2F05_2F08_2Ffacebook-testing-metrics&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1071.png" alt="Add to Twitter" /></a><a title="Add to Technorati" rel="nofollow" href="http://www.technorati.com/faves?add=http://www.testfacebook.com/2010/05/08/facebook-testing-metrics" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.technorati.com/faves?add=http_//www.testfacebook.com/2010/05/08/facebook-testing-metrics&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1081.png" alt="Add to Technorati" /></a><a title="Add to Yahoo Buzz" rel="nofollow" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.testfacebook.com%2F2010%2F05%2F08%2Ffacebook-testing-metrics&amp;headline=Facebook%20Testing%3A%20Which%20metric%20is%20important%3F" target="_blank" onclick="pageTracker._trackPageview('/outgoing/buzz.yahoo.com/buzz?targetUrl=http_3A_2F_2Fwww.testfacebook.com_2F2010_2F05_2F08_2Ffacebook-testing-metrics_amp_headline=Facebook_20Testing_3A_20Which_20metric_20is_20important_3F&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1091.png" alt="Add to Yahoo Buzz" /></a><a title="Add to Newsvine" rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http%3A%2F%2Fwww.testfacebook.com%2F2010%2F05%2F08%2Ffacebook-testing-metrics&amp;h=Facebook%20Testing%3A%20Which%20metric%20is%20important%3F" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.newsvine.com/_wine/save?u=http_3A_2F_2Fwww.testfacebook.com_2F2010_2F05_2F08_2Ffacebook-testing-metrics_amp_h=Facebook_20Testing_3A_20Which_20metric_20is_20important_3F&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1101.png" alt="Add to Newsvine" /></a><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1111.png" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.testfacebook.com/2010/05/08/facebook-testing-metrics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bye Bye Facebook Lite</title>
		<link>http://www.testfacebook.com/2010/04/20/bye-bye-facebook-lite/</link>
		<comments>http://www.testfacebook.com/2010/04/20/bye-bye-facebook-lite/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 18:53:17 +0000</pubDate>
		<dc:creator>Sander Smith</dc:creator>
				<category><![CDATA[General Testing]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.testfacebook.com/?p=203</guid>
		<description><![CDATA[Facebook just announced the end of their slimmed down version known as Facebook Lite. Announced only 7 months ago, they&#8217;ve now put it to rest with this post. So why am I talking about this event on a place dedicated to testing Facebook apps? Simple, it&#8217;s because the most important thing taken out of Facebook [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-204" title="facebook-lite-beta" src="http://www.testfacebook.com/blog/wp-content/uploads/2010/04/facebook-lite-beta.gif" alt="facebook-lite-beta" width="122" height="104" />Facebook just announced the end of their slimmed down version known as Facebook Lite. Announced only 7 months ago, they&#8217;ve now put it to rest with this <a href="http://www.facebook.com/facebook?v=wall&amp;story_fbid=110629035639137" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/facebook?v=wall_amp_story_fbid=110629035639137&amp;referer=');">post</a>.</p>
<p>So why am I talking about this event on a place dedicated to testing Facebook apps? Simple, it&#8217;s because the most important thing taken out of Facebook to create the Lite version was applications. You can&#8217;t run applications on Facebook Lite (or more correctly you <em>couldn&#8217;t</em> run apps on Lite). One of the reasons that Lite failed was because users like apps. Apps are important.</p>
<p>Test your apps.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.testfacebook.com/2010/04/20/bye-bye-facebook-lite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook Application Verification Program: We Hardly Knew Ya</title>
		<link>http://www.testfacebook.com/2009/12/01/facebook-avp-hardly-knew-ya/</link>
		<comments>http://www.testfacebook.com/2009/12/01/facebook-avp-hardly-knew-ya/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 21:36:29 +0000</pubDate>
		<dc:creator>Sander Smith</dc:creator>
				<category><![CDATA[General Testing]]></category>
		<category><![CDATA[Facebook application]]></category>

		<guid isPermaLink="false">http://www.testfacebook.com/?p=17</guid>
		<description><![CDATA[Today marks the deprecation of the Application Verification Program  (AVP) as announced during the big Platform Roadmap announcement back in October. Why is Facebook doing this, and what does this mean to developers and testers. Let&#8217;s have a look: The AVP was announced a year ago as a way for developers to differentiate their apps. [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_84" class="wp-caption alignright" style="width: 220px"><img class="size-medium wp-image-84 " title="HelloGoodbye" src="http://www.testfacebook.com/blog/wp-content/uploads/2009/12/HelloGoodbye-300x293.jpg" alt="Hello Goodbye" width="210" height="205" /><p class="wp-caption-text">Hello Goodbye</p></div>
<p>Today marks the deprecation of the <a href="http://wiki.developers.facebook.com/index.php/Verification" target="_blank" onclick="pageTracker._trackPageview('/outgoing/wiki.developers.facebook.com/index.php/Verification?referer=');">Application Verification Program </a> (AVP) as announced during the big Platform Roadmap announcement back in October. Why is Facebook doing this, and what does this mean to developers and testers. Let&#8217;s have a look:</p>
<p>The AVP was announced a year ago as a way for developers to differentiate their apps. Verification was supposed to show that the apps met a set of criteria to reassure users that the apps provided a good user experience. The theory was that users would flock to these verified apps, Facebook would feel comfortable that these apps provided a consistent user experience, and developers would be rewarded for playing according to the rules with things like prominent placement in the app directory and an increase on notification allocations. So why was this program axed less than a year after announcement? The truth is, it didn&#8217;t work as well as planned. When the first wave of verified apps became available in May 2009, <a href="http://www.pcworld.com/businesscenter/article/165367/bugs_hit_facebook_application_verification_program.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.pcworld.com/businesscenter/article/165367/bugs_hit_facebook_application_verification_program.html?referer=');">bugs</a> prevented some of the promised developer benefits from actually working (e.g. the special green checkmark to denote a verified app did not always show up). Developers also weren&#8217;t thrilled with the $375 price that Facebook charged to verify their app, something that really hurt small developers. And finally, did any users really care whether the apps they were using were verified or not, and moreover, did they recognize when they were?</p>
<p>And so today, this program is being put to rest. But that doesn&#8217;t mean Facebook is giving up on consistent user experience. They&#8217;ve simply taken the criteria from the AVP, strengthened them, and reinvented them as the <a href="http://developers.facebook.com/policy" target="_blank" onclick="pageTracker._trackPageview('/outgoing/developers.facebook.com/policy?referer=');">Developer Principles and Policies </a>. This is not a voluntary program as the AVP was, everyone is supposed to live by these rules. Facebook is reserving the right to censure or cut off developers who don&#8217;t. We don&#8217;t know the circumstances under which Facebook will do an audit of an application, but one thing is for sure &#8211; it won&#8217;t be so easy for them.</p>
<p>Understanding why auditing for consistent user experience isn&#8217;t easy gets to the central issue that Facebook is trying to solve. Consistent user experience is important. Those of us old enough to remember that awkward time between command line DOS and the advent of Windows will remember the many applications that provided quasi-GUI interfaces on top of a DOS base. None of these applications looked or felt like any other, which made the process of learning to use one long and tedious. Say what you will about Microsoft, but they did users a great service by providing a Framework for consistency with Windows (okay, borrowed from Apple, borrowed from Xerox). Contrast this with my 8-year old son&#8217;s Super Mario games which he plays expertly on 3 different platforms with different sets of controls. Not only does he not read a manual, but mocks the idea that a manual even exists. This is the epitome of consistent user experience that Facebook would like all Platform apps to have.</p>
<p>The trouble is, consistency for Facebook apps is elusive. After all, they&#8217;re really just web apps, and developers can do pretty much anything they like (a la the pre-Windows GUI days). To compound problems, an application audited today may change how it works tomorrow. Even if the application code doesn&#8217;t explicitly change, any changes to its software stack (e.g. the libraries it uses, the application server, the operating system) may alter the way it works.</p>
<h3>Developer Principles and Policies: How to stay on Facebook&#8217;s good side</h3>
<p>Facebook breaks down proper application behavior into two Principles: <strong>Be trustworthy</strong>, and <strong>Create a great user experience</strong>. These principles are expanded into ten policies that Facebook says it will enforce. Upon reading the policies, you&#8217;ll find that most of them fall into the <strong>Be trustworthy</strong> category, or as I like to think about it, the &#8220;Don&#8217;t be a jerk category&#8221;. Most of these rules are simply an extension of civilized behavior for any application: Don&#8217;t misuse people&#8217;s information. Don&#8217;t SPAM the network. Don&#8217;t engage in illegal activity. Respect copyright. &#8230; and lots more. Facebook unfortunately has to list all of these things since when it shuts someone down who engages in one, they&#8217;ll need to point to the policy that was violated. <strong>Be trustworthy</strong> is a necessary evil that Facebook must delineate, and spend lots of time, effort, and money to police. After all, hate speech is really subjective, and cannot be determined through automated processes. It requires real people to make that determination.</p>
<p>On the other hand, <strong>Create a great user experience</strong> is a much more positive set of policies, mainly focused on Application Integration Points and Application Responses to User Actions. Whereas Windows codified consistent behavior like where the &#8220;File&#8221; menu was (and what the typical submenus should be) these policies outline the types of things a user should expect (or better yet, not expect) when using your application. Reading the list, one can remember various apps that used some of the techniques outlined before they were outlawed, and the user backlash that they caused. Some of the policies are:</p>
<ul>
<li><em>You must not prompt users to send invitations, requests, generate notifications, or use other Facebook communication channels immediately after a user allows access or returns to your application.</em></li>
</ul>
<p style="padding-left: 30px;">Invitations or notifications should really only be used once you use and like an application. This is a good policy since it spares your friends the application SPAM that was once common. This also signals to users who receive such invitations that their friends who sent it probably really do like the application and there may be some merit in trying it out themselves.</p>
<ul>
<li><em>You must only use one Facebook communication channel in response to a user&#8217;s single action.</em></li>
</ul>
<p style="padding-left: 30px;">When a user clicks on some choice that will generate some action, that user should not be surprised when additional actions are also generated.</p>
<ul>
<li><em>You must not prompt users to bookmark your application (e.g., by using a modal window or pop-up dialog). Instead, users must explicitly invoke any bookmark option you provide.</em></li>
</ul>
<p style="padding-left: 30px;">Nothing is worse than a modal dialog that forces you to take some action that you don&#8217;t necessarily agree with, but you must do because hey, it&#8217;s modal. Sure, you can go back and delete it, but this policy puts to rest this kind of nonsense that some applications used to pull.</p>
<ul>
<li><em>You must use discretion when publishing Stream stories and must not misuse the Stream by publishing an excessive amount of stories on a user&#8217;s behalf.</em></li>
</ul>
<p style="padding-left: 30px;">Forcing your friends to confront too much information about you and some application isn&#8217;t nice. Having an application use some discretion is good.</p>
<ul>
<li><em>Stream stories must be consistent with our design and be user-focused based on the user&#8217;s action that triggered the story. In no case should a Stream story serve primarily as a means to promote or advertise your application.</em></li>
</ul>
<p style="padding-left: 30px;">Time was when any sort of notification was simply an advertisement to your friends to come and check out this cool application. Well, maybe things stayed the same, but don&#8217;t be so blatant about it.</p>
<p>Going through the entire list, we begin to notice a common theme. Application consistency in the Facebook world is not about where the &#8220;File&#8221; menu is, it&#8217;s about the behavior of the application when dealing with the generation of privately and publically available information. But what it&#8217;s REALLY about is trying to ensure that you don&#8217;t look stupid in front of your friends (probably one of the greatest fears out there). It&#8217;s about allaying your fears to try out an application, lest that application begins to SPAM your friends who will get annoyed at you. Once we can all try out any application without worrying that bad things will happen, we all (especially Facebook) win.</p>
<p>One other interesting aspect of application consistency is that many of the rules of this principle can be tested in an automated way. Does Facebook have a way to do this automatically, it would sure save them a lot of legwork. How about your development organization? Would an automated tool to test compliance with Developer Principles be of use to you? Leave a comment and let us know!</p>
<p class="getsocial" style="text-align:left;"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1001.png" alt="" /><a title="Add to Facebook" rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.testfacebook.com/2009/12/01/facebook-avp-hardly-knew-ya" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/sharer.php?u=http_//www.testfacebook.com/2009/12/01/facebook-avp-hardly-knew-ya&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1011.png" alt="Add to Facebook" /></a><a title="Add to Digg" rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.testfacebook.com%2F2009%2F12%2F01%2Ffacebook-avp-hardly-knew-ya&amp;title=Facebook%20Application%20Verification%20Program%3A%20We%20Hardly%20Knew%20Ya" target="_blank" onclick="pageTracker._trackPageview('/outgoing/digg.com/submit?phase=2_amp_url=http_3A_2F_2Fwww.testfacebook.com_2F2009_2F12_2F01_2Ffacebook-avp-hardly-knew-ya_amp_title=Facebook_20Application_20Verification_20Program_3A_20We_20Hardly_20Knew_20Ya&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1021.png" alt="Add to Digg" /></a><a title="Add to Del.icio.us" rel="nofollow" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.testfacebook.com%2F2009%2F12%2F01%2Ffacebook-avp-hardly-knew-ya&amp;title=Facebook%20Application%20Verification%20Program%3A%20We%20Hardly%20Knew%20Ya" target="_blank" onclick="pageTracker._trackPageview('/outgoing/del.icio.us/post?url=http_3A_2F_2Fwww.testfacebook.com_2F2009_2F12_2F01_2Ffacebook-avp-hardly-knew-ya_amp_title=Facebook_20Application_20Verification_20Program_3A_20We_20Hardly_20Knew_20Ya&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1031.png" alt="Add to Del.icio.us" /></a><a title="Add to Stumbleupon" rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.testfacebook.com%2F2009%2F12%2F01%2Ffacebook-avp-hardly-knew-ya&amp;title=Facebook%20Application%20Verification%20Program%3A%20We%20Hardly%20Knew%20Ya" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.stumbleupon.com/submit?url=http_3A_2F_2Fwww.testfacebook.com_2F2009_2F12_2F01_2Ffacebook-avp-hardly-knew-ya_amp_title=Facebook_20Application_20Verification_20Program_3A_20We_20Hardly_20Knew_20Ya&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1041.png" alt="Add to Stumbleupon" /></a><a title="Add to Reddit" rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.testfacebook.com%2F2009%2F12%2F01%2Ffacebook-avp-hardly-knew-ya&amp;title=Facebook%20Application%20Verification%20Program%3A%20We%20Hardly%20Knew%20Ya" target="_blank" onclick="pageTracker._trackPageview('/outgoing/reddit.com/submit?url=http_3A_2F_2Fwww.testfacebook.com_2F2009_2F12_2F01_2Ffacebook-avp-hardly-knew-ya_amp_title=Facebook_20Application_20Verification_20Program_3A_20We_20Hardly_20Knew_20Ya&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1051.png" alt="Add to Reddit" /></a><a title="Add to Blinklist" rel="nofollow" href="http://www.blinklist.com/index.php?Action=Blink/addblink.php&amp;Description=&amp;Url=http%3A%2F%2Fwww.testfacebook.com%2F2009%2F12%2F01%2Ffacebook-avp-hardly-knew-ya&amp;Title=Facebook%20Application%20Verification%20Program%3A%20We%20Hardly%20Knew%20Ya" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.blinklist.com/index.php?Action=Blink/addblink.php_amp_Description=_amp_Url=http_3A_2F_2Fwww.testfacebook.com_2F2009_2F12_2F01_2Ffacebook-avp-hardly-knew-ya_amp_Title=Facebook_20Application_20Verification_20Program_3A_20We_20Hardly_20Knew_20Ya&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1061.png" alt="Add to Blinklist" /></a><a title="Add to Twitter" rel="nofollow" href="http://twitter.com/home/?status=Facebook%20Application%20Verification%20Program%3A%20We%20Hardly%20Knew%20Ya+%40+http%3A%2F%2Fwww.testfacebook.com%2F2009%2F12%2F01%2Ffacebook-avp-hardly-knew-ya" target="_blank" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home/?status=Facebook_20Application_20Verification_20Program_3A_20We_20Hardly_20Knew_20Ya+_40+http_3A_2F_2Fwww.testfacebook.com_2F2009_2F12_2F01_2Ffacebook-avp-hardly-knew-ya&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1071.png" alt="Add to Twitter" /></a><a title="Add to Technorati" rel="nofollow" href="http://www.technorati.com/faves?add=http://www.testfacebook.com/2009/12/01/facebook-avp-hardly-knew-ya" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.technorati.com/faves?add=http_//www.testfacebook.com/2009/12/01/facebook-avp-hardly-knew-ya&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1081.png" alt="Add to Technorati" /></a><a title="Add to Yahoo Buzz" rel="nofollow" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.testfacebook.com%2F2009%2F12%2F01%2Ffacebook-avp-hardly-knew-ya&amp;headline=Facebook%20Application%20Verification%20Program%3A%20We%20Hardly%20Knew%20Ya" target="_blank" onclick="pageTracker._trackPageview('/outgoing/buzz.yahoo.com/buzz?targetUrl=http_3A_2F_2Fwww.testfacebook.com_2F2009_2F12_2F01_2Ffacebook-avp-hardly-knew-ya_amp_headline=Facebook_20Application_20Verification_20Program_3A_20We_20Hardly_20Knew_20Ya&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1091.png" alt="Add to Yahoo Buzz" /></a><a title="Add to Newsvine" rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http%3A%2F%2Fwww.testfacebook.com%2F2009%2F12%2F01%2Ffacebook-avp-hardly-knew-ya&amp;h=Facebook%20Application%20Verification%20Program%3A%20We%20Hardly%20Knew%20Ya" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.newsvine.com/_wine/save?u=http_3A_2F_2Fwww.testfacebook.com_2F2009_2F12_2F01_2Ffacebook-avp-hardly-knew-ya_amp_h=Facebook_20Application_20Verification_20Program_3A_20We_20Hardly_20Knew_20Ya&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1101.png" alt="Add to Newsvine" /></a><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1111.png" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.testfacebook.com/2009/12/01/facebook-avp-hardly-knew-ya/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Welcome to Test Facebook</title>
		<link>http://www.testfacebook.com/2009/10/31/welcome-to-test-facebook/</link>
		<comments>http://www.testfacebook.com/2009/10/31/welcome-to-test-facebook/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 03:20:04 +0000</pubDate>
		<dc:creator>Sander Smith</dc:creator>
				<category><![CDATA[General Testing]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Facebook application]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.testfacebook.com/?p=3</guid>
		<description><![CDATA[Welcome to Test Facebook, a resource for Facebook application developers who are interested in testing their apps. You may be wondering&#8230; since Facebook apps are Web apps, why do I need a special place to discuss testing them? Can&#8217;t I apply the same tools and techniques for developing and testing web apps to my Facebook [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome to Test Facebook, a resource for Facebook application developers who are interested in testing their apps.</p>
<p>You may be wondering&#8230; since Facebook apps are Web apps, why do I need a special place to discuss testing them? Can&#8217;t I apply the same tools and techniques for developing and testing web apps to my Facebook apps?</p>
<p>Well, as with many things in life, the answer is yes and no. Sure you can use PHP and your favorite tools to build your app. However, because of the uniqueness of the Facebook Platform, there are special considerations that you need to think about when testing a Facebook app. Perhaps you&#8217;ve already encountered some of these special issues:</p>
<ul>
<li>How can I perform load testing on my app without defining hundreds, if not thousands of phony Facebook users, and how do I control them all? (&#8230;and BTW, defining phony users violates the Facebook <a href="http://www.facebook.com/terms.php?ref=pf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/terms.php?ref=pf&amp;referer=');">Terms of Use</a> Section 4.1)</li>
<li>If I&#8217;m doing performance testing, how do I factor out the time spent at the Facebook servers during API calls and FBML-to-HTML rendering?</li>
<li>Are there special security issues for social media applications, and how do I test for these?</li>
<li>How do I tell if if my application is usable?</li>
<li>How do I test my application when our development schedule is already behind?</li>
<li>Are there any special issues when testing applications written for Facebook Connect?</li>
<li>How do I do proper load testing when Facebook doesn&#8217;t allow me to hook up automated test tools? (Again, check the Facebook <a href="http://www.facebook.com/terms.php?ref=pf" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/terms.php?ref=pf&amp;referer=');">Terms of Use</a> Section 3.2)</li>
<li>Now that Facebook will proactively apply their <a href="http://developers.facebook.com/policy/" target="_blank" onclick="pageTracker._trackPageview('/outgoing/developers.facebook.com/policy/?referer=');">Developer Principles</a>, how can I be sure that my app doesn&#8217;t violate them?</li>
<li>How do I test in an environment where the Platform is constantly changing?</li>
<li>How can I simulate some of the error conditions that Facebook returns when I call API functions so I&#8217;ll know my app is robust?</li>
</ul>
<p>We plan to discuss these, and many other similar topics here. But mostly, we want this to be a resource for you. If you have a question or topic that you&#8217;d like discussed, or want to be a part of our ongoing knowledge base of Facebook testing, please let us know at <a href="mailto:admin@testfacebook.com">admin@testfacebook.com</a></p>
<p class="getsocial" style="text-align:left;"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1002.png" alt="" /><a title="Add to Facebook" rel="nofollow" href="http://www.facebook.com/sharer.php?u=http://www.testfacebook.com/2009/10/31/welcome-to-test-facebook" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.facebook.com/sharer.php?u=http_//www.testfacebook.com/2009/10/31/welcome-to-test-facebook&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1012.png" alt="Add to Facebook" /></a><a title="Add to Digg" rel="nofollow" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.testfacebook.com%2F2009%2F10%2F31%2Fwelcome-to-test-facebook&amp;title=Welcome%20to%20Test%20Facebook" target="_blank" onclick="pageTracker._trackPageview('/outgoing/digg.com/submit?phase=2_amp_url=http_3A_2F_2Fwww.testfacebook.com_2F2009_2F10_2F31_2Fwelcome-to-test-facebook_amp_title=Welcome_20to_20Test_20Facebook&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1022.png" alt="Add to Digg" /></a><a title="Add to Del.icio.us" rel="nofollow" href="http://del.icio.us/post?url=http%3A%2F%2Fwww.testfacebook.com%2F2009%2F10%2F31%2Fwelcome-to-test-facebook&amp;title=Welcome%20to%20Test%20Facebook" target="_blank" onclick="pageTracker._trackPageview('/outgoing/del.icio.us/post?url=http_3A_2F_2Fwww.testfacebook.com_2F2009_2F10_2F31_2Fwelcome-to-test-facebook_amp_title=Welcome_20to_20Test_20Facebook&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1032.png" alt="Add to Del.icio.us" /></a><a title="Add to Stumbleupon" rel="nofollow" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.testfacebook.com%2F2009%2F10%2F31%2Fwelcome-to-test-facebook&amp;title=Welcome%20to%20Test%20Facebook" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.stumbleupon.com/submit?url=http_3A_2F_2Fwww.testfacebook.com_2F2009_2F10_2F31_2Fwelcome-to-test-facebook_amp_title=Welcome_20to_20Test_20Facebook&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1042.png" alt="Add to Stumbleupon" /></a><a title="Add to Reddit" rel="nofollow" href="http://reddit.com/submit?url=http%3A%2F%2Fwww.testfacebook.com%2F2009%2F10%2F31%2Fwelcome-to-test-facebook&amp;title=Welcome%20to%20Test%20Facebook" target="_blank" onclick="pageTracker._trackPageview('/outgoing/reddit.com/submit?url=http_3A_2F_2Fwww.testfacebook.com_2F2009_2F10_2F31_2Fwelcome-to-test-facebook_amp_title=Welcome_20to_20Test_20Facebook&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1052.png" alt="Add to Reddit" /></a><a title="Add to Blinklist" rel="nofollow" href="http://www.blinklist.com/index.php?Action=Blink/addblink.php&amp;Description=&amp;Url=http%3A%2F%2Fwww.testfacebook.com%2F2009%2F10%2F31%2Fwelcome-to-test-facebook&amp;Title=Welcome%20to%20Test%20Facebook" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.blinklist.com/index.php?Action=Blink/addblink.php_amp_Description=_amp_Url=http_3A_2F_2Fwww.testfacebook.com_2F2009_2F10_2F31_2Fwelcome-to-test-facebook_amp_Title=Welcome_20to_20Test_20Facebook&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1062.png" alt="Add to Blinklist" /></a><a title="Add to Twitter" rel="nofollow" href="http://twitter.com/home/?status=Welcome%20to%20Test%20Facebook+%40+http%3A%2F%2Fwww.testfacebook.com%2F2009%2F10%2F31%2Fwelcome-to-test-facebook" target="_blank" onclick="pageTracker._trackPageview('/outgoing/twitter.com/home/?status=Welcome_20to_20Test_20Facebook+_40+http_3A_2F_2Fwww.testfacebook.com_2F2009_2F10_2F31_2Fwelcome-to-test-facebook&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1072.png" alt="Add to Twitter" /></a><a title="Add to Technorati" rel="nofollow" href="http://www.technorati.com/faves?add=http://www.testfacebook.com/2009/10/31/welcome-to-test-facebook" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.technorati.com/faves?add=http_//www.testfacebook.com/2009/10/31/welcome-to-test-facebook&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1082.png" alt="Add to Technorati" /></a><a title="Add to Yahoo Buzz" rel="nofollow" href="http://buzz.yahoo.com/buzz?targetUrl=http%3A%2F%2Fwww.testfacebook.com%2F2009%2F10%2F31%2Fwelcome-to-test-facebook&amp;headline=Welcome%20to%20Test%20Facebook" target="_blank" onclick="pageTracker._trackPageview('/outgoing/buzz.yahoo.com/buzz?targetUrl=http_3A_2F_2Fwww.testfacebook.com_2F2009_2F10_2F31_2Fwelcome-to-test-facebook_amp_headline=Welcome_20to_20Test_20Facebook&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1092.png" alt="Add to Yahoo Buzz" /></a><a title="Add to Newsvine" rel="nofollow" href="http://www.newsvine.com/_wine/save?u=http%3A%2F%2Fwww.testfacebook.com%2F2009%2F10%2F31%2Fwelcome-to-test-facebook&amp;h=Welcome%20to%20Test%20Facebook" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.newsvine.com/_wine/save?u=http_3A_2F_2Fwww.testfacebook.com_2F2009_2F10_2F31_2Fwelcome-to-test-facebook_amp_h=Welcome_20to_20Test_20Facebook&amp;referer=');"><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1102.png" alt="Add to Newsvine" /></a><img style="border:0;margin:0;padding:0;" src="http://getsocialserver.wordpress.com/files/2009/08/gs1112.png" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.testfacebook.com/2009/10/31/welcome-to-test-facebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

