<?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>Affinitive's Social Media Playground &#187; Pavel Shub</title>
	<atom:link href="http://www.socialmediaplayground.com/author/pavel/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.socialmediaplayground.com</link>
	<description>Welcome to Social Media Playground, a place to discuss all things related to word of mouth (WOM) and social media marketing. Brought to you by Affinitive, a word of mouth and social media marketing, technology and strategic solutions firm located in New York City and San Francisco.</description>
	<lastBuildDate>Thu, 09 Feb 2012 16:40:35 +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>The Coming of Age of OAuth</title>
		<link>http://www.socialmediaplayground.com/technology/the-coming-of-the-age-of-oauth/2010/09/09/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-coming-of-the-age-of-oauth</link>
		<comments>http://www.socialmediaplayground.com/technology/the-coming-of-the-age-of-oauth/2010/09/09/#comments</comments>
		<pubDate>Thu, 09 Sep 2010 20:19:46 +0000</pubDate>
		<dc:creator>Pavel Shub</dc:creator>
				<category><![CDATA[Industry News]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Data Portability]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[FourSquare]]></category>
		<category><![CDATA[foursuare]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[MySpace]]></category>
		<category><![CDATA[oAuth]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[twitter]]></category>
		<guid isPermaLink="false">http://www.socialmediaplayground.com/?p=1116</guid>
		<description><![CDATA[As the &#8220;big players&#8221; like Facebook, Google and Twitter have begun adopting OAuth, we will be seeing a more integrated web. For those not aware, OAuth allows a user to log into a 3rd party site using credentials from another website. Furthermore it allows the 3rd party site to perform actions on the other site [...]]]></description>
			<content:encoded><![CDATA[<p>As the &#8220;big players&#8221; like Facebook, Google and Twitter have begun adopting <a href="http://oauth.net/">OAuth</a>, we will be seeing a more integrated web. For those not aware, OAuth allows a user to log into a 3rd party site using credentials from another website. Furthermore it allows the 3rd party site to perform actions on the other site (post a status update, tweet, check-in, etc.).<br />
<img style="float: left; margin: 0 10px 15px 0;" src="http://hueniverse.com/wp-content/uploads/2007/12/My-Endpoints.png" alt="" width="347" height="309" />From a user&#8217;s perspective, the whole process can be innocuous. A user goes to a 3rd party site, clicks on the OAuth login button, is redirected to the OAuth providing site (i.e., Facebook), logs in using his/her credentials, then is redirected back to the 3rd party site. Now he/she can use unique features of the 3rd party site with the OAuth provider credentials.</p>
<p>So who&#8217;s doing it? OAuth has been the buzz in the tech world for the past few months. Enough so that that Facebook, <a href="http://dev.twitter.com/pages/oauth_faq" target="_blank">Twitter</a>, Google, <a href="http://wiki.developer.myspace.com/index.php?title=Category:OAuth" target="_blank">MySpace</a>, <a href="http://groups.google.com/group/foursquare-api/web/oauth?pli=1" target="_blank">FourSquare</a>, <a href="http://developer.netflix.com/docs/Security" target="_blank">Netflix</a> are in. Although there is no specification regarding what a 3rd party site should or shouldn&#8217;t be allowed to do on the OAuth-providing site, most provide enough APIs to replicate a good portion of the site functionality. Twitter and Foursquare allow you to do anything that you can already do through their web interface/app. This is great for developers as they can build their own twitter/foursquare clients. And of course this isn&#8217;t just limited to small party sites and applications; Facebook uses OAuth with Google for it&#8217;s friend finder feature.</p>
<p>To the end user this is great! Services are now integrated together. Say goodbye to the creation of countless user accounts. Everything could be accessed via your Facebook login. If you want to share something with friends, you can do that via 1 click as opposed to being redirected to the specific OAuth provider&#8217;s share page. Aside from simplicity, security gets a benefit. Facebook&#8217;s <a href="http://www.facebook.com/find-friends/">friend finder</a> asks for a user&#8217;s email and password so it can access the contact list. With gmail, if your original email account is with gmail, all you have to do is log in and that&#8217;s it.</p>
<p><img style="float: left; margin: 0pt 10px 15px 0pt;" title="fredwilson-tweet" src="http://www.socialmediaplayground.com/wordpress/wp-content/uploads/2010/09/fredwilson-tweet.png" alt="" width="280" height="297" />Excitement aside, it can be easy to overlook the potential security/privacy issues. When logging in with OAuth, <em>you are allowing a 3rd party to act on your behalf</em>. So, let&#8217;s say you have logged in with Twitter on a 3rd party site &#8211; a year later, that 3rd party site could potentially spam tweets from your account. The counter argument states that twitter can then instantly disable any actions from that 3rd party site, but that doesn&#8217;t help against the initial occurrence. Another thing to note is that <em>when logging in with OAuth credentials, it is possible to give away all of the personal information available to the OAuth provider</em>. So when logging in with Facebook, the 3rd party site gets the user&#8217;s email address, name, location, relationship status, friends, etc… As it becomes easier to integrate services it also becomes easier to spread your personal information unknowingly. None of this is a problem of OAuth specifically, but rather stems from improper implementations.</p>
<p>All in all, OAuth is an excellent tool that will bring a more seamless web in the future. It is possible that we may end up with a central social hub that allows us to control all of our servers. Imagine going to a movie theater and posting a status update from Facebook. It would instantly check you in with FourSquare and post to Twitter. In addition to Netflix learning which movie to suggest to you later. We&#8217;ve written about <a href="http://www.socialmediaplayground.com/social-media/data-portability-gets-a-boost-from-social-networks/2008/05/14/">Data Portability</a> before, and looks like OAuth actually won.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.socialmediaplayground.com/technology/the-coming-of-the-age-of-oauth/2010/09/09/feed/</wfw:commentRss>
		<slash:comments>1346</slash:comments>
		</item>
		<item>
		<title>Empower Users by Implenting HTML5 Today</title>
		<link>http://www.socialmediaplayground.com/technology/empower-users-by-implenting-html5-today/2010/05/04/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=empower-users-by-implenting-html5-today</link>
		<comments>http://www.socialmediaplayground.com/technology/empower-users-by-implenting-html5-today/2010/05/04/#comments</comments>
		<pubDate>Tue, 04 May 2010 18:58:32 +0000</pubDate>
		<dc:creator>Pavel Shub</dc:creator>
				<category><![CDATA[Industry News]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[cufon]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[w3c]]></category>
		<guid isPermaLink="false">http://www.socialmediaplayground.com/?p=973</guid>
		<description><![CDATA[HTML5 has been around for a while. Yes, it is still in draft form and the formal specification hasn&#8217;t been published yet, but that didn&#8217;t stop all major modern browsers from implementing a decent set of HTML5 features. By now, the web is chock full of HTML5 examples showing off everything from latest JavaScript to [...]]]></description>
			<content:encoded><![CDATA[<p><img style="margin: 5px;" title="W3C HTML5 Draft" src="http://www.socialmediaplayground.com/wordpress/wp-content/uploads/2010/05/Picture-2-300x119.png" alt="W3C HTML5 Draft" width="300" height="119" /></p>
<p><a href="http://en.wikipedia.org/wiki/HTML5" target="_blank">HTML5</a> has been around for a while. Yes, it is still in draft form and the formal specification hasn&#8217;t been published yet, but that didn&#8217;t stop <a href="http://htmlfive.appspot.com/" target="_blank">all major modern browsers</a> from implementing a decent set of HTML5 features. By now, the web is chock full of HTML5 <a href="http://html5demos.com/" target="_blank">examples</a> showing off everything from latest JavaScript to HTML5 markup tags. But people still seem to be on the edge when implementing them in real-world production environments. This should not be the case. The reality is that HTML5 features already implemented in modern browsers are mostly stable, and the published spec will ultimately not have major changes.</p>
<p>If there is still some doubt that HTML5 is still the &#8220;future&#8221; and is not needed in the current web, let me throw in some rough figures. Note, these numbers are taken from <a href="http://en.wikipedia.org/wiki/Usage_share_of_web_browsers" target="_blank">Wikipedia</a>. So interpret them how you wish.  Roughly 54% people still use Microsoft Internet Explorer (IE), of that ~ 36% is IE8. Making that 23% globally. About 31% use Firefox, about 80% of which is 3.5 or 3.6, making that 25% of the global market. Safari and Google Chrome take up another 13%, although I do not know what percentage of those browser version are HTML5 capable and in use. It can be assumed that at least half of the browsers out there support the commonly touted HTML5 features. So should we let half the people miss out on great features due to other people still using IE7 and Firefox 2?</p>
<p>Rolling out HTML5 may be easier than you think. Anyone who runs a commonly visited site probably already has different style sheets and/or JavaScript for IE/IE6 users. So pull in HTML5 JavaScript conditionally by checking if functions exists. It is ill-advised to rely on checking the user agent, as some browsers misreport it (i.e., IE8 in &#8220;IE7 mode&#8221; still has the window.postMessage JavaScript function).</p>
<p>Putting in HTML5 tags on the other hand is tricky. Putting in new tags such as &lt;article&gt; and &lt;aside&gt; won&#8217;t render properly in older browsers. The best way so far is to insert tags dynamically into the DOM using JavaScript. This isn&#8217;t practical for simple tags such as &lt;article&gt; but can be used for flashier tags like canvas. Existing libraries are already implemented this way. <a href="http://wiki.github.com/sorccu/cufon/about">Cufon</a> uses Canvas to render fonts in most browsers and VML in IE.</p>
<div style="font-size: 10px;">(Picture credit: W3C website)</div>
]]></content:encoded>
			<wfw:commentRss>http://www.socialmediaplayground.com/technology/empower-users-by-implenting-html5-today/2010/05/04/feed/</wfw:commentRss>
		<slash:comments>191</slash:comments>
		</item>
		<item>
		<title>Facebook: An Angel for Marketers, the Devil for Developers</title>
		<link>http://www.socialmediaplayground.com/technology/facebook-an-angel-for-marketers-the-devil-for-developers/2010/01/29/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=facebook-an-angel-for-marketers-the-devil-for-developers</link>
		<comments>http://www.socialmediaplayground.com/technology/facebook-an-angel-for-marketers-the-devil-for-developers/2010/01/29/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 20:42:00 +0000</pubDate>
		<dc:creator>Pavel Shub</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[socialmedia]]></category>
		<category><![CDATA[wiki]]></category>
		<guid isPermaLink="false">http://www.socialmediaplayground.com/?p=720</guid>
		<description><![CDATA[Anyone who has developed Facebook apps, or any kind of Facebook integration, knows that Facebook development can be a less than pleasant experience. How often does an API need a live status? Even though we all know the way Facebook has opened up their platform has been revolutionary, an already amazing source of revenue and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.socialmediaplayground.com/wordpress/wp-content/uploads/2010/01/error_count.png"><img style="float: left; margin-right: 15px; margin-bottom: 15px;" title="Error Count" src="http://www.socialmediaplayground.com/wordpress/wp-content/uploads/2010/01/error_count-300x274.png" alt="Facebook Platform Error Count" width="300" height="274" /></a>Anyone who has developed Facebook apps, or any kind of Facebook integration, knows that Facebook development can be a <em>less than pleasant</em> experience.  How often does an <a href="http://en.wikipedia.org/wiki/Api" target="_blank">API</a> need a <a href="http://developers.facebook.com/live_status.php" target="_blank">live status</a>?  Even though we all know the way Facebook has opened up their platform has been revolutionary, an already amazing source of revenue and outlet for marketing for brands, developers, and Facebook itself, it is still immature. As a platform it is still evolving rapidly and there&#8217;s promise of a better future, but if you intend to dive into the world of Facebook development, be prepared for some things you might not expect.</p>
<p>One of the more commonly used functions is <em>getInfo()</em>, which returns almost any piece of information from a user&#8217;s profile page; gender being one of them.  The value returned for gender is either “Male” or “Female,” which is fine &#8211; but they are <a href="http://en.wikipedia.org/wiki/Language_localization" target="_blank">localized</a> in the user’s language.  So does this mean you have to check for “Female” if the user is using Facebook in English and “<a href="http://translate.google.com/#auto|en|Weiblich" target="_blank">Weiblich</a>” if the user chose German?  Yes.  It also means you have to check for imaginary languages.  “Lass” is what you get if the user has his language preferences set to <a href="http://www.talklikeapirate.com/" target="_blank">Pirate</a> (English).  You can see the headache this causes a developer if they are asked to report on the demographic of users of your app.</p>
<p>Another problem plaguing developers is the lack of organization for the documentation. The bulk of documentation exists on their <a href="http://wiki.developers.facebook.com/index.php/Main_Page" target="_blank">developer wiki</a>.  This works well enough if you know exactly what you’re looking for, but if you don’t know the name of a function you’re better off using Google. A wiki format is more conducive to separate pages.  So for a new developer stumbling on to the wiki, aside from a few copy-paste tutorials, there is no clear path of where to go.  Only recently, with the release of their Javascript SDK, have they created a <a href="http://developers.facebook.com/docs/?u=facebook.jslib">concise page containing documentation</a>. Facebook officially supports 5 client libraries.  For some of the libraries, documentation exists on the wiki and is shared amongst one another.  All of the functions are typically the same for every language, so only one wiki page exists.  PHP as well as Connect for the iPhone use the wiki pages, while the ActionScript library documentation is housed on <a href="http://code.google.com/p/facebook-actionscript-api/" target="_blank">Google code</a>.  This is because a lot of these libraries were contributed by the community and not officially created by Facebook, but this can be a large annoyance if you automatically assume that the function you’re using in a particular language is described by the wiki.  Forcing people to scour multiple sites and forums for documentation is never a good idea if you are trying to build a good developer community around your platform.</p>
<p>The Facebook Platform status usually states “Facebook Platform is Healthy”.  Occasionally it displays messages about performance issues, but that doesn’t help you much.  Chances are, if you’re looking at Facebook platform status, you noticed the performance issues on your application.  Looking at the “Average API Response Time” and “Error Count” doesn’t reveal much because there are no units on the y-axis.  However looking at Developer Updates and Top Life Platform Bugs mights shed a light on the current status of Facebook.  So what is the state of Facebook?  Developer Update states they are changing profile picture sizes.  So everyone who ever uses a profile picture in their application should go and double check that the new sizes will work.  Existing Facebook applications constantly need to be updated to simply work.  The bug list is as expected; there are a few major bugs, e.g. suggest to friends does not work (opened 29 December).  And less critical but still annoying ones, e.g. request-form action opens a new window (opened 07 April 2009).  The platform is in a state of constant flux with backwards incompatible updates being released and bugs for old features being introduced.  If you create a Facebook app, you can&#8217;t just “set it and forget it.”  You must monitor for changes to the platform and update your app as needed.  You must also expect that there will be periods where your app won&#8217;t operate due to internal problems with Facebook&#8217;s system.</p>
<p>So where does this developer hell leave us?  It actually promises a <em>brighter future</em>.  The reason the API is broken is due to Facebook constantly working on it and bringing more enhancements to users and developers.  They are rolling out new features such as allowing applications to gather a user’s email if given permission and giving more control to users over their privacy settings.  Yes the platform is immature, but it’s certainly not stagnant.  So what can a developer do to make things smoother?  There are certainly enough complaints out there, so that path won’t lead anywhere. Trying to write more on the wiki and help the community won’t be very fruitful, because the API changes quickly enough that your notes may be soon outdated.  In fact, the abundance of notes like this on the wiki makes it confusing as to who is right.  Here are some suggestions for developers to cope with the situation:</p>
<ol>
<li>Manage your client&#8217;s expectations.  Make them aware that Facebook encounters issues periodically and this is out of your control.  Give them the link to the <a href="http://developers.facebook.com/live_status.php">Platform Live Status</a> page so they can check that before coming screaming at you.</li>
<li>Subscribe to the <a href="http://developers.facebook.com/live_status.php">Platform Live Status Feed</a>, <a href="http://developers.facebook.com/news.php?tab=blog">Developers News Feed</a>, and <a href="http://www.facebook.com/FacebookPages">Facebook Pages Notes</a>.  This way you should always be aware of a problem or an upcoming change before your client.  The feeds are available via RSS or email except for the Pages Notes which seems to only be RSS.</li>
<li>Stay up to date with the <a href="http://wiki.developers.facebook.com/index.php/Developer_Roadmap">Developer Roadmap</a> in the wiki.  You can create an account in the wiki and “watch” this page to get notified of changes.</li>
<li>If the client library you&#8217;re using has a svn repository, you can check the log to read about changes.  For example, this command works for the PHP library &#8211; svn log -v http://svn.facebook.com/svnroot/platform/clients/php/trunk/.  The ActionScript library on Google code page has a web interface for browsing changes &#8211; http://code.google.com/p/facebook-actionscript-api/source/list.  There are some tools for automatically getting notified of an update to the code: <a href="http://www.svnmonitor.com/default.shtml">SVN-Monitor</a>, <a href="http://tools.tortoisesvn.net/CommitMonitor">CommitMonitor</a>, and <a href="http://svnnotifier.tigris.org/">SVN Notifier</a>.  Unfortunately, these are all Windows programs.  Leave a comment if you know of one for Mac or Linux (yes, we know you can easily write a cron script to do it <img src='http://www.socialmediaplayground.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ol>
<p>In summary, at this stage if someone says “We want to do this and that with Facebook,” the best thing to do is say “I can try but I make no guarantees” instead of “Sure, it’s totally possible” because with Facebook you never know if what is available today will be still available by the time your application is ready to launch.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.socialmediaplayground.com/technology/facebook-an-angel-for-marketers-the-devil-for-developers/2010/01/29/feed/</wfw:commentRss>
		<slash:comments>969</slash:comments>
		</item>
	</channel>
</rss>

