<?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>MetaBlog &#187; Javascript</title>
	<atom:link href="http://www.metablocks.com/blog/category/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.metablocks.com/blog</link>
	<description></description>
	<lastBuildDate>Wed, 16 Dec 2009 18:42:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Back to the OpenSocial API: Porting from Facebook to MySpace</title>
		<link>http://www.metablocks.com/blog/2009/01/15/back-to-the-opensocial-api-porting-from-facebook-to-myspace/</link>
		<comments>http://www.metablocks.com/blog/2009/01/15/back-to-the-opensocial-api-porting-from-facebook-to-myspace/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 23:39:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[MySpace]]></category>
		<category><![CDATA[OpenSocial]]></category>

		<guid isPermaLink="false">http://www.metablocks.com/blog/2009/01/15/back-to-the-opensocial-api-porting-from-facebook-to-myspace/</guid>
		<description><![CDATA[It’s been a couple of weeks since I was last in the Google’s OpenSocial API. We are in the process of porting yet another Facebook application to MySpace using OpenSocial. Fortunately we wrote the original FB App with portability in mind.

Facebook vs. OpenSocial
The Facebook API and OpenSocial API use very different models making reuse very difficult. At [...]]]></description>
			<content:encoded><![CDATA[<!-- sphereit start --><p>It’s been a couple of weeks since I was last in the Google’s OpenSocial API. We are in the process of porting yet another Facebook application to MySpace using OpenSocial. Fortunately we wrote the original FB App with portability in mind.</p>
<p><img src="http://www.metablocks.com/blog/wp-content/uploads/2009/01/opensocial-fb.jpg" alt="Opensocial_fb" border="0" title="Back to the OpenSocial API: Porting from Facebook to MySpace widget facebook development" /></p>
<p><strong>Facebook vs. OpenSocial<br />
</strong>The Facebook API and OpenSocial API use <a href="http://blog.widgetbox.com/2007/11/facebook-v-open-social/" target="_blank">very different models</a> making reuse very difficult. At its core, Facebook uses a <strong>Server-side proxied web application</strong> model. The Facebook server talks to your PHP-based application (which uses XML-REST API to get info from Facebook) and displays the results. OpenSocial uses a <strong>Client-Side Javascript widget model</strong> where applications are written in Javascript and get information via a Javascript API. Any external communication is done using an AJAX-like API function but all the logic is on the client-side.  As a result, the development models are very different for both!</p>
<p>Here are a couple of suggestions to make your Facebook applications more “portable”:</p>
<ul>
<li>Do not use the <strong>Facebook datastore</strong>, store preferences and application data in your own database</li>
<li>Decouple “data” pages (pages used to generate data) from your Facebook application and access the data using <strong>includes</strong> or <strong>AJAX</strong> calls, make sure your “date” pages are stand alone and do not generate any FBML.</li>
<li>Design your Facebook application to retrieve <strong>all data/information using AJAX</strong>.  This take my previous point to its logical limit but since OpenSocial users Javascript/AJAX for all of its data retrieval you’ll be in great shape.</li>
<li>Organize your libraries to separate Facebook related functions</li>
</ul>
<!-- sphereit end --><span style="font-size:12px;margin-bottom:40px; border-bottom:none;"><a class="iconsphere" style=\"font-size:12px;\" title="Sphere: Related Content" onclick="return Sphere.Widget.search('http://www.metablocks.com/blog/2009/01/15/back-to-the-opensocial-api-porting-from-facebook-to-myspace/')" href="http://www.sphere.com/search?q=sphereit:http://www.metablocks.com/blog/2009/01/15/back-to-the-opensocial-api-porting-from-facebook-to-myspace/">Sphere: Related Content</a></span><div style='padding:3px'></div>]]></content:encoded>
			<wfw:commentRss>http://www.metablocks.com/blog/2009/01/15/back-to-the-opensocial-api-porting-from-facebook-to-myspace/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook API and Adobe Flash: Marriage Not Made in Heaven</title>
		<link>http://www.metablocks.com/blog/2008/07/01/facebook-api-and-adobe-flash-marriage-not-made-in-heaven/</link>
		<comments>http://www.metablocks.com/blog/2008/07/01/facebook-api-and-adobe-flash-marriage-not-made-in-heaven/#comments</comments>
		<pubDate>Tue, 01 Jul 2008 08:48:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Social Media]]></category>

		<guid isPermaLink="false">http://www.metablocks.com/blog/2008/07/01/facebook-api-and-adobe-flash-marriage-not-made-in-heaven/</guid>
		<description><![CDATA[We do widget, and as anyone who creates or user widgets knows Adobe Flash-based widget&#160;have dominated the social networking and media landscape for many years. With the advent (and growing popularity) of the Facebook Platform, many thought that Flash-based widget would quickly and easily make their way, unfettered, unto Facebook pages, but this has not [...]]]></description>
			<content:encoded><![CDATA[<!-- sphereit start --><p><strong>We do widget</strong>, and as anyone who creates or user widgets knows Adobe Flash-based widget&nbsp;have dominated the social networking and media landscape for many years. With the advent (and growing popularity) of the <strong>Facebook Platform</strong>, many thought that Flash-based widget would quickly and easily make their way, unfettered, unto Facebook pages, but this has not been the case!<br /><img alt="Facebook-flash" src="http://www.metablocks.com/blog/wp-content/uploads/2008/07/facebook-2dflash.jpg" border="0" title="Facebook API and Adobe Flash: Marriage Not Made in Heaven widget facebook development" /><br />Flash does work on Facebook, but&nbsp;with some&nbsp;limitations. For companies and developers looking to port their Flash-ware to Facebook, here are some important considerations to be aware of:</p>
<ul>
<li>Facebook <strong>does not support Flash to Javascript communication</strong></li>
<ul>
<li>Interaction between Javascript or <a href="http://wiki.developers.facebook.com/index.php/FBJS" target="_blank">FBSJ</a><font color="#0000ff"> </font>and Flash is prohibited. You&rsquo;ll have to use flashvars to pass information into your Flash component.</li>
</ul>
<li>Facebook <strong>does not support Flash links/navigation</strong></li>
<ul>
<li>In more technical terms, <strong>navigateToUrl</strong> and <strong>getURL</strong> by default do not work in Facebook (<a href="http://www.metablocks.com/blog/2008/06/28/flash-application-communication-within-facebook/">See work around</a>)</li>
<li>You have to embed your Flash in an IFRAME in order to enable navigation to work.</li>
</ul>
<li>Facebook and Flash have a <strong>problem sharing the same session</strong></li>
<ul>
<li>In less technical terms, writing Facebook/Flash applications that recognize a user&rsquo;s unique activity require some hard work (and experience).</li>
</ul>
<li>Flash <strong>cannot automatically&nbsp;begin playing</strong> on a&nbsp;user&rsquo;s Facebook profile page</li>
<ul>
<li>Flash components <strong>cannot</strong> automatically begin playing on profile pages, so the <b><a href="http://wiki.developers.facebook.com/index.php/Fb:swf" target="_blank">fb:swf </a></b>tag displays a developer-specified <strong>place-holder image</strong> until the user interacts with the object. </li>
</ul>
</ul>
<div class="bjtags">Tags:  <a rel="tag" href="http://technorati.com/tag/facebook">facebook</a>, <a rel="tag" href="http://technorati.com/tag/flash">flash</a>, <a rel="tag" href="http://technorati.com/tag/communication">communication</a>, <a rel="tag" href="http://technorati.com/tag/api">api</a></div>
<!-- sphereit end --><span style="font-size:12px;margin-bottom:40px; border-bottom:none;"><a class="iconsphere" style=\"font-size:12px;\" title="Sphere: Related Content" onclick="return Sphere.Widget.search('http://www.metablocks.com/blog/2008/07/01/facebook-api-and-adobe-flash-marriage-not-made-in-heaven/')" href="http://www.sphere.com/search?q=sphereit:http://www.metablocks.com/blog/2008/07/01/facebook-api-and-adobe-flash-marriage-not-made-in-heaven/">Sphere: Related Content</a></span><div style='padding:3px'></div>]]></content:encoded>
			<wfw:commentRss>http://www.metablocks.com/blog/2008/07/01/facebook-api-and-adobe-flash-marriage-not-made-in-heaven/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
