<?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>The Why and The How &#187; facebook</title> <atom:link href="http://www.thewhyandthehow.com/tag/facebook/feed/" rel="self" type="application/rss+xml" /><link>http://www.thewhyandthehow.com</link> <description>Just another WordPress weblog</description> <lastBuildDate>Fri, 09 Jul 2010 02:32:51 +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>Desert Code Camp</title><link>http://www.thewhyandthehow.com/desert-code-camp/</link> <comments>http://www.thewhyandthehow.com/desert-code-camp/#comments</comments> <pubDate>Sat, 07 Nov 2009 05:00:30 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[Javascript]]></category> <category><![CDATA[Technology]]></category> <category><![CDATA[jQuery]]></category> <category><![CDATA[connect]]></category> <category><![CDATA[facebook]]></category><guid
isPermaLink="false">http://www.thewhyandthehow.com/?p=766</guid> <description><![CDATA[Here, finally is the post for Desert Code Camp that I promised to make available. First off, thanks to everyone who attended my session on Integrating Facebook Connect. Secondly, please feel free to ask me questions via email, Twitter, or by commenting here.
Please feel free to download the source code. For each file in the [...]]]></description> <content:encoded><![CDATA[<p>Here, finally is the post for Desert Code Camp that I promised to make available. First off, thanks to everyone who attended my session on Integrating Facebook Connect. Secondly, please feel free to ask me questions via email, Twitter, or by commenting here.</p><p>Please feel free to <a
class="track-download" title="Facebook Connect Presentation" rel="ZIP" href="/wp-content/uploads/2009/11/fbp.zip">download the source code</a>. For each file in the source archive, there is an initial file and a final file. The final version of each file is the more interesting one with the FB code integrated.</p><p>In the code you&#8217;ll find usage samples for the following:<ul><li>FB.ensureInit</li><li>FB.Connect.requireSession</li><li>FB.Connect.forceSessionRefresh</li><li>FB.Connect.logout</li><li>FB.init</li><li>FB_RequireFeatures</li><li>fb:profile-pic</li><li>fb:name</li><li>FB.Facebook.apiClient.friends_get</li><li>FB.XFBML.Host.parseDomTree</li><li>FB.Facebook.apiClient.users_getInfo</li><li>fb:live-stream</li></ul><p>The demo site is still live at <a
href="http://xfcg.com/fbp/">http://xfcg.com/fbp</a>. For example, the page in the source archive called event-final.html is at <a
href="http://xfcg.com/fbp/event-final.html">http://xfcg.com/fbp/event-final.html</a>.</p><p>Here are the basic steps for setting up a new Facebook Connect application:</p><ol><li>Install the <a
href="http://www.facebook.com/apps/application.php?id=2345053339">Facebook Developer Application</a> on your Facebook profile</li><li>Create a new application</li><li>Upload the xd_receiver file</li><li>Add the FB xmlns attribute to your html tag</li><li>Add the Facebook JS file</li><li>Call init in your page</li></ol><p>More information about Facebook Connect Integration is available from these other posts:<ul><li><a
href="http://www.thewhyandthehow.com/integrating-facebook-connect-using-the-thesis-theme/">Integrating Facebook Connect</a></li><li><a
href="http://www.thewhyandthehow.com/facebook-connect-comments-as-wordpress-plugin/">Facebook Connect comments as WordPress Plugin</a></li><li><a
href="http://www.thewhyandthehow.com/use-twitter-facebook-oauth-or-openid-for-login/">Use Twitter, Facebook, OAuth or OpenID for login?</a></li></ul><p>Again, please comment or message me if I&#8217;ve missed something important or if I didn&#8217;t answer your specific question. I&#8217;d love to be able to help.</p> ]]></content:encoded> <wfw:commentRss>http://www.thewhyandthehow.com/desert-code-camp/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Facebook Connect comments as WordPress plugin</title><link>http://www.thewhyandthehow.com/facebook-connect-comments-as-wordpress-plugin/</link> <comments>http://www.thewhyandthehow.com/facebook-connect-comments-as-wordpress-plugin/#comments</comments> <pubDate>Fri, 14 Aug 2009 15:48:31 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[Technology]]></category> <category><![CDATA[facebook]]></category> <category><![CDATA[wordpress]]></category><guid
isPermaLink="false">http://www.thewhyandthehow.com/?p=741</guid> <description><![CDATA[My article Integrating Facebook Connect using the Thesis theme has generated a great deal of interest and several requests for a WordPress plugin. I personally haven&#8217;t had the time or inclination to create a plugin, but my friend and colleague Aaron Collegeman has. He was interested in the concept for one of his projects and [...]]]></description> <content:encoded><![CDATA[<p>My article <a
href="http://www.thewhyandthehow.com/integrating-facebook-connect-using-the-thesis-theme/">Integrating Facebook Connect using the Thesis theme</a> has generated a great deal of interest and several requests for a WordPress plugin. I personally haven&#8217;t had the time or inclination to create a plugin, but my friend and colleague <a
href="http://aaroncollegeman.com/">Aaron Collegeman</a> has. He was interested in the concept for one of his projects and asked permission to use my code.</p><p>Yesterday he released the <a
href="http://code.google.com/p/wpfb/">plugin as an open source project</a>. I haven&#8217;t had a chance to install the plugin, but having worked with Aaron in the past, I&#8217;m sure it&#8217;s top notch. I looked at the source code and really like the way he developed the integration with WordPress.</p><p>If you&#8217;re interested in adding Facebook comments to your WordPress blog, I suggest you give Aaron&#8217;s plugin a try. I&#8217;ve included this plugin on my <a
href="http://www.thewhyandthehow.com/open-source-tools/">open source tools page</a>.</p> ]]></content:encoded> <wfw:commentRss>http://www.thewhyandthehow.com/facebook-connect-comments-as-wordpress-plugin/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Doing more at once</title><link>http://www.thewhyandthehow.com/doing-more-at-once/</link> <comments>http://www.thewhyandthehow.com/doing-more-at-once/#comments</comments> <pubDate>Wed, 17 Jun 2009 17:48:26 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[General]]></category> <category><![CDATA[database]]></category> <category><![CDATA[facebook]]></category><guid
isPermaLink="false">http://www.thewhyandthehow.com/?p=736</guid> <description><![CDATA[I&#8217;ve been doing a lot of work with curl_multi in PHP lately because it just makes sense to do as much work in parallel as possible (in most cases). I&#8217;ll be writing up my experiences with curl_multi later.
So, yesterday&#8217;s announcement by the Facebook development team about fql.multiquery couldn&#8217;t have come at a better time for [...]]]></description> <content:encoded><![CDATA[<p>I&#8217;ve been doing a lot of work with <a
href="http://us2.php.net/manual/en/function.curl-multi-exec.php">curl_multi in PHP</a> lately because it just makes sense to do as much work in parallel as possible (in most cases). I&#8217;ll be writing up my experiences with curl_multi later.</p><p>So, yesterday&#8217;s announcement by the Facebook development team about <a
href="http://developers.facebook.com/news.php?blog=1&#038;story=257">fql.multiquery</a> couldn&#8217;t have come at a better time for me. Experienced web developers (and multi-tiered application developers in general) have all learned that performing work in the proper tier is always the most efficient way to work. Data should be managed in the database tier and as separately from the application tier as possible. This announcement from the Facebook development team is great news for Facebook application developers everywhere. Kudos to them!</p> ]]></content:encoded> <wfw:commentRss>http://www.thewhyandthehow.com/doing-more-at-once/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Use Twitter, Facebook, OAuth or OpenID for login?</title><link>http://www.thewhyandthehow.com/use-twitter-facebook-oauth-or-openid-for-login/</link> <comments>http://www.thewhyandthehow.com/use-twitter-facebook-oauth-or-openid-for-login/#comments</comments> <pubDate>Wed, 22 Apr 2009 16:41:23 +0000</pubDate> <dc:creator>Blake Schwendiman</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[General]]></category> <category><![CDATA[Technology]]></category> <category><![CDATA[authentication]]></category> <category><![CDATA[connect]]></category> <category><![CDATA[facebook]]></category> <category><![CDATA[oauth]]></category> <category><![CDATA[openid]]></category> <category><![CDATA[twitter]]></category><guid
isPermaLink="false">http://www.thewhyandthehow.com/?p=580</guid> <description><![CDATA[Now that OAuth is officially available for accessing the Twitter API, it&#8217;s technically possible to use Twitter&#8217;s services as an authentication method for logging into your web site. In fact, when setting up a new Twitter OAuth application, there&#8217;s an option suggesting that very use.This is not a new concept, but with the recent proliferation [...]]]></description> <content:encoded><![CDATA[<p>Now that OAuth is officially available for accessing the <a
href="http://apiwiki.twitter.com/">Twitter API</a>, it&#8217;s technically possible to use Twitter&#8217;s services as an authentication method for logging into your web site. In fact, when <a
href="http://twitter.com/oauth_clients/new">setting up a new Twitter OAuth application</a>, there&#8217;s an option suggesting that very use.</p><p><a
href="http://www.thewhyandthehow.com/wp-content/uploads/2009/04/twitter-authentication.png"><img
src="http://www.thewhyandthehow.com/wp-content/uploads/2009/04/twitter-authentication.png" alt="twitter-authentication" title="twitter-authentication" width="422" height="133" class="alignnone frame size-full wp-image-581" /></a></p><p>This is not a new concept, but with the recent proliferation of high-profile services such as Twitter OAuth and Facebook Connect, I think it&#8217;s time to discuss the pros and cons of using a third-party authentication system for your web site.</p><h4>Pros</h4><p>One of the most obvious advantages of using any third-party authentication system including <a
href="http://openid.net/">OpenID</a> is that you don&#8217;t have to develop the complex systems necessary to validate user registrations, avoid duplicate or spam registrations or manage all of the registration messaging and support. That&#8217;s a big deal. If your registration system is too complex because you are trying to ensure that only legitimate users can register, you will undoubtedly lose some potential users who simply find the system too hard to use. Tying into established accounts reduces the barriers to entry for your site.</p><p>Another consideration for using a third-party authentication system is the additional features of the third-party service. If you intend to update the user&#8217;s Facebook or Twitter status, you&#8217;ll eventually need to authorize your user with that service. You may be able to address two needs at one time.</p><p>Finally, there is a <em>soft</em> benefit to using a third-party authentication system and that is the added trust. It&#8217;s likely that if you use a trusted system or service, your own web site will be implicitly trusted more.</p><h4>Cons</h4><p>Using a third-party system does not remove the necessity to keep some user information in a local database or provide some session and cookie management functions. Your web site will probably require additional user information that is not provided by any of the third-party services. Depending on how much of that information is required, using a third-party service may simply add another step to the registration process &#8212; increasing the barriers to entry.</p><p>Many third-party applications are still evolving. Twitter&#8217;s OAuth has only been available for about a month. Facebook Connect is less than a year old and has changed quite drastically (for the better) since its release. OpenID is much more mature as a development tool, but adoption in the user world is still relatively low.</p><h4>Gotchas</h4><p><em>Some things to think about &#8212; things that may be pros or cons depending on how your site works with the third-party services.</em></p><p>An advantage of using a third-party for authentication is the fact that there are many to choose from (Twitter, Facebook Connect, OpenID, etc.) so many of your users  will already have established accounts with the other sites. But what do you do if your potential user is not connected with any of the third-party sites you use? Consider your audience before committing to a third-party-only authentication solution. If your audience is the bleeding edge web community or if your service is an add-on to the third-party service, you&#8217;re golden. Otherwise you may alienate potential users who don&#8217;t have and don&#8217;t want to be a part of the Twitter-Facebook-etc crowd.</p><p>What happens to your users if they decide to leave the third-party site or are banned from using it in the future? People do stop using Facebook, Twitter and other services. People close their GMail accounts (<a
href="http://code.google.com/apis/accounts/docs/OAuth.html">Google provides third-party authentication</a>) and occasionally people are banned from other sites for violations of terms. If your site is not directly related to the third-party site (for example a Twitter search site would be directly related to Twitter), you probably want to make sure that your users can login on your site whether they have an active account anywhere else.</p><h4>What to do?</h4><p>I suggest that most sites still need to have a local user login system of some sort. This is to ensure that your users remain your users. Users will not understand or care to know why they can no longer access your site after canceling their Facebook account, they&#8217;ll just know that you&#8217;ve excluded them and they&#8217;ll be upset. No amount of technical mumbo-jumbo will convince them otherwise.</p><p>I do encourage the use of third-party authentication systems to add value to your site. There are several reasons to do this:<ul><li>Providing additional value-added connections to the third-party services such as updating profile information or status</li><li>Providing social graph information such as which friends of the current user also use your site</li><li>Gathering additional authentication information for your site</li></ul><h4>Recommendations</h4><p>Build a simple login system for your site. Limit the amount of information you gather to the absolute minimum you need to provide basic login/account services. This should include a user identifier, password and some method for recovering a lost password. Consider this your first tier of authentication. First-tier users get read access to all of your site and some level of personalization based on their account information.</p><p>Next, if your site allows publishing of any information, add a second level of authentication. Since your first-tier users didn&#8217;t do anything to prove they aren&#8217;t bad robots, they don&#8217;t get to publish. This is where you can get creative. Second-tier authentication may be via email (not my preference) or via a third-party authentication system. Choose a third-party that you trust, then have your users authenticate themselves with that third-party and record the authorization information in your user database. Consider the user a second-tier user at that point and enable additional options and services on your site.</p><p>The advantages of this tiered approach are many.</p><ul><li>You maintain a local database of users</li><li>You can provide as many tiers of trust as you need with different authentication methods as seem appropriate</li><li>You can provide alternate authentication methods for each tier so your users have many options to authenticate</li><li>If any one of the third-party authentication services disappears or revokes access to a user or group of users, you can provide an alternate method</li><li>You reduce the barriers to entry to your web site</li><li>Your users only encounter authentication barriers as they seek to increase their interaction with your site</li></ul><p>Perhaps at some point in the future, OpenID and OAuth or some new thing will be truly ubiquitous and provide all of the features required for completely hands-off authentication services, but right now I don&#8217;t think we&#8217;re there. Until then, consider a tiered authentication system that provides the best options for you, your site and your users.</p> ]]></content:encoded> <wfw:commentRss>http://www.thewhyandthehow.com/use-twitter-facebook-oauth-or-openid-for-login/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Publishing to Facebook using Facebook Connect</title><link>http://www.thewhyandthehow.com/publishing-to-facebook-using-facebook-connect/</link> <comments>http://www.thewhyandthehow.com/publishing-to-facebook-using-facebook-connect/#comments</comments> <pubDate>Thu, 02 Apr 2009 01:53:14 +0000</pubDate> <dc:creator>Blake Schwendiman</dc:creator> <category><![CDATA[Javascript]]></category> <category><![CDATA[Technology]]></category> <category><![CDATA[Tutorial]]></category> <category><![CDATA[jQuery]]></category> <category><![CDATA[connect]]></category> <category><![CDATA[facebook]]></category> <category><![CDATA[publish]]></category><guid
isPermaLink="false">http://www.thewhyandthehow.com/?p=413</guid> <description><![CDATA[In order to get a frame of reference for this post, you&#8217;ll need to read Integrating Facebook Connect using the Thesis theme. That article briefly describes the method for creating a new Facebook Connect application and the files required to set up the basic framework for a Facebook Connect integrated site.
Assuming your site is ready [...]]]></description> <content:encoded><![CDATA[<script type="text/javascript" src="/wp-content/themes/thesis/custom/js/fb_connect.js"></script><p>In order to get a frame of reference for this post, you&#8217;ll need to read <a
href="http://www.thewhyandthehow.com/integrating-facebook-connect-using-the-thesis-theme/">Integrating Facebook Connect using the Thesis theme</a>. That article briefly describes the method for creating a new Facebook Connect application and the files required to set up the basic framework for a Facebook Connect integrated site.</p><p>Assuming your site is ready to go, it&#8217;s relatively straightforward to provide a custom notification popup for your users to post information about your site to their Facebook profile. For example, the following link is an implementation of this concept. Click the link to see the popup form (you will be prompted to login to Facebook and approve the message before any data is sent to Facebook).</p><div
id="fb_demo_publish"><strong>Demo</strong>: <a
href="#" onclick="FB_Helper.demoPublish(); return false;">Publish your thoughts about this blog now.</a></div><p>Note: after you close the Facebook dialog, you should see a different message above.</p><p>The code for this is amazingly simple:</p><div
id="wp_codebox_msgheader"><span
class="right"><a
href="javascript:;" onclick="toggle_collapse('p4132');">[<span
id="p4132_symbol">-</span>]</a><sup><a
href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span
style="color: #99cc00">?</span></a></sup></span><span
class="left"><a
href="javascript:;" onclick="javascript:showCodeTxt('p413code2'); return false;">View Code</a> JAVASCRIPT</span><div
class="codebox_clear"></div></div><div
id="wp_codebox"><table
width="100%" ><tr
id="p4132"><td
class="code" id="p413code2"><pre class="javascript">FB.<span style="color: #006600;">Connect</span>.<span style="color: #006600;">showFeedDialog</span><span style="color: #009900;">&#40;</span>
  <span style="color: #CC0000;">60885219929</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">null</span><span style="color: #339933;">,</span> FB.<span style="color: #006600;">RequireConnect</span>.<span style="color: #006600;">promptConnect</span><span style="color: #339933;">,</span>
  <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    jQuery<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#fb_demo_publish'</span><span style="color: #009900;">&#41;</span>.<span style="color: #006600;">html</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;p class=&quot;highlight&quot;&gt;You have closed the Facebook notification dialog. Unfortunately there is no way currently to know if you posted a messasge or not, so we have to display a generic message.&lt;/p&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
  <span style="color: #3366CC;">'What do you think of this blog?'</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span>value<span style="color: #339933;">:</span> <span style="color: #3366CC;">'Great blog!'</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div><p>In this example, I am providing the very simplest implementation of <em>showFeedDialog</em>. The first parameter is a template bundle ID generated by Facebook. Every message that you want to post from your site to Facebook has to be registered as a feed template. Assuming you&#8217;re a registered Facebook developer, you can <a
href="http://developers.facebook.com/tools.php?feed">register a feed template here: http://developers.facebook.com/tools.php?feed</a>. The process is very simple and will be discussed in detail in a follow-up post.</p><p>This sample uses no custom fields, so the second parameter is an empty Javascript object. Following that are three null parameters (I&#8217;m saving that for the next example), then there is a callback function that updates the page when the dialog is closed. Finally the last two parameters provide the display question and some sample text (end-user editable).</p><p>My reasoning for providing such a simplistic example is to provide a basic framework for using the <em>showFeedDialog</em> function.  I want you to see that it is very simple to get started &#8212; without getting bogged down in all of the options right away.  In the future I will detail the process of setting up a feed template, using the template_data parameter and provide more information about the other <em>showFeedDialog</em> parameters. <a
href="http://feeds2.feedburner.com/TheWhyAndTheHow">Subscribe to my blog feed</a> to make sure you don&#8217;t miss the follow-up posts.</p><p
class="footnote">See the Facebook Connect documentation for <a
href="http://wiki.developers.facebook.com/index.php/JS_API_M_FB.Connect.showFeedDialog">full details about the showFeedDialog function</a>.</p> ]]></content:encoded> <wfw:commentRss>http://www.thewhyandthehow.com/publishing-to-facebook-using-facebook-connect/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Geeking out</title><link>http://www.thewhyandthehow.com/geeking-out/</link> <comments>http://www.thewhyandthehow.com/geeking-out/#comments</comments> <pubDate>Thu, 26 Mar 2009 12:42:11 +0000</pubDate> <dc:creator>Blake Schwendiman</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[Javascript]]></category> <category><![CDATA[PHP]]></category> <category><![CDATA[jQuery]]></category> <category><![CDATA[api]]></category> <category><![CDATA[facebook]]></category> <category><![CDATA[twitter]]></category><guid
isPermaLink="false">http://www.thewhyandthehow.com/?p=381</guid> <description><![CDATA[I&#8217;ve enjoyed geeking out the past few days, but the example I wanted to show today is taking longer than I had expected, so I have to delay that one. I&#8217;m going to do more mini-tutorials and examples over the next few weeks, so stay tuned.
If you&#8217;re new to this site, please take a look [...]]]></description> <content:encoded><![CDATA[<p>I&#8217;ve enjoyed geeking out the past few days, but the example I wanted to show today is taking longer than I had expected, so I have to delay that one. I&#8217;m going to do more mini-tutorials and examples over the next few weeks, so stay tuned.</p><p>If you&#8217;re new to this site, please take a look at a few of the recent articles covering topics such as <a
href="http://www.thewhyandthehow.com/integrating-facebook-connect-using-the-thesis-theme/">Facebook Connect integration</a>, <a
href="http://www.thewhyandthehow.com/javascript-geolocation-using-google-ajax-apis/">geolocation</a>, and <a
href="http://www.thewhyandthehow.com/tracking-events-with-google-analytics/">event tracking using Google Analytics</a>. I also highly recommend familiarity with the following:</p><ol><li><a
href="http://code.google.com/">Google Code</a>. This site is awesome. Google is constantly updating their public APIs making integrations richer and easier.</li><li><a
href="http://aws.amazon.com/">Amazon Web Services</a>. I haven&#8217;t touched on this much, but as far as mashups and integrations go, Amazon is the service to beat.</li><li><a
href="http://jquery.com/">jQuery</a>. You better believe that you&#8217;re going to need to know Javascript today. If you&#8217;re still hacking away at it without a good library, repent now and learn jQuery.</li><li><a
href="http://jqueryui.com/">jQuery UI</a>. An amazing set of well-developed UI components and themes for use with jQuery.</li><li><a
href="http://apiwiki.twitter.com/">Twitter API</a> and <a
href="http://developers.facebook.com/">Facebook API</a>. Not as fundamental as the above for general web development and integration, but core to social integrations.</li><li><a
href="http://php.net/">PHP</a>. Okay, you can use Python or Ruby or Java or ASP or whatever in the back end. My examples are going to be either PHP or Python, though.</li></ol><p>Read up. There will be a quiz.</p> ]]></content:encoded> <wfw:commentRss>http://www.thewhyandthehow.com/geeking-out/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Integrating Facebook Connect using the Thesis theme</title><link>http://www.thewhyandthehow.com/integrating-facebook-connect-using-the-thesis-theme/</link> <comments>http://www.thewhyandthehow.com/integrating-facebook-connect-using-the-thesis-theme/#comments</comments> <pubDate>Mon, 16 Mar 2009 12:58:32 +0000</pubDate> <dc:creator>Blake Schwendiman</dc:creator> <category><![CDATA[PHP]]></category> <category><![CDATA[Technology]]></category> <category><![CDATA[connect]]></category> <category><![CDATA[facebook]]></category> <category><![CDATA[integration]]></category> <category><![CDATA[Javascript]]></category><guid
isPermaLink="false">http://www.thewhyandthehow.com/?p=318</guid> <description><![CDATA[Propeller-head alert! This is a very technical article.
I&#8217;ve received a number of questions about how I integrated Facebook Connect with my blog, so I thought I&#8217;d go ahead and explain exactly how I did it. I&#8217;m still working on making a very simple open-source Wordpress plugin that does the same thing, but you should be [...]]]></description> <content:encoded><![CDATA[<p><strong><a
href="http://www.thewhyandthehow.com/dont-fear-the-propeller-head/">Propeller-head alert</a>! This is a very technical article.</strong></p><p>I&#8217;ve received a number of questions about how I integrated Facebook Connect with my blog, so I thought I&#8217;d go ahead and explain exactly how I did it. I&#8217;m still working on making a very simple open-source Wordpress plugin that does the same thing, but you should be able to get the ideas from this post to help you do it yourself if you like.</p><p>The first thing to mention is that I&#8217;m using the <a
href="http://diythemes.com/thesis/?a_aid=pointe&#038;a_bid=47c5a620">Thesis theme</a> for Wordpress. Besides being a very professional-looking theme, the <a
href="http://diythemes.com/thesis/?a_aid=pointe&#038;a_bid=47c5a620">Thesis theme</a> also provides a direct mechanism for extending it through the use of <a
href="http://diythemes.com/thesis/rtfm/customizing-with-hooks/">hooks</a>. The hooks allow for customization of the theme without meddling directly with the theme code. All customizations live in their own files, so the them can be upgraded without impacting the customizations.</p><p><a
href="http://www.thewhyandthehow.com/wp-content/uploads/2009/03/fb-connect-settings.png"><img
src="http://www.thewhyandthehow.com/wp-content/uploads/2009/03/fb-connect-settings-218x300.png" alt="fb-connect-settings" title="fb-connect-settings" width="218" height="300" class="alignleft size-medium wp-image-322" /></a>To build a Facebook Connect application, the first thing to do is go over to Facebook and add the <a
href="http://www.facebook.com/developers">Developer</a> application. Then you can create a new application. A Facebook Connect application is just another Facebook application, so you&#8217;ll get a new application ID, API key and secret. You&#8217;ll need this information to set up your Connect app on your blog. I&#8217;m going to assume that you know enough about Facebook Connect to set up the basic application. If not, you need to read the <a
href="http://wiki.developers.facebook.com/index.php/Facebook_Connect">Facebook Connect documentation</a>. The screenshot shows the settings for my blog&#8217;s Connect application.</p><p>I had to add two very small files to my site to support Facebook Connect. The first is the xd_receiver file which provides the cross-domain support for Facebook Connect. The second is a simple callback page &#8212; mine doesn&#8217;t actually do anything, but it exists to support the callback for the application if I ever choose to do anything with the data it can provide. I put both files in the /custom directory of the <a
href="http://diythemes.com/thesis/?a_aid=pointe&#038;a_bid=47c5a620">Thesis theme</a> so they won&#8217;t be affected when I upgrade Thesis or Wordpress in general. (Note: Another option for managing Wordpress and theme upgrades may be to find appropriate <a
href="http://www.webhostingsearch.com/wordpress-hosting.php">Wordpress hosting</a>.)</p><p>Here is the code for the xd_receiver.html file I created (the code is provided by Facebook &#8212; I made no changes at all).</p><div
id="wp_codebox_msgheader"><span
class="right"><a
href="javascript:;" onclick="toggle_collapse('p3187');">[<span
id="p3187_symbol">-</span>]</a><sup><a
href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span
style="color: #99cc00">?</span></a></sup></span><span
class="left"><a
href="javascript:;" onclick="javascript:showCodeTxt('p318code7'); return false;">View Code</a> HTML</span><div
class="codebox_clear"></div></div><div
id="wp_codebox"><table
width="100%" ><tr
id="p3187"><td
class="code" id="p318code7"><pre>&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;
   &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; &gt;
&lt;head&gt;
    &lt;title&gt;Cross-Domain Receiver Page&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
    &lt;script src=&quot;http://static.ak.facebook.com/js/api_lib/v0.4/XdCommReceiver.js?v2&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</pre></td></tr></table></div><p>Here is my callback script:</p><div
id="wp_codebox_msgheader"><span
class="right"><a
href="javascript:;" onclick="toggle_collapse('p3188');">[<span
id="p3188_symbol">-</span>]</a><sup><a
href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span
style="color: #99cc00">?</span></a></sup></span><span
class="left"><a
href="javascript:;" onclick="javascript:showCodeTxt('p318code8'); return false;">View Code</a> PHP</span><div
class="codebox_clear"></div></div><div
id="wp_codebox"><table
width="100%" ><tr
id="p3188"><td
class="code" id="p318code8"><pre class="php"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
  <span style="color: #666666; font-style: italic;">/**
   * This is the Facebook callback page.
   *
   */</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
Visit <span style="color: #339933;">&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;http://www.thewhyandthehow.com/&quot;</span><span style="color: #339933;">&gt;</span>The Why and The How<span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;</span></pre></td></tr></table></div><p>Now, here&#8217;s where it gets cool! To add all of the Facebook commenting functionality, I added the following hooks and code to my Thesis theme custom_functions.php file.</p><div
id="wp_codebox_msgheader"><span
class="right"><a
href="javascript:;" onclick="toggle_collapse('p3189');">[<span
id="p3189_symbol">-</span>]</a><sup><a
href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span
style="color: #99cc00">?</span></a></sup></span><span
class="left"><a
href="javascript:;" onclick="javascript:showCodeTxt('p318code9'); return false;">View Code</a> PHP</span><div
class="codebox_clear"></div></div><div
id="wp_codebox"><table
width="100%" ><tr
id="p3189"><td
class="code" id="p318code9"><pre class="php">add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'thesis_hook_after_post'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'fb_comment_box'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'thesis_hook_after_post'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'fb_comment_plug'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'language_attributes'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'add_fb_xml_ns'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> add_fb_xml_ns<span style="color: #009900;">&#40;</span><span style="color: #000033;">$content</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #b1b100;">return</span> <span style="color: #0000ff;">' xmlns:fb=&quot;http://www.facebook.com/2008/fbml&quot; '</span> <span style="color: #339933;">.</span> <span style="color: #000033;">$content</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> fb_comment_box<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>is_single<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #339933;">&lt;</span>a name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fb_comments&quot;</span><span style="color: #339933;">&gt;&lt;/</span>a<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>p <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fb-comments&quot;</span><span style="color: #339933;">&gt;</span>Comments<span style="color: #339933;">:&lt;/</span>p<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>script src<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>fb<span style="color: #339933;">:</span>comments<span style="color: #339933;">&gt;&lt;/</span>fb<span style="color: #339933;">:</span>comments<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span> FB<span style="color: #339933;">.</span>init<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;[API_KEY]&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;http://www.thewhyandthehow.com/wp-content/themes/thesis/custom/xd_receiver.html&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">&lt;/script&gt;</span>
  <span style="color: #000000; font-weight: bold;">&lt;?php</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> fb_comment_plug<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
  <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>is_single<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #339933;">!</span>is_page<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
  <span style="color: #339933;">&lt;</span>p <span style="color: #000000; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;fb-comments&quot;</span><span style="color: #339933;">&gt;&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&lt;?php echo get_permalink(); ?&gt;#fb_comments&quot;</span><span style="color: #339933;">&gt;</span>Add a comment<span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;&lt;/</span>p<span style="color: #339933;">&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;?</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div><p>As you can see, I added one filter and two hooks. The filter allows me to insert the required namespace information into the <strong>&lt;html&gt;</strong> tag. I cheated and used the <strong>language_attributes</strong> filter because that filter is the first one I found that would allow me to tweak any part of the <strong>&lt;html&gt;</strong> tag. You can view the source of this page to see that the namespace has been added.</p><p>The two hooks both fire after a post is rendered. The first hook function, <strong>fb_comment_box</strong> renders the actual Facebook Connect comment box. It only renders on single post pages, not on the main page that has many posts. The complete HTML that gets rendered for the comment box is simply this:</p><div
id="wp_codebox_msgheader"><span
class="right"><a
href="javascript:;" onclick="toggle_collapse('p31810');">[<span
id="p31810_symbol">-</span>]</a><sup><a
href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span
style="color: #99cc00">?</span></a></sup></span><span
class="left"><a
href="javascript:;" onclick="javascript:showCodeTxt('p318code10'); return false;">View Code</a> HTML</span><div
class="codebox_clear"></div></div><div
id="wp_codebox"><table
width="100%" ><tr
id="p31810"><td
class="code" id="p318code10"><pre>&lt;a name=&quot;fb_comments&quot;&gt;&lt;/a&gt;
&lt;p class=&quot;fb-comments&quot;&gt;Comments:&lt;/p&gt;
&lt;script src=&quot;http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;fb:comments&gt;&lt;/fb:comments&gt;
&lt;script type=&quot;text/javascript&quot;&gt; FB.init(&quot;[API_KEY]&quot;, &quot;http://www.thewhyandthehow.com/wp-content/themes/thesis/custom/xd_receiver.html&quot;)<SEMI> &lt;/script&gt;</pre></td></tr></table></div><p>You can see that the only custom options in that section are in the <strong>FB.init</strong> function. The API key for the application and the URL to the xd_receiver file are the required parameters. I also add an anchor tag right above the comments box so I can jump to the comments from the main page. That is referenced in the function <strong>fb_comments_plug</strong> which is displayed only on pages with multiple posts.</p><p>The last step for me was to disable regular Wordpress comments. That&#8217;s not actually necessary, but I thought that having two commenting systems on one site would be confusing.</p><h4>Last words</h4><p>The Facebook Connect comment box is an incredibly powerful way to bring the power of Facebook to your blog or web site, but it&#8217;s still very much a first-generation implementation. While it is possible for the application owner to manage comments posted through the comment box, there is currently no mechanism in place to notify the application owner when a new comment is made. So if you add the Facebook comment box to your site today, you&#8217;ll have to keep a close eye on your pages to check for abuse.</p><p>I didn&#8217;t cover any of the <a
href="http://wiki.developers.facebook.com/index.php/Fb:comments_(XFBML)">options available for the comments box</a>. There are many options you can tweak, but you&#8217;ll need to <a
href="http://wiki.developers.facebook.com/index.php/Fb:comments_(XFBML)">read the manual</a> for more information.</p><p>Go ahead and take my code. There&#8217;s not much there that&#8217;s really mine, so I&#8217;m certainly not going to try to protect it. Also, if you have questions, please leave me a <strong>comment</strong>.</p> ]]></content:encoded> <wfw:commentRss>http://www.thewhyandthehow.com/integrating-facebook-connect-using-the-thesis-theme/feed/</wfw:commentRss> <slash:comments>17</slash:comments> </item> <item><title>Don&#8217;t reinvent the wheel</title><link>http://www.thewhyandthehow.com/dont-reinvent-the-wheel/</link> <comments>http://www.thewhyandthehow.com/dont-reinvent-the-wheel/#comments</comments> <pubDate>Thu, 05 Mar 2009 03:45:34 +0000</pubDate> <dc:creator>Blake Schwendiman</dc:creator> <category><![CDATA[General]]></category> <category><![CDATA[Networking]]></category> <category><![CDATA[Technology]]></category> <category><![CDATA[connect]]></category> <category><![CDATA[facebook]]></category> <category><![CDATA[friend]]></category> <category><![CDATA[integration]]></category> <category><![CDATA[social]]></category><guid
isPermaLink="false">http://www.thewhyandthehow.com/?p=263</guid> <description><![CDATA[As a programmer I&#8217;ve heard the phrase &#8220;don&#8217;t reinvent the wheel&#8221; dozens (if not hundreds) of times in my career. It&#8217;s generally a reference to reusing existing source code to perform routine, well-defined programming tasks &#8212; stuff like sorting, searching, parsing and much more.
Within the past few years, however, the scope of what can be [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://www.thewhyandthehow.com/wp-content/uploads/2009/03/reinvent-wheel.jpg"><img
src="http://www.thewhyandthehow.com/wp-content/uploads/2009/03/reinvent-wheel-300x218.jpg" alt="reinvent-wheel" title="reinvent-wheel" width="300" height="218" class="right size-medium wp-image-269" /></a>As a programmer I&#8217;ve heard the phrase &#8220;don&#8217;t reinvent the wheel&#8221; dozens (if not hundreds) of times in my career. It&#8217;s generally a reference to reusing existing source code to perform routine, well-defined programming tasks &#8212; stuff like sorting, searching, parsing and much more.</p><p>Within the past few years, however, the scope of what can be accomplished by relatively simple integration and reuse &#8212; especially on the web &#8212; has grown significantly. For example, one thing you&#8217;ve probably seen is the common use of those funny login pictures that ask you to type in letters to prove you&#8217;re human. For a while, every web site manager that wanted to have that functionality had to build it herself or hire someone to do it. Today it&#8217;s as simple as integrating with a service like <a
href="http://recaptcha.net/">reCAPTCHA</a>. Additionally, you&#8217;ve probably seen plug-in functions for polls, guestbooks and many other standard web site features.</p><p>Recently, the pace of development in integration with major services has accelerated again. Google has released <a
href="http://www.google.com/friendconnect/">Google Friend Connect</a> and Facebook has released <a
href="http://developers.facebook.com/connect.php">Facebook Connect</a>, both of which provide deep integration into existing social networks such as MySpace and Facebook. These integration platforms are still evolving but the implications are huge.</p><p>By properly integrating with the existing social networks, a site can provide rich social interactions within existing networks of friends <strong>without reinventing the wheel</strong>. And frankly with Facebook growing at a rate of <a
href="http://www.allfacebook.com/2009/02/facebook-now-growing-by-over-700000-users-a-day/">700,000 new users per day</a>, the chance of your site competing head to head with them is extremely low. Don&#8217;t compete. Don&#8217;t reinvent. <strong>Integrate</strong>.</p><h4>Integration is the key</h4><p>Rather than trying to be the next Facebook, take your unique value to the existing networks on Facebook by <strong>bringing them to your site</strong>. Amazingly, it doesn&#8217;t take a degree in computer science to get some basic integrations working on your web site. Realistically, it <em>might</em> take a degree in computer science to do some more complex integrations (and to read the current documentation). To give a perspective, it took me several weeks (with an incredible support team) to integrate Facebook with <a
href="http://www.squidoo.com/">Squidoo</a>. To add the Facebook comment boxes on this blog took about 30 minutes.</p><h4>That&#8217;s interesting, but so what?</h4><p>I decided to disable the normal Wordpress comment system and just use Facebook&#8217;s new comment box today. The advantage is that when you post a comment on any page of this site, you also (optionally) post that same comment on your Facebook profile with an link back to my site. If you care enough to comment <strong>and</strong> tell your friends that you made a comment, it implies that you believe your friends will be interested in your opinion of my site. Assuming they are, they click through to my site, make a comment and the thread continues. Suddenly my site is a part of your social network and you didn&#8217;t have to go out of your way to make it so. I reduced a <a
href="http://www.thewhyandthehow.com/no-man-is-an-island/">barrier</a> and we all benefit.</p><p>The Facebook comment box is just one small piece of Facebook Connect. There are similar tools offered through Google Friend Connect for integrating with other social networks (including MySpace). As I said earlier, these tools are very new and rapidly evolving, but it&#8217;s very exciting. Right now if you&#8217;re managing a web site or building a new one (or just thinking about it) consider the list of features you&#8217;d love to have. If they include <strong>commenting</strong>, <strong>user registration</strong>, <strong>friend invitations</strong> and <strong>broad publication</strong> of user actions, you might be able to cross them off your to-do list and simply integrate.</p><h4>Imagine</h4><p>Consider how much energy you can focus on the core purpose of your web site if you don&#8217;t have to build technologies to compete against the clearly-dominant market leaders in social networking. I&#8217;m so excited about these emerging technologies that I can barely write this post. There&#8217;s so much more to talk about, so many examples of how to do it and so many ideas for where it can best be utilized.</p><h4>Next steps&#8230;</h4><p>This is going to be a core topic for the next few months (rough guess) as I build samples, give concrete examples and provide code to help you integrate with as little frustration as possible. I&#8217;m going to focus on Facebook Connect because I haven&#8217;t built anything more than a sample application using Google Friend Connect yet.</p><p>I&#8217;d love to get your feedback! What do you want to know? How would you use Facebook Connect if you could? Ask questions even if you&#8217;re not sure what the questions are!</p> ]]></content:encoded> <wfw:commentRss>http://www.thewhyandthehow.com/dont-reinvent-the-wheel/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>No man is an island</title><link>http://www.thewhyandthehow.com/no-man-is-an-island/</link> <comments>http://www.thewhyandthehow.com/no-man-is-an-island/#comments</comments> <pubDate>Mon, 23 Feb 2009 12:29:11 +0000</pubDate> <dc:creator>Blake Schwendiman</dc:creator> <category><![CDATA[Business]]></category> <category><![CDATA[Networking]]></category> <category><![CDATA[Technology]]></category> <category><![CDATA[facebook]]></category> <category><![CDATA[rss]]></category> <category><![CDATA[seo]]></category> <category><![CDATA[social]]></category> <category><![CDATA[twitter]]></category><guid
isPermaLink="false">http://www.thewhyandthehow.com/?p=162</guid> <description><![CDATA[No man is an island, but your web site &#8230; it might be. Technically your web site is supposed to be a part of the grand interconnectedness of the web. You&#8217;ve done the SEO, provided great outgoing links and you&#8217;ve even built a few doorway pages to help people find your site. But they&#8217;re still [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://www.thewhyandthehow.com/wp-content/uploads/2009/02/deserted-island.jpg"><img
src="http://www.thewhyandthehow.com/wp-content/uploads/2009/02/deserted-island-300x225.jpg" alt="deserted-island" title="deserted-island" width="300" height="225" class="frame right size-medium wp-image-174" /></a><a
href="http://www.phrases.org.uk/meanings/257100.html">No man is an island</a>, but your web site &#8230; it might be. Technically your web site is supposed to be a part of the grand interconnectedness of the web. You&#8217;ve done the <a
href="http://en.wikipedia.org/wiki/Search_engine_optimization">SEO</a>, provided great outgoing links and you&#8217;ve even built a few <a
href="http://en.wikipedia.org/wiki/Doorway_pages">doorway pages</a> to help people find your site. But they&#8217;re still not coming &#8212; or at least they&#8217;re not coming as frequently as you want and you can&#8217;t figure out why.</p><p>Well, simply stated, it&#8217;s because <a
href="http://en.wikipedia.org/wiki/The_Times_They_Are_a-Changin%27">the times they are a changin&#8217;</a>. Back in the old days (circa last year), building bridges to your web site was something you did essentially by yourself using technology. Most of your efforts were centered on SEO (search engine optimization), advertising and building more technology (such as doorway pages) to increase your web footprint. All these efforts were combined to make sure that all of the little <a
href="http://en.wikipedia.org/wiki/Web_crawler">robots</a> that scour the web would bring more humans to your sites. The problem is that the <strong>robots don&#8217;t care</strong> &#8230; and <strong>they&#8217;re not friends with the humans</strong>.</p><p><strong>Fast forward to this moment</strong><br
/> The web changes quickly and so do the people using it. When I first discovered Google, I could literally spend hours searching &#8212; just to see what would appear. Today, I certainly still Google a lot, but I also have a much more powerful method for getting information: <strong>I ask other people</strong>. I trust my friends and I know how they can help. I also trust my online social groups and I like their recommendations. So very often now, I go to my social networks and ask the questions.</p><p>Just taking a quick peek at my Twitter stream right now, I see the following list of tips, news, questions and feedback:</p><ul><li>&#8220;How to use StumbleUpon &#8211; A Step by Step Guide&#8221;</li><li>&#8220;The Helium 3 on the Moon and on asteroids could be mined to give us stable  nuclear fusion and &#8230;&#8221;</li><li>&#8220;Who should be in the new A-Team film?&#8221;</li><li>&#8220;Is  Google doing anything with GrandCentral?  I have an account &#038; nothing has changed since the beginning (except I can&#8217;t invite any more)&#8221;</li><li>&#8220;I really want to help my community by implementing an economic gardening program. However, I&#8217;m not independently wealthy. Ideas?&#8221;</li></ul><h4>People have questions. People have answers. People have recommendations.</h4><p>Your web site might be an island because you&#8217;re not enabling people to question, answer and recommend. If you don&#8217;t enable your readers, the barriers to sharing are high enough that it doesn&#8217;t happen. Have you made it easy for your readers to recommend your site (or page) on Twitter, Digg, Delicious, Facebook, etc.? Do you have a comment form? Do you also provide an <a
href="http://www.thewhyandthehow.com/email-is-so-20th-century/">RSS feed and a Twitter account to follow</a>?</p><p>You see,<strong> it&#8217;s not about technology</strong>, <strong>it&#8217;s about people</strong>. You can work and work and work to feed the robots, but the work of enabling personal recommendations is better. As your visitors become fans, they&#8217;ll recommend your services and products through their social network.</p><p><strong>Make it easy</strong><br
/> If I have to choose between recommending a site that provides me a link to share and a site that I have to manually copy and paste information to share it, I prefer the first. The great news is that enabling sharing on your site isn&#8217;t as hard as it used to be &#8212; and it&#8217;s getting easier. Services like <a
href="http://sharethis.com/">ShareThis</a> and <a
href="http://www.lijit.com/">lijit</a> provide turnkey solutions for sharing, aggregating and searching your sites. <a
href="http://www.feedburner.com/">Feedburner</a> turbocharges your RSS feeds and provides for advertising revenue within your feeds. Social networking sites such as Facebook and MySpace are providing solutions for comment forms and other social tools that work on your site with little or no coding required.</p><p>As these tools evolve &#8212; and they certainly will &#8212; strong interconnectedness with communities of people will be a primary differentiator of web sites. As such, niche sites will have an increased opportunity for success because they won&#8217;t be competing in the SEO world, but in the community world and <strong>the community will always care more than the robots</strong>.</p><p><strong>Coming soon&#8230;</strong><br
/> Within the next two to three weeks, I&#8217;ll be showing concrete examples of how to socially enable your web site with some of the drop-in tools listed above and also with some of the more technically intense options available today. <a
href="http://feeds2.feedburner.com/TheWhyAndTheHow">Stay tuned!</a></p> ]]></content:encoded> <wfw:commentRss>http://www.thewhyandthehow.com/no-man-is-an-island/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> </channel> </rss><!--
This site's performance optimized by W3 Total Cache:

W3 Total Cache improves the user experience of your blog by caching
frequent operations, reducing the weight of various files and providing
transparent content delivery network integration.

Learn more about our WordPress Plugins: http://www.w3-edge.com/wordpress-plugins/

Minified using memcached
Page Caching using memcached
Database Caching 8/18 queries in 0.011 seconds using memcached

Served from: a2.c0.354a.static.theplanet.com @ 2010-09-10 03:12:53 -->