<?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>Snipe.Net &#187; facebook</title>
	<atom:link href="http://www.snipe.net/tags/facebook/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.snipe.net</link>
	<description>Bitterness never tasted so sweet</description>
	<lastBuildDate>Tue, 24 Jan 2012 04:30:40 +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>Detecting Fraud in Facebook Contests</title>
		<link>http://www.snipe.net/2012/01/detecting-fraud-in-facebook-contests/</link>
		<comments>http://www.snipe.net/2012/01/detecting-fraud-in-facebook-contests/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 02:30:30 +0000</pubDate>
		<dc:creator>snipe</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook contests]]></category>
		<category><![CDATA[fraud]]></category>

		<guid isPermaLink="false">http://www.snipe.net/?p=3555</guid>
		<description><![CDATA[Whatever your feelings on Facebook, it&#8217;s pretty clear that it&#8217;s here to stay. If your company or organization has considered running a promotional Facebook contest, this is crash course in detecting fraud because if your prize is worth anything to anyone, you will encounter fraud, without exception. I am not going to specifically address the [...]]]></description>
			<content:encoded><![CDATA[<p>Whatever your feelings on Facebook, it&#8217;s pretty clear that it&#8217;s here to stay. If your company or organization has considered running a promotional Facebook contest, this is crash course in detecting fraud because if your prize is worth anything to anyone, you will encounter fraud, without exception.</p>
<p><span id="more-3555"></span><br />
I am not going to specifically address the topic of scripted attacks (such as click-jacking, like-jacking, using tools like Selenium, etc) used to game contests. There are just too many variations, and frankly, many of the data analysis concepts here would apply to that scenario as well. </p>
<p><strong>Understand that I Am Not a Lawyer, and am NOT giving you legal advice here.</strong> The intended audience for this article is application developers, database architects and product directors, as we discuss some fundamental concepts that must be integrated into your contest application before even a single line of code is written. Many of these concepts can be applied to non-Facebook online contests, but some are Facebook specific.</p>
<p>Also, if you got to this article because you&#8217;re trying to learn how to game a Facebook contest, please die in a fucking fire. You are a useless piece of shit, and people like you are what is wrong with the world. </p>
<p><strong>First things first, and a little bit off-topic, if you&#8217;re planning on creating a Facebook contest, be sure your contest abides by Facebook&#8217;s promotional policy guidelines.</strong> They&#8217;re a pretty quick read, but failing to read them before deploying a contest on Facebook may result in Facebook disabling your contest for policy violation. You can (and should) <a href="http://www.facebook.com/promotions_guidelines.php" target="_blank">read the whole set of guidelines here</a>, but since we&#8217;re about to discuss planning your contest app, the ones you really need to be mindful of are:</p>
<ol>
<li>You must not use Facebook features or functionality as a promotion&#8217;s registration or entry mechanism. For example, the act of liking a Page or checking in to a Place cannot automatically register or enter a promotion participant. </li>
<li>You must not condition registration or entry upon the user taking any action using any Facebook features or functionality other than liking a Page, checking in to a Place, or connecting to your app. For example, you must not condition registration or entry upon the user liking a Wall post, or commenting or uploading a photo on a Wall.</li>
<li>You must not use Facebook features or functionality, such as the Like button, as a voting mechanism for a promotion.</li>
<li>You must not notify winners through Facebook, such as through Facebook messages, chat, or posts on profiles (timelines) or Pages.</li>
</ol>
<p><strong>Basically, this means that you can&#8217;t use any of the native Facebook platform tools as voting or winning mechanics.</strong> You can like-gate an app, requiring the user to like an app or page before being shown the contest sign-up form, but you cannot use the act of liking the app or page as the registration itself. You cannot award points or incentives on a Facebook share, but you CAN award points or incent the conversion. So if your app lets me invite people to your app, you can award me points for every one of my friends that allows the app and participates, but you cannot award me points based on how many people I invite that do not convert to app users or clickthroughs or what have you.</p>
<p>There&#8217;s a little bit of nuance to it, but the general rule is just to avoid using the platform for stuff that determines who wins or loses, period. That part has nothing specifically to do with gaming a Facebook contest (or the prevention of gaming a Facebook contest), but it&#8217;s pretty important, and will influence some pretty core mechanics in your contest, so don&#8217;t gloss over them.</p>
<h3>Rule #1 of running a contest: LOG EVERYTHING</h3>
<p>Log absolutely everything possible. Require that the user is logged in, and <strong>always</strong> log their FBID *and* their IP address. Your legal counsel will thank you for it. </p>
<p><strong>You need to be able to run an audit on every action related to potential winning or losing of the contest for your own liability, but also because it is the foundation of putting yourself in a good spot to detect suspicious or fraudulent activity. Seriously. </strong></p>
<p>If ass-wiping influences the contest outcome, you had better be logging every single time the user wipes their ass, complete with IP address, user agent, timestamp, and anything else you can think of that would be specific to that action+session combination. I simply cannot emphasize this enough. </p>
<p><strong>Without extensive logging, you will be left absolutely helpless when a user (or their lawyer) challenges your winner decisions, or when other users claim a specific user is cheating.</strong></p>
<p>Make sure your web server is logging access correctly as well. You may need to correlate your Apache access log to a specific transaction and IP address as well. <strong>Test this before your app goes live.</strong> </p>
<p>As you analyse your logs, look for inconsistencies in user agent and/or IP address. If their user agent is logged as &#8220;Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75 Safari/535.7&#8243; in one log entry and &#8220;Mozilla/5.0 (Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75 Safari/535.7&#8243; in the next, something is up. The differences between those two user agent strings is subtle, but it&#8217;s there, and there is no legitimate reason for it to change from action to action in the same session.</p>
<h3>Rule #2: Get their email address</h3>
<p>It seems intrusive, but if your loot is decent, people won&#8217;t mind giving it to you. Once they have allowed your application and granted you email permission through the app allow dialog, you can pre-populate the email address field so they don&#8217;t even have to type anything in. You&#8217;ll need their email address anyway, to notify them if they won, since Facebook doesn&#8217;t allow you to use FB Messages to do that.</p>
<p>You want their email address because users creating fake Facebook profiles (each of which requires a unique email address) to generate bogus votes/points/whatever will generally not be terribly creative (or may be using an automated script or service to do it), so you can use the email addresses as a way to detect patterns in participating users that could imply fraudulent activity. If you see 100 new entries, all with the email pattern of firstname1234lastname@hotmail.com, there&#8217;s an excellent chance that those entries are bogus.</p>
<h3>Brace yourself for the truth</h3>
<p>The cost of winning a Facebook contest by cheating is much lower than you probably imagine &#8211; and unsurprisingly, there are businesses online that exist for the sole purpose of helping people win online contests. Right now, on a casual Google search, I can find services that will sell me 10 PVA (Phone Verified Account) Facebook accounts for $20. I can buy 100 non-PVA Facebook accounts for $20, if I think the contest won&#8217;t do that much checking for fraudulent activity. If you do a search for &#8220;facebook contest&#8221; on sites like freelancers and microworkers (I will not link to them), you&#8217;ll find hundreds of people with Facebook accounts just itching to get paid to help your potential contestants game your contest.</p>
<p><strong>If you&#8217;re giving away a trip worth $3,000 and because of the number of participants, it would cost me $20 to win your contest, you are *going* to get gamed. My risk-to-reward-ratio is just too good for me not to do it. I spend $20 and I get $3,000 worth of prizes? Hell yeah. </strong></p>
<p>In one investigation I performed, I saw bids of $30 accepted for people to get 200 people (real people or fake-but-look-real accounts) to vote x times.  That means each one of those Facebook accounts is worth $0.15 to the person renting them out. Consider creating accounts at these microjob sites before your contest is over and check it for openings related to your contest.</p>
<p><strong>Additionally, since there are people and services out there that have created Facebook profiles for exactly this purpose, you can&#8217;t rely on Facebook profile creation date as a reliable measure. </strong>Many of the fraudulent accounts I&#8217;ve come across have been around for over a year prior to the contest. They&#8217;re also smart enough to make sure these profiles have friends that look legitimate, so it won&#8217;t be as easy as looking for FB accounts that are new and have no friend connections.</p>
<p>It gets worse. There are also online sites that encourage users to do like/vote exchanges. &#8220;Vote for me for blah, and I&#8217;ll vote for you.&#8221; This method tends to be slower than simply buying accounts, but it&#8217;s also free. Search Facebook for terms like &#8220;vote exchange&#8221; and you&#8217;ll find pages and groups for the sole purpose of gaming contests.</p>
<p>It&#8217;s up to you to decide whether a vote/contest exchange falls under your definition of cheating. It absolutely does in my book, but it really depends on how your contest works. Either way, you need to set the definitions of what exactly qualifies as cheating before your contest even starts, because you&#8217;re going to run into more gray areas than you probably would have thought.</p>
<h3>Rule #3: NOTHING GETS DELETED. EVER.</h3>
<p>If users can submit content as part of the contest, make sure you architect your application in such a way that nothing ever gets deleted, either by moderator or by the users themselves. Instead use a database flag to toggle visibility in the app. Log the deletion (timestamp, IP, user agent, who took the action, etc) and tuck it away, but never, ever delete the data. </p>
<p>Doing so insulates you from users saying &#8220;I didn&#8217;t delete it!&#8221; You will have proof that they did, including all the particulars such as what browser they were using and when. This also allows you to recover from content that is accidentally deleted by a moderator. If &#8220;deleting&#8221; content is simply toggling that boolean database field, it&#8217;s easy to toggle it back on if it gets toggled off by mistake.</p>
<h3>Rule #4: Know what counts as cheating up-front</h3>
<p>This sounds like a no-brainer. Cheating is cheating, right? But if someone didn&#8217;t actually pay for votes, and did a vote exchange or spammed forums and Facebook groups to get votes from people who don&#8217;t actually care about the program, is that cheating?</p>
<p>What if the Facebook account that&#8217;s participating is &#8220;real&#8221;, but the person only ever uses it for entering contests? Is that a legitimate user to you, or a cheater? You should figure that out ahead of time.</p>
<p>It&#8217;s going to be your choice as to what level of detail you disclose your policies on cheating. My recommendation is to be a little vague. While this goes against my standard policy of transparency in everything, if you give the bad guys an explicit set of rules on how you define cheating, they will be sure to tailor their cheating to specifically avoid the things you outline. If you tell me (as a bad guy) that my votes will be disqualified if too many votes come in from the same IP address, I will be sure to use different IP addresses for each vote to make sure I avoid your detection. </p>
<h3>Rule #4: Audit, audit, audit and audit some more</h3>
<p>Auditing by eyeball isn&#8217;t really going to cut it, but if it&#8217;s all you&#8217;ve got, it&#8217;s better than nothing. A better idea would be to set up a series of heuristics programmatically that flag user activity as being suspicious and requiring additional review. Things like the number of unique users coming from a specific IP address, the time of day that you see the most activity, the kinds of email addresses you see associated with the participating users, etc. </p>
<p><strong>Look for patterns that don&#8217;t make sense.</strong> Examine the Facebook pages of the folks you suspect of cheating. Do they have any wall posts? Any photos? Do they have friends? Click on their friends profiles &#8211; do their profiles also have no wall posts and no photos? Look for generic &#8220;hot babe&#8221; profile photos. Look at the pages and topics the user has &#8220;liked&#8221;. Do they seem a little too demographically on-point, as if they were created to appeal to a specific contest demographic? Is there a pattern in the things they&#8217;re liking? (All contest pages, etc.) This part can&#8217;t be automated. </p>
<p>Give yourself the time between the end of the contest and the announcement of the winner to be thorough and audit all of your top contenders. Hold off notifying anyone that they won until you&#8217;ve had a chance to comb through this data and you feel confident that it&#8217;s legitimate.</p>
<h3>You have a cheater. Now what?</h3>
<p>When you find someone cheating, how are you going to handle it? Revoke their points/votes/etc? Disqualify them? Whatever your decision, know what you&#8217;re going to say to them in advance, because if the stakes are high enough, there&#8217;s a good chance they will be loud and public about how you wronged them. Once again I advise not showing too much of your hand. </p>
<p><strong>If you decide to confront them and allow them to offer explanations, hold specifics back. </strong>If you user claims, for example, that they got most of their votes from their friends at a high school using their own computer (which would explain the same IP address), but the timestamps on the votes are at 1AM, 2AM, etc, that should raise some eyebrows. If you tell them too much about what you&#8217;re basing your decision on, a decent cheater will come up with excuses to explain them that they would have mentioned earlier if the story was legitimate.</p>
<p><strong>It&#8217;s rare to find a smoking gun in these cases.</strong> Instead, it&#8217;s going to require a some judgement calls and a preponderance of evidence. It&#8217;s very like you won&#8217;t find *one* thing that makes you *sure* someone is cheating. Instead you&#8217;ll find a half-dozen things that, when combined, form an equation that just doesn&#8217;t add up. </p>
<p>One option, upon finding a cheater, is to disqualify just the votes that seem fraudulent. <strong>In the case of a contest where the user submits an entry and other people vote on it to determine a winner, be cautious of disqualifying the entry based on fraudulent activity.</strong> Knowing how inexpensive it is to buy Facebook profiles, if I were a particularly bad guy who had <em>also</em> submitted an entry, I might consider spending some money to game my opponent&#8217;s entry in a way that was obviously fraudulent to get their entry disqualified. </p>
<p><strong>If I knew you would kick anyone out if you detected any fraudulent behavior on their entry, I might go out of my way to make sure you found some on the other guy&#8217;s entry to increase my chances of winning by kicking them out of the running.</strong> This technique, similar to <a href="http://en.wikipedia.org/wiki/Joe_job" target="_blank">joe jobbing</a> in the spam world, isn&#8217;t one I&#8217;ve seen often, but it&#8217;s only a matter of time.</p>
<p><strong>Make a decision and be prepared to stick with it.</strong> Feel confident that your decision was the right one, and don&#8217;t back down. The bad PR from the folks you disqualify will be better than the bad PR from the rest of the contestants claiming that your contest is rigged or allowed fraud. Your legal department will make sure you have a TOS that basically says that you don&#8217;t owe anyone an explanation, and it&#8217;s up to your discretion to disqualify anyone for any reason. </p>
<p>Running a (good) contest is an incredibly laborious process. The technical aspects of creating the app are honestly the least complicated, least time-consuming part of the whole thing. Make sure you have the appropriate resources to handle it. If you half-ass it, you will regret it.</p>
<h3>Nailed it. </h3>
<p>Not quite. Honestly, there is almost no fool-proof way of detecting all fraud activities &#8211; partly because some of this fraud is being conducted by actual people, not machines. They&#8217;ve invested the time into creating profiles that look real. </p>
<p>You&#8217;ll be able to find the ones that do a crap job of it, but a few of the more sophisticated folks will have profiles that have current wall posts about things other than contest spamming. They&#8217;ll have photos uploaded, lots of friends, and profiles that weren&#8217;t recently created. Fortunately for you, those kinds of profiles tend to be more expensive to buy, since they require more work to upkeep to look legitimate. </p>
<p>Maintaining believability in a friend network that large requires a lot of time, so examining the <em>friend</em> profiles associated with your top contestants is absolutely critical. If you poke around enough, you&#8217;re bound to find something that doesn&#8217;t fit. Examining their entire footprint on the social graph will give you a much clearer picture than a specific profile.</p>

 <script type="text/javascript">
	<!--
		function onover(what){
	document.getElementById('blurbtext').innerHTML=''+what+'';
	}
	function onout(){
	document.getElementById('blurbtext').innerHTML='&nbsp;';
	}
	-->
	</script>



<h3 style="padding-bottom: 0px; margin-bottom: 0px;">Also check out: <br /><span id="blurbtext"><br /></span></h3>

<div id="relatedposts">




		
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2009/12/viral-marketing-or-social-media-spam/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2009/12/spam_1-283x300.jpg&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Twitter Retweet Contests: Viral Marketing or Social Media Spam?" height="90" width="90" onmouseover="onover('Twitter Retweet Contests: Viral Marketing or Social Media Spam?')" onmouseout="onout()" /></a></div>

			
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2010/05/facebook-fan-pages-10k/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2010/05/fuck-you.jpg&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Want to Set a Default Landing Tab on Your Facebook Fan Page? It&#8217;ll Cost You" height="90" width="90" onmouseover="onover('Want to Set a Default Landing Tab on Your Facebook Fan Page? It&#8217;ll Cost You')" onmouseout="onout()" /></a></div>

			
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2010/01/facebook-lite-default/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2010/01/basement-cat-updates-facebook-pic.jpg&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Unclutter Your Facebook Feed: Set FB Lite As Your Default" height="90" width="90" onmouseover="onover('Unclutter Your Facebook Feed: Set FB Lite As Your Default')" onmouseout="onout()" /></a></div>

	</div>

]]></content:encoded>
			<wfw:commentRss>http://www.snipe.net/2012/01/detecting-fraud-in-facebook-contests/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New Facebook Page Admin Scam</title>
		<link>http://www.snipe.net/2011/05/new-facebook-page-admin-scam/</link>
		<comments>http://www.snipe.net/2011/05/new-facebook-page-admin-scam/#comments</comments>
		<pubDate>Tue, 03 May 2011 19:36:32 +0000</pubDate>
		<dc:creator>snipe</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[infosec]]></category>
		<category><![CDATA[malware]]></category>
		<category><![CDATA[phishing]]></category>
		<category><![CDATA[scam]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[social engineering]]></category>
		<category><![CDATA[social networks]]></category>
		<category><![CDATA[virus]]></category>

		<guid isPermaLink="false">http://www.snipe.net/?p=3421</guid>
		<description><![CDATA[A new scam has come to our attention, one that&#8217;s a new take on an old trick in Facebook. Scammers are adding users as page administrators on a page that&#8217;s got a poisoned IFRAME set as the default tab. So the user gets a notification &#8220;John Smith has made you an administrator of XYZ page&#8221;. [...]]]></description>
			<content:encoded><![CDATA[<p>A new scam has come to our attention, one that&#8217;s a new take on an old trick in Facebook. Scammers are adding users as page administrators on a page that&#8217;s got a poisoned IFRAME set as the default tab.</p>
<p><span id="more-3421"></span></p>
<p>So the user gets a notification &#8220;John Smith has made you an administrator of XYZ page&#8221;. The user clicks on the page to see what they&#8217;ve just been made an admin of, and the poisoned default page tab kicks on, busting them out of the Facebook site and into a standalone page offering promises of free iPads and various other too-good-to-be-true freebies.</p>
<p><img src="http://www.snipe.net/wp-content/uploads/2011/05/TEMP-Image_1_1.png" alt="" title="TEMP-Image_1_1" width="347" height="69" class="aligncenter size-full wp-image-3425" /></p>
<p>In this particular case, the scammers were using the extremely popular &#8211; and from what I can tell, legitimate &#8211; application <a href="https://www.facebook.com/apps/application.php?id=190322544333196">Static HTML IFRAME</a>, which simply allows people to create their own IFRAME tabs to add to their Facebook page without the hassle of creating their own application, hosting content, etc.</p>
<p><img src="http://www.snipe.net/wp-content/uploads/2011/05/IPad2-Testers-Wanted-38-560x262.jpg" alt="" title="IPad2 Testers Wanted (38)" width="560" height="262" class="aligncenter size-large wp-image-3432" /></p>
<p>The IFRAME page that loads in the Facebook page points to s3.amazonaws.com/statichtmlplus/page/160281910702810.html &#8211; so it seems that the Static HTML IFRAME app just saves the content that their users add to their custom IFRAMEs into a static HTML file and serve it accordingly.</p>
<p>In the case of this scam, the IFRAME page hosted by the Static HTML IFRAME app contains another, hidden IFRAME inside of it that forces the browser to redirect to the scam website.</p>
<p><img src="http://www.snipe.net/wp-content/uploads/2011/05/Screen-shot-2011-05-03-at-3.45.37-PM-560x283.png" alt="" title="Screen shot 2011-05-03 at 3.45.37 PM" width="560" height="283" class="aligncenter size-large wp-image-3430" /></p>
<p>This is a combination of social engineering (taking advantage of the fact that the new administrator will obviously want to know what it is they&#8217;ve been made an admin of, thus getting them to look at a page they would otherwise never have found or cared about), and very basic technical jiggery pokery to bust out of the frames and take the unsuspecting admin to a third-party site. </p>
<p>The third party site in this case was a survey/iPad 2 giveaway scam (ipad2-test-and-keep.com), but this method could just as easily be used to serve malware or phishing pages. </p>
<p>Imagine how easily this would flow if if the frame-buster page instead took the user to a page that looks just like the Facebook login page. They think they&#8217;ve somehow been logged out, they fill in the login form to log back in, and now the bad guys have their Facebook credentials &#8211; which statistically are likely to be the same credentials they use for banking and other things.</p>
<p>The IP address of the scam site the IFRAME sends the user to, <a href="http://whois.domaintools.com/92.241.169.80">92.241.169.80</a>, tracks back to a Russian web hosting company, 2&#215;4.ru.</p>
<p><img src="http://www.snipe.net/wp-content/uploads/2011/05/Screen-shot-2011-05-03-at-3.58.07-PM-560x390.png" alt="" title="Screen shot 2011-05-03 at 3.58.07 PM" width="560" height="390" class="aligncenter size-large wp-image-3437" /></p>
<p>We&#8217;ve already reported this scam page to Facebook using the normal routes and through the Preferred Developer Consultant avenues, but I&#8217;d be willing to bet we&#8217;re going to start to see a lot more of this kind of thing because it&#8217;s incredibly effective and very simple to execute.</p>
<p>Thanks to <a href="http://twitter.com/uberbrady">@uberbrady</a> for seeing this for what it was when it happened to him, and bringing it to our attention.</p>
<p>Don&#8217;t forget to &#8220;like&#8221; our special <a href="http://www.facebook.com/scamdb">Social Media Scam Alert</a> page on Facebook and follow <a href="http://twitter.com/scamdb">@scamdb</a> on Twitter for more updates like this.</p>

 <script type="text/javascript">
	<!--
		function onover(what){
	document.getElementById('blurbtext').innerHTML=''+what+'';
	}
	function onout(){
	document.getElementById('blurbtext').innerHTML='&nbsp;';
	}
	-->
	</script>



<h3 style="padding-bottom: 0px; margin-bottom: 0px;">Also check out: <br /><span id="blurbtext"><br /></span></h3>

<div id="relatedposts">




		
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2009/06/fb-fanpages-fbml-box/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2009/04/facebook_pic.jpg&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Static FBML: Not Every Facebook Fan Page Needs An Application" height="90" width="90" onmouseover="onover('Static FBML: Not Every Facebook Fan Page Needs An Application')" onmouseout="onout()" /></a></div>

			
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2010/05/facebook-fan-pages-10k/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2010/05/fuck-you.jpg&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Want to Set a Default Landing Tab on Your Facebook Fan Page? It&#8217;ll Cost You" height="90" width="90" onmouseover="onover('Want to Set a Default Landing Tab on Your Facebook Fan Page? It&#8217;ll Cost You')" onmouseout="onout()" /></a></div>

			
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2002/06/google-style-page-numbering-with-x-per-page-and-y-page-numbers-displayed/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2008/06/picture-22.png&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Google Style Page Numbering (with x per page and y page numbers displayed)" height="90" width="90" onmouseover="onover('Google Style Page Numbering (with x per page and y page numbers displayed)')" onmouseout="onout()" /></a></div>

	</div>

]]></content:encoded>
			<wfw:commentRss>http://www.snipe.net/2011/05/new-facebook-page-admin-scam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Know Your Social Media Scams &amp; Rogue Apps</title>
		<link>http://www.snipe.net/2011/03/twitter-facebook-scams-rogue-apps/</link>
		<comments>http://www.snipe.net/2011/03/twitter-facebook-scams-rogue-apps/#comments</comments>
		<pubDate>Thu, 03 Mar 2011 17:19:37 +0000</pubDate>
		<dc:creator>snipe</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Life Tools]]></category>
		<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[firesheep]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[malware]]></category>
		<category><![CDATA[phishing]]></category>
		<category><![CDATA[rogue apps]]></category>
		<category><![CDATA[scams]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[social media]]></category>
		<category><![CDATA[social networks]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.snipe.net/?p=3348</guid>
		<description><![CDATA[As the number of scams and malware threats increase on Facebook and Twitter, it can be hard to keep track of what&#8217;s legitimate and what&#8217;s not anymore in a way that is in plain-English for non-techies, who are arguably the ones who need this information the most. My mom needs information like this. My mom [...]]]></description>
			<content:encoded><![CDATA[<p>As the number of scams and malware threats increase on Facebook and Twitter, it can be hard to keep track of what&#8217;s legitimate and what&#8217;s not anymore in a way that is in plain-English for non-techies, who are arguably the ones who need this information the most.<br />
<span id="more-3348"></span><br />
My mom needs information like this. My mom isn&#8217;t going to read the <a href="http://nakedsecurity.sophos.com/">Sophos Security blog</a>. I do read that blog &#8211; and many, many others related to security, so I&#8217;ve put together two new resources for the &#8220;normal&#8221; (non-technical) people out there who keep falling for these rogue applications. </p>
<p><strong>On Facebook, &#8220;like&#8221; the <a href="http://www.facebook.com/scamdb">Social Media Scam Alerts</a></strong> page to get updates as new Facebook scams and rogue applications are identified. The posts will be short, without a lot of technical jargon to make them easy to share with your less brainy friends and family. </p>
<p><strong>On Twitter, follow <a href="http://twitter.com/scamdb">@scamdb</a></strong> for tweets about the latest scams, phishing and rogue apps affecting Twitter users. </p>
<h3>Social Media Security Tips</h3>
<p>In addition to staying informed about bad applications, some better practices and common sense will go a long way here. </p>
<p>We have become completely desensitized to clicking on things in websites, our social networks, on our smartphones and in email &#8211; and this is why these types of attacks are so wildly successful, often garnering tends of thousands of &#8220;likes&#8221; before they are detected and banned by Facebook or Twitter. More often than not on social media websites, the attack is not a <em>technical</em> attack, it&#8217;s a <em>social engineering</em> attack, tricking you into clicking on something because what they are offering is something you want and you found the link through a reasonably trusted source (your friends twitter stream or Facebook news feed.) </p>
<p><img src="http://www.snipe.net/wp-content/uploads/2011/03/fiona-xie-clickjack.jpg" alt="" title="fiona-xie-clickjack" width="498" height="157" class="aligncenter size-full wp-image-3351" /></p>
<p><strong>Be skeptical.</strong> If something looks too good to be true, it probably is, even if you trust the person it came from.</p>
<p><strong>Confirm before you click. </strong> If you&#8217;re not sure, take a moment to email or (gasp!) call your friend and confirm they actually intentionally posted that message. If they didn&#8217;t, you&#8217;ll be doing them (and all of *their* friends) a favor by bringing it to their attention quickly. </p>
<p>If your friend posted to their Facebook wall that they are stuck in London and need money for passport/plan home/etc &#8211; resist the urge to immediately send cash. Be rational, contact them using a different method (email, phone) and confirm that it&#8217;s really them. Use common sense. Did your friend even mention they were going to London?</p>
<p>That &#8220;stuck in London&#8221; scam has made its rounds for several years through email and social networks. I don&#8217;t know why it seems to always be London, but that&#8217;s almost always the city I&#8217;ve seen in these scams.</p>
<p><strong>Use the SSL version of social networking websites when you&#8217;re surfing on public or unsecured wifi.</strong> <a href="http://www.readwriteweb.com/archives/ashton_kutchers_twitter_account_hacked_at_ted.php">As Ashton Kutcher learned this week at TED</a>, non-encrypted sessions + a little Firefox addon called <a href="http://codebutler.github.com/firesheep/">Firesheep</a> = getting pwned in front of your six-and-a-half-million Twitter followers.</p>
<p><a href="http://www.snipe.net/wp-content/uploads/2011/03/kutchersheeped.jpg"><img src="http://www.snipe.net/wp-content/uploads/2011/03/kutchersheeped-476x560.jpg" alt="" title="kutchersheeped" width="476" height="560" class="aligncenter size-large wp-image-3350" /></a></p>
<p>Facebook offers a clunky (and currently unreliable) way to <a href="http://www.facebook.com/blog.php?post=486790652130">switch to HTTPS for your Facebook sessions</a>, but that method resets back to HTTP if you access a non-SSL application. My understanding is that Facebook security is aware of the bug that resets the default preference back to non-SSL, but I don&#8217;t think it&#8217;s been fixed yet.</p>
<p>An alternative is using something like the Electronic Frontier Foundation&#8217;s <a href="https://www.eff.org/https-everywhere">HTTPS Everywhere addon</a>. The first release of this addon was a little buggy, but the second release seems more stable. (The first version rendered Amazon.Com effectively useless.) You can select which sites you want to use HTTPS Everywhere on, and it will always force the HTTPS (versus the plain HTTP) connection.  </p>
<p><strong>Ideally, you should try to avoid public or unsecured wifi connections whenever possible.</strong> Make sure your computer and smartphone preferences are to NOT automatically join wifi networks. If you have to be on public wifi, your best bet will be to <a href="http://lifehacker.com/#!5487500/five-best-vpn-tools">tunnel your traffic over VPN</a>, but not everyone is going to have that as an option.</p>
<p>In the big, scary internet, there are countless ways your personal information and login credential are at risk. Some of these are technical vulnerabilities in the websites you trust your information to, but the social engineering approach is gaining tremendous momentum.  It&#8217;s cheap, it&#8217;s fast, and it works.  Remember that even if you think you have nothing of value, when you are careless with your security, you are also putting your friends and family at risk.</p>
<p>Take a moment to check out the <strong><a href="http://www.snipe.net/2011/01/security-keynote/">security presentation</a></strong> I posted a few weeks back that covers <strong>important information on privacy and password security</strong>, and <strong>consider joining the new <a href="http://www.facebook.com/scamdb">Facebook</a> and <a href="http://twitter.com/scamdb">Twitter</a> resources</strong>. </p>

 <script type="text/javascript">
	<!--
		function onover(what){
	document.getElementById('blurbtext').innerHTML=''+what+'';
	}
	function onout(){
	document.getElementById('blurbtext').innerHTML='&nbsp;';
	}
	-->
	</script>



<h3 style="padding-bottom: 0px; margin-bottom: 0px;">Also check out: <br /><span id="blurbtext"><br /></span></h3>

<div id="relatedposts">




		
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2009/06/there-is-no-such-thing-as-a-social-media-marketer/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2009/06/welcome_douchebag.jpg&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="There is NO SUCH THING as a Social Media Marketer" height="90" width="90" onmouseover="onover('There is NO SUCH THING as a Social Media Marketer')" onmouseout="onout()" /></a></div>

			
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2009/12/viral-marketing-or-social-media-spam/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2009/12/spam_1-283x300.jpg&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Twitter Retweet Contests: Viral Marketing or Social Media Spam?" height="90" width="90" onmouseover="onover('Twitter Retweet Contests: Viral Marketing or Social Media Spam?')" onmouseout="onout()" /></a></div>

			
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2011/05/rogue-mac-antivirus/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2011/05/malware-mac-finder2.jpg&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Rogue Antivirus Attacks Tailored to Mac and PC" height="90" width="90" onmouseover="onover('Rogue Antivirus Attacks Tailored to Mac and PC')" onmouseout="onout()" /></a></div>

	</div>

]]></content:encoded>
			<wfw:commentRss>http://www.snipe.net/2011/03/twitter-facebook-scams-rogue-apps/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Facebook Introduces HTTPS Opt-In for Users, Impacts App Developers</title>
		<link>http://www.snipe.net/2011/01/facebook-https-opt-in/</link>
		<comments>http://www.snipe.net/2011/01/facebook-https-opt-in/#comments</comments>
		<pubDate>Wed, 26 Jan 2011 17:24:04 +0000</pubDate>
		<dc:creator>snipe</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook applications]]></category>
		<category><![CDATA[facebook applicaton development]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[infosec]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://www.snipe.net/?p=3332</guid>
		<description><![CDATA[In an article posted today on the Facebook Developer Blog, Facebook announced that they would be offering users the option to switch their Facebook experience to HTTPS-only, which would force all Facebook page loads to be routed over SSL. According to the blog entry, this feature would be opt-in, and canvas application developers would need [...]]]></description>
			<content:encoded><![CDATA[<p>In an article posted today on the Facebook Developer Blog, Facebook announced that they would be offering users the option to switch their Facebook experience to HTTPS-only, which would force all Facebook page loads to be routed over SSL.<span id="more-3332"></span></p>
<p>According to <a href="http://developers.facebook.com/blog/post/452">the blog entry</a>, this feature would be opt-in, and canvas application developers would need to provide an SSL url for the &#8220;Secure Canvas URL&#8221;. </p>
<p>If a user who has opted into the SSL-only version of Facebook attempts to access a Facebook Application that doesn&#8217;t have a Secure Canvas URL set, the user will evidently be shown a message (which will likely be confusing and scary, not because Facebook will purposefully make it so, but because most users don&#8217;t really understand SSL) that will give them the option to switch from HTTPS to HTTP. From the post:</p>
<blockquote><p>If you do not provide a secure Canvas URL, we will display a confirmation page to let HTTPS users switch to HTTP and continue to your app.</p></blockquote>
<p>This currently affects CANVAS apps only &#8211; not application tabs &#8211; although that may very well change once Facebook pushes the IFRAME version of tabs out some time in Q1. </p>
<p>HTTPS is slower and more server intense than HTTP, and it&#8217;s one more cost/timeline issue that has to be factored in. For some clients, I set up the hosting environment (which would include DNS, SSL, etc) &#8211; for others, their IT department provisions web space and handles DNS, and they often require a mountain of paperwork and a week to process. </p>
<p>For the latter scenario, the cost of the certificate is negligible, but for a highly-trafficked app, the increase in server load could have serious financial impact. It could mean the difference between needing one server and several.</p>
<p>For smaller companies, stepping up to SSL would mean buying a certificate and potentially paying extra for the dedicated IP address it will need, and if the app takes off, a much heftier hosting bill for running everything over SSL.</p>
<p>If the above would actually, truly improve the safety of the users in some significant way, I&#8217;d probably still be on-board. </p>
<p>Security is something I take <em>very</em> seriously, and in 2010, <a href="http://en.wikipedia.org/wiki/Firesheep">Firesheep</a> showed the world how easy it was to hijack a user&#8217;s Facebook session and essentially pwn their account because the session data was being transmitted unencrypted and was sniffable over public wifi. To be fair, it wasn&#8217;t just Facebook that was affected, but if you&#8217;re logging into websites on an unencrypted public wifi, odds are your email accounts and everything else are at risk too.</p>
<p><strong>That said, this seems like it will give naive users a false sense of security and not actually provide that much value for the effort involved by the app developers. </strong></p>
<p>&#8220;Oh, this application must be safe &#8211; I&#8217;m using HTTPS, and the S stands for *secure*!&#8221;</p>
<p>Phishing, rogue apps and malware are already horrendous problems on social media websites, Facebook especially. I would much rather see Facebook (and others) improve their session handling before going in this direction. Reputable companies who are collecting any kind of PII are already running data submission over HTTPS, and non-reputable companies aren&#8217;t going to become more honest just by forcing them to encrypt the data they&#8217;re mining from your profile.</p>
<p><strong>The net result is a lot of extra work for developers and companies for not a lot of benefit to not a lot of users, with the side effect of confusing people into thinking that SSL = trustworthy, or that a non-SSL app is malicious and trying to eat their souls.</strong></p>
<p>IMHO, the much bigger threat to Facebook users is their own poor judgment on what to click on. <strong>Social engineering rules social networks, and no amount of encryption is going to fix that.</strong> As the <a href="http://www.jinx.com/men/shirts/geek/social_engineering.html">fabulous shirt from Jinx says</a> &#8220;there is no patch for human stupidity&#8221;. </p>
<p>Until people start being more critical of what they&#8217;re clicking on and what apps they&#8217;re allowing access to their profile, they&#8217;ve got a lot more to worry about than SSL. <strong>It&#8217;s the same false sense of security that users running antivirus programs often suffer from. </strong></p>
<p>&#8220;I don&#8217;t need to worry about what I click on &#8211; I&#8217;m running antivirus! My virus definitions are up to date, so I am safe and protected and nothing can harm me.&#8221;</p>
<p>In 2008, Symantec had to write new virus signatures every 20 seconds to keep up with the onslaught of malware that was released. This was increased to every 8 seconds by 2009. [Source: <a href="http://www.amazon.com/gp/product/0071742557?ie=UTF8&#038;tag=snipenet&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=0071742557">Gray Hat Hacking The Ethical Hackers Handbook, 3rd Edition</a>]</p>
<p>To prove my point, I&#8217;ve created <a href="http://www.fb-profile-spy.com/">FB Profile Spy</a>. It&#8217;s still a work in progress, but it&#8217;s a better-security-through-humiliation project, similar to my better-behavior-through-humiliation project <a href="http://www.socialmediadouchebag.net">socialmediadouchebag.net</a>. It&#8217;s completely safe &#8211; and not even hooked up to the Facebook API at all (but of course please feel free to use NoScript and check it out thoroughly before interacting with the links. I have nothing to hide.) Click through and &#8220;allow&#8221; the &#8220;app&#8221;. I need to tighten up the javascript slideshow lecture at the end and I need to sync up the layout with the new profile design, but it&#8217;s coming along.</p>
<p>What do you think? Am I just being a whine-ass lazy developer? Am I being a slacker security pundit? Let me know in the comments.</p>
<p><em>NOTE: This article first appeared on <a href="http://fbmhell.com">FBMHell.Com</a>.</em></p>

 <script type="text/javascript">
	<!--
		function onover(what){
	document.getElementById('blurbtext').innerHTML=''+what+'';
	}
	function onout(){
	document.getElementById('blurbtext').innerHTML='&nbsp;';
	}
	-->
	</script>



<h3 style="padding-bottom: 0px; margin-bottom: 0px;">Also check out: <br /><span id="blurbtext"><br /></span></h3>

<div id="relatedposts">




		
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2008/11/facebook-and-myspace-users-beware-virus/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2008/11/virus3.gif&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Facebook and MySpace Users, Beware!" height="90" width="90" onmouseover="onover('Facebook and MySpace Users, Beware!')" onmouseout="onout()" /></a></div>

			
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2009/10/twitter-launches-beta-lists/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2009/10/beta_alert.png&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Twitter launches groups in BETA for some users" height="90" width="90" onmouseover="onover('Twitter launches groups in BETA for some users')" onmouseout="onout()" /></a></div>

			
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2009/02/practical-mod_rewrite/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2009/02/dave.jpg&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Practical Mod_Rewrite for Web Developers" height="90" width="90" onmouseover="onover('Practical Mod_Rewrite for Web Developers')" onmouseout="onout()" /></a></div>

	</div>

]]></content:encoded>
			<wfw:commentRss>http://www.snipe.net/2011/01/facebook-https-opt-in/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>A Few Quick Thoughts on RockMelt</title>
		<link>http://www.snipe.net/2010/11/rockmelt/</link>
		<comments>http://www.snipe.net/2010/11/rockmelt/#comments</comments>
		<pubDate>Fri, 12 Nov 2010 18:45:24 +0000</pubDate>
		<dc:creator>snipe</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[rockmelt]]></category>
		<category><![CDATA[social networking]]></category>

		<guid isPermaLink="false">http://www.snipe.net/?p=3240</guid>
		<description><![CDATA[So I tried out RockMelt earlier this week, not because I feel that we need another web browser out in the wild, but because this is what I do for a living, it&#8217;s important for me to know what&#8217;s going on, and more specifically, if it&#8217;s going to break my shit. Note: This will be [...]]]></description>
			<content:encoded><![CDATA[<p>So I tried out RockMelt earlier this week, not because I feel that we need another web browser out in the wild, but because this is what I do for a living, it&#8217;s important for me to know what&#8217;s going on, and more specifically, if it&#8217;s going to break my shit.</p>
<p><span id="more-3240"></span>Note: This will be <del datetime="2010-11-12T17:19:25+00:00">a quick one</del> long and rambling, because <del datetime="2010-11-12T17:19:25+00:00">my Macbook Pro is in the shop and I&#8217;m using an old 13&#8243; Macbook to write this, and it makes me want to punch babies</del> that&#8217;s how I roll. </p>
<p>RockMelt is a new browser that puts more emphasis on your own social network of friends, backed by the some of the guys behind the Netscape browser. If you&#8217;ve been living under a rock and haven&#8217;t heard of it, watch their promo video below:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="560" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/bAPKPhoTqFY?fs=1&amp;hl=en_US&amp;color1=0x5d1719&amp;color2=0xcd311b" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="560" height="340" src="http://www.youtube.com/v/bAPKPhoTqFY?fs=1&amp;hl=en_US&amp;color1=0x5d1719&amp;color2=0xcd311b" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>That video is pretty much all their website has to offer curious onlookers right now, and it sure makes you feel good watching it. Until you realize that the warm fuzzies Toby is talking about have more to do with his involvement in social networks and being connected to his friends in general than they do with those connections being integrated into your browsing experience.</p>
<p>Personally, I think the toolbars of your Facebook friends and applications <em>looks</em> nice, but after using it for five minutes, I wanted to hide them. I like my screen real-estate, and it&#8217;s creepy to have a dozen of my friends and family staring at me from the sidebar while I&#8217;m spanking it to my favorite Brazilian transvestite pr0n. </p>
<p>If I hide that toolbar, I&#8217;m hiding the very feature that sets RockMelt apart from other browsers, so while it&#8217;s great that you can hide it, what you&#8217;re left with at that point is a very vanilla browser that is exactly the same as every other browser.</p>
<p>One thing that actually really pissed me me off is that when I connected RockMelt to my Facebook account (which it prompts you to do immediately upon first-time launch), it set my online status to &#8220;online&#8221; automatically. I never show myself as online, because if you don&#8217;t have my real chat client names (Gtalk, AIM, etc), I probably don&#8217;t want to talk to you anyway. It took me a minute or two to figure out how to turn it back to &#8220;offline&#8221;. I don&#8217;t know if that&#8217;s RockMelt&#8217;s fault or Facebook&#8217;s, but given how creepy-uncle Facebook has been over the last year, that did not make a stellar first impression.</p>
<p>Speaking of Facebook &#8211; am I the only one that&#8217;s creeped out by the fact that Facebook is one of the backbones of this browser? For all they have done to betray my trust over the past year, the LAST thing I want to do is facilitate them knowing what I&#8217;m doing online more than they already do. </p>
<p>Do I think RockMelt has formed an unholy union with Facebook to spy on me? No &#8211; but RockMelt doesn&#8217;t tell you much of anything right now (and Facebook never does), so my lack of understanding about what data is being collected and stored by Facebook by way of RockMelt makes me very uncomfortable.</p>
<p>Also, it&#8217;s pretty clear by the way Facebook integration stands apart from the other social networks like Twitter that RockMelt is focusing primarily on Facebook. Considering how often Facebook&#8217;s API changes (read: breaks) and how much they are moving forward with their own agendas, I&#8217;m not sure this is a good long-term plan. One <a href="http://www.technologyreview.com/web/26703/?p1=A1&#038;a=f">article on TechReview</a> comments: &#8220;It&#8217;s not a generic &#8216;social browser.&#8217; It&#8217;s a Facebook browser.&#8221;</p>
<p>Considering how Facebook is already trying to re-invent the web, I don&#8217;t know what that means for RockMelt in the future.</p>
<p>There are some nice features to RockMelt though. The right-side sidebar gives easy access to twitter with a simple but elegant UI, however it doesn&#8217;t really seem to be optimized for people with a large number of followers/following. </p>
<p><img src="http://www.snipe.net/wp-content/uploads/2010/11/RockMelt-—-Geek-Haiku-haiku-and-senryu-with-geeky-themes.jpg" alt="" title="RockMelt — RSS Feeds" width="259" height="398" class="alignright size-full wp-image-3243" />Also in that right sidebar, you can add RSS feeds to keep track of your favorite websites. They&#8217;re displayed beautifully, with a square site icon (based on the site&#8217;s favicon) and an unread count badge. If you&#8217;re on a site that has a detectable RSS feed, the &#8220;add feed&#8221; button turns green. </p>
<p>I think this could actually work to help people who don&#8217;t know or care what RSS feeds are learn to use them more. The one-click nature of subscribing when you&#8217;re on a page with an RSS feed makes the whole process cleaner and more clear than traditional RSS subscriptions, where the process is slightly more technical and deliberate. </p>
<p>On other browsers, even if a non-technical user can decipher what &#8220;Subscribe to RSS&#8221; means, they still have to do some work to access those feeds. RockMelt makes it a no-brainer &#8211; the user doesn&#8217;t need to know what RSS is for them to immediately see the benefit of subscribing &#8211; however it also simplifies it to the point where it could potentially be useless for people who already know and love RSS, and are subscribed to many feeds. </p>
<p>I subscribe to over 100 RSS feeds, so RockMelt is clearly not going to be of much help there. Maybe one solution would be to sync with Google Reader (please?) and let you pick your top five that you want to have in your sidebar.</p>
<p>That right-side toolbar references &#8220;Apps and Feeds&#8221;. I wonder if some sort of Facebook application integration is on their roadmap, which would be great, because then the useless jackholes that spend all day playing Farmville at the office won&#8217;t even need to switch browser windows to annoy the living shit out of everyone they know.</p>
<p>Another nice feature is the &#8220;Share&#8221; button built into the browser, that puts Twitter and Facebook sharing just a click away. </p>
<p><img src="http://www.snipe.net/wp-content/uploads/2010/11/Share-560x220.jpg" alt="" title="Share" width="560" height="220" class="aligncenter size-large wp-image-3246" /></p>
<p>Of course there are already bookmarklets for all that already, and most websites now have share functionality built into their content, but for the less tech-savvy who might not know they exist, this makes it easy for people to share what they&#8217;re looking at in a way that uses a consistent UI on every single page they visit.</p>
<p>One UI irritation I ran across is that if you have the share pop-up activated and switch apps, it can be easy to forget that it has focus, so when you switch back to RockMelt, and go to type something in the url bar, the comments box in the share popup still has focus, which could lead to some embarrassing moments when you meant to pull up your favorite pr0n site but ended up accidentally sharing it with your Facebook wall. (I only accidentally shared the RockMelt website. This time.)</p>
<p>Ultimately, other than perhaps a morbid sense of curiosity, whenever a new browser comes out, I&#8217;m more worried than excited. If it becomes remotely popular, that&#8217;s one more browser I have to test on, one more variable thrown into the standards mix.</p>
<p>It&#8217;s not as bad these days as it used to be. Most current browsers have some semblance of standards-compliance, and display differences are minimal. (If you don&#8217;t believe me, you haven&#8217;t been in the industry as long as I have. Trust me on this one. It used to be so, so much worse.)</p>
<p>I&#8217;m pleased to say that RockMelt&#8217;s rendering seems fine, and while I haven&#8217;t had a chance to do any complicated DOM-tomfoolery with it yet, all of my initial tests showed layout and javascript working exactly as expected, and exactly as it would appear in any other browser. So that&#8217;s good news.</p>
<p>It may seem like I&#8217;m hating on RockMelt &#8211; I&#8217;m actually not. </p>
<p>Is it a browser for the power user? I&#8217;d say not. </p>
<p>Is there a market for it? I think so. </p>
<p>Most of the tech site reviews have been neutral at best, or condemning this browser to failure before it&#8217;s even open to the public, but I think that&#8217;s a symptom of who has been given access to review it. Naturally, the techies are going to be the ones with the first-look. In fact, they&#8217;re normally the only ones that care about a first-look. And techies are exactly the audience this browser will not fly for. At least not at this point. </p>
<p>But it&#8217;s important to remember that there people out there that aren&#8217;t as tech savvy &#8211; who wouldn&#8217;t know a Firefox addon if it bit them in the ass, and have no desire to know more. I look at my biological father, who only recently got an email account and joined Facebook. He doesn&#8217;t know or care about computers, and the only reason he finally broke down and got an email account was to stay in touch with my sister and I. As he uses the internet more, I expect him to find more things he likes (pr0n), but he just doesn&#8217;t care about how or why it works, and won&#8217;t go to great lengths to figure stuff out. </p>
<p>To techies, Facebook may be an aggravation &#8211; something we put up with because it&#8217;s part of our jobs or because it&#8217;s so ubiquitous that it&#8217;s hard to leave. But people spend more time on Facebook than on any other site on the web, so clearly, there are plenty of folks (and by plenty, I mean *millions*) that love it and use it constantly.</p>
<p>RockMelt&#8217;s tagline is &#8220;Your browser. Re-imagined.&#8221; So far, it&#8217;s more like &#8220;Your browser. With some integration that&#8217;s already totally possible with plugins, for people not savvy enough to use plugins.&#8221; But it&#8217;s early yet, and I&#8217;m curious to see where it goes.</p>
<p>Also? Dumbest name ever. Seriously guys. WTF.</p>

 <script type="text/javascript">
	<!--
		function onover(what){
	document.getElementById('blurbtext').innerHTML=''+what+'';
	}
	function onout(){
	document.getElementById('blurbtext').innerHTML='&nbsp;';
	}
	-->
	</script>



<h3 style="padding-bottom: 0px; margin-bottom: 0px;">Also check out: <br /><span id="blurbtext"><br /></span></h3>

<div id="relatedposts">




		
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2009/03/quick-and-dirty-php-caching/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2009/03/lolcat.jpg&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Quick and Dirty PHP Caching" height="90" width="90" onmouseover="onover('Quick and Dirty PHP Caching')" onmouseout="onout()" /></a></div>

			
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2010/01/facebook-lite-default/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2010/01/basement-cat-updates-facebook-pic.jpg&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Unclutter Your Facebook Feed: Set FB Lite As Your Default" height="90" width="90" onmouseover="onover('Unclutter Your Facebook Feed: Set FB Lite As Your Default')" onmouseout="onout()" /></a></div>

			
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2011/05/new-facebook-page-admin-scam/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2011/05/facebookscam.png&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="New Facebook Page Admin Scam" height="90" width="90" onmouseover="onover('New Facebook Page Admin Scam')" onmouseout="onout()" /></a></div>

	</div>

]]></content:encoded>
			<wfw:commentRss>http://www.snipe.net/2010/11/rockmelt/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Hate Facebook Games? Turn Off the API</title>
		<link>http://www.snipe.net/2010/08/facebook-games-turn-off-api/</link>
		<comments>http://www.snipe.net/2010/08/facebook-games-turn-off-api/#comments</comments>
		<pubDate>Sun, 29 Aug 2010 09:38:10 +0000</pubDate>
		<dc:creator>snipe</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Geek Life]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook api]]></category>

		<guid isPermaLink="false">http://www.snipe.net/?p=3190</guid>
		<description><![CDATA[I spend a lot of time talking complaining about Facebook, and warning people about Facebook&#8217;s less-than-ethical privacy changes over the past year. While turning off the API altogether probably isn&#8217;t for everyone, it is possible. Every time Facebook does something else awful with their privacy settings, I get all fired up and want to write [...]]]></description>
			<content:encoded><![CDATA[<p>I spend a lot of time <span style="text-decoration: line-through;">talking</span> complaining about Facebook, and warning people about Facebook&#8217;s less-than-ethical privacy changes over the past year. While turning off the API altogether probably isn&#8217;t for everyone, it <em>is</em> possible.</p>
<p><span id="more-3190"></span>Every time Facebook does something else awful with their privacy settings, I get all fired up and want to write a blog post (or six) about it, but the sheer magnitude of problems is so overwhelming, it makes me physically exhausted just thinking about breaking them down one by one.</p>
<p>That&#8217;s not what I&#8217;m trying to do in this post.</p>
<p>There is an option in your Facebook privacy settings that I don&#8217;t remember seeing before. I don&#8217;t know when it was added, or if it&#8217;s been there forever and I just somehow didn&#8217;t notice it, but if you want more of your privacy but like the ability to stay in touch with friends on Facebook, you can turn off API access altogether.</p>
<p>That means that games, quizzes and other applications will no longer have access to your profile. That does not mean that any data you may have already shared with applications previously will be deleted from the original application developer&#8217;s databases, but its a start.</p>
<blockquote><p>If you turn off platform, you&#8217;ll be disconnected from all applications  and websites. That means friends won&#8217;t be able to use applications to interact  with you, and information and settings you&#8217;ve saved may be permanently  deleted.</p></blockquote>
<p>To turn off the API, go to <strong><a href="http://www.facebook.com/settings/?tab=privacy">your privacy settings</a></strong>, and then click on Applications and Websites:</p>
<p><img src="http://www.snipe.net/wp-content/uploads/2010/08/facebook_settings-560x422.png" alt="" title="facebook_settings" width="560" height="422" class="aligncenter size-large wp-image-3195" /></p>
<p><img src="http://www.snipe.net/wp-content/uploads/2010/08/privacy-560x416.png" alt="" title="privacy" width="560" height="416" class="aligncenter size-large wp-image-3194" /></p>
<p>Turning off API access will disconnect you from ALL previously allowed applications and websites, and may actually delete settings, so you should review all of the applications listed to make sure there really are none you don&#8217;t want to keep. If there are, a better bet will be to take the time to go through all of the apps you&#8217;ve authorized and remove or block one by one. </p>
<p>Also keep in mind that if you&#8217;re a Facebook developer, meaning you create apps or pages for yourself or for clients, you DO NOT WANT to turn this off. You run the risk of biffing all of your hard work. I haven&#8217;t tried it on a developer account, but there&#8217;s a good chance you would lose the ability to access your pages and apps, and those pages and apps might stop working altogether. You&#8217;ve been warned.</p>

 <script type="text/javascript">
	<!--
		function onover(what){
	document.getElementById('blurbtext').innerHTML=''+what+'';
	}
	function onout(){
	document.getElementById('blurbtext').innerHTML='&nbsp;';
	}
	-->
	</script>



<h3 style="padding-bottom: 0px; margin-bottom: 0px;">Also check out: <br /><span id="blurbtext"><br /></span></h3>

<div id="relatedposts">




		
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2010/04/why-i-hate-blogging-advice/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2010/04/RiskSharpEdgesSign.jpg&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Why I Hate Bloggers That Give Blogging Advice" height="90" width="90" onmouseover="onover('Why I Hate Bloggers That Give Blogging Advice')" onmouseout="onout()" /></a></div>

			
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2010/01/facebook-lite-default/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2010/01/basement-cat-updates-facebook-pic.jpg&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Unclutter Your Facebook Feed: Set FB Lite As Your Default" height="90" width="90" onmouseover="onover('Unclutter Your Facebook Feed: Set FB Lite As Your Default')" onmouseout="onout()" /></a></div>

			
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2008/06/hello-world/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2008/06/s320x240.png&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Easily turn raster images into vector images online" height="90" width="90" onmouseover="onover('Easily turn raster images into vector images online')" onmouseout="onout()" /></a></div>

	</div>

]]></content:encoded>
			<wfw:commentRss>http://www.snipe.net/2010/08/facebook-games-turn-off-api/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Introducing FBMHell.Com</title>
		<link>http://www.snipe.net/2010/07/introducing-fbmhell-com/</link>
		<comments>http://www.snipe.net/2010/07/introducing-fbmhell-com/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 00:09:32 +0000</pubDate>
		<dc:creator>snipe</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook application development]]></category>
		<category><![CDATA[facebook applications]]></category>
		<category><![CDATA[fbml]]></category>
		<category><![CDATA[static fbml]]></category>

		<guid isPermaLink="false">http://www.snipe.net/?p=3161</guid>
		<description><![CDATA[Good news, everyone! My compulsive need to make websites and write content has struck again, this time resulting in my new site, FBMHell.Com, which I hope will evolve into a great resource for Facebook developers, whether you&#8217;re an app developer or fan page designer. It&#8217;s literally just been launched, so I&#8217;m looking for your help. [...]]]></description>
			<content:encoded><![CDATA[<p>Good news, everyone! My compulsive need to make websites and write content has struck again, this time resulting in my new site, <a href="http://fbmhell.com">FBMHell.Com</a>, which I hope will evolve into a great resource for Facebook developers, whether you&#8217;re an app developer or fan page designer.</p>
<p><span id="more-3161"></span>It&#8217;s literally just been launched, so I&#8217;m looking for your help. I&#8217;ll be going through some older posts and rounding up the questions that seem to come up often and writing up answers for the new site, but if there&#8217;s a burning question you&#8217;ve had for a while and haven&#8217;t been able to find an answer for, let me know in the comments.</p>
<p><a href="http://fbmhell.com"><img class="aligncenter size-large wp-image-3162" title="fbmhell" src="http://www.snipe.net/wp-content/uploads/2010/07/fbmhell-560x500.png" alt="" width="560" height="500" /></a></p>
<p>One that comes up often is whether or not you can include an IFRAME in a tab, so don&#8217;t ask that one <img src='http://www.snipe.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  It&#8217;s already on deck.</p>
<p>I&#8217;m looking for all kinds of questions, ranging from the complicated to the more basic, so don&#8217;t be afraid to ask. More complicated tutorials (similar to what I&#8217;ve posted in the past regarding app development and complex mini-sites on tabs) will take a little longer, so be patient, and remember to <a href="http://feeds.feedburner.com/snipe/fbmhell">subscribe to the RSS feed</a> so you&#8217;ll get all the latest posts.</p>
<p>Categories will be added as content demands, of course.</p>
<p>I really want this site to be a great resource for everyone (including myself, as a repository of stuff I know works), so I&#8217;m looking forward to your feedback!</p>
<p>Also keep your eyes peeled for the launch of <a href="http://fbmlwizard.com">FBMLWizard</a>, a drag+drop Facebook fan page tab builder.  I&#8217;ll update you here when it&#8217;s ready.</p>

 <script type="text/javascript">
	<!--
		function onover(what){
	document.getElementById('blurbtext').innerHTML=''+what+'';
	}
	function onout(){
	document.getElementById('blurbtext').innerHTML='&nbsp;';
	}
	-->
	</script>



<h3 style="padding-bottom: 0px; margin-bottom: 0px;">Also check out: <br /><span id="blurbtext"><br /></span></h3>

<div id="relatedposts">




		
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2008/09/introducing-tehawesomenet/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2008/09/stars.gif&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Introducing TehAwesome.Net" height="90" width="90" onmouseover="onover('Introducing TehAwesome.Net')" onmouseout="onout()" /></a></div>

			
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2009/10/upcoming-changes-to-the-facebook-application-platform/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2009/10/facebook_1.jpg&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Big Changes to the Facebook Platform" height="90" width="90" onmouseover="onover('Big Changes to the Facebook Platform')" onmouseout="onout()" /></a></div>

			
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2010/05/facebook-fan-pages-10k/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2010/05/fuck-you.jpg&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Want to Set a Default Landing Tab on Your Facebook Fan Page? It&#8217;ll Cost You" height="90" width="90" onmouseover="onover('Want to Set a Default Landing Tab on Your Facebook Fan Page? It&#8217;ll Cost You')" onmouseout="onout()" /></a></div>

	</div>

]]></content:encoded>
			<wfw:commentRss>http://www.snipe.net/2010/07/introducing-fbmhell-com/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Want to Set a Default Landing Tab on Your Facebook Fan Page? It&#8217;ll Cost You</title>
		<link>http://www.snipe.net/2010/05/facebook-fan-pages-10k/</link>
		<comments>http://www.snipe.net/2010/05/facebook-fan-pages-10k/#comments</comments>
		<pubDate>Thu, 20 May 2010 02:25:00 +0000</pubDate>
		<dc:creator>snipe</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook application development]]></category>
		<category><![CDATA[facebook applications]]></category>
		<category><![CDATA[facebook fan page]]></category>
		<category><![CDATA[facebook fan pages]]></category>
		<category><![CDATA[fbml]]></category>

		<guid isPermaLink="false">http://www.snipe.net/?p=3057</guid>
		<description><![CDATA[You&#8217;re gonna love this. And by love I mean be filled with rage. I started receiving emails from people today, frustrated that they could no longer set a specific tab as their default landing tab in Facebook. Everyone assumed it was a bug. It&#8217;s not. UPDATE May 20, 10:45AM: Facebook has actually apologized and done [...]]]></description>
			<content:encoded><![CDATA[<p>You&#8217;re gonna love this. And by love I mean be filled with rage. I started receiving emails from people today, frustrated that they could no longer set a specific tab as their default landing tab in Facebook. Everyone assumed it was a bug. It&#8217;s not.</p>
<p><span id="more-3057"></span><br />
<strong>UPDATE May 20, 10:45AM:</strong> Facebook has actually apologized and done a complete 180 in the last 12 hours and they have reversed this decision. <strong>I&#8217;m leaving the original post up for reference, but as of right now, they have reverted back to the original way it worked, where any page admin can set default tabs, regardless of the size of their fan base.</strong></p>
<p>From <a href="http://forum.developers.facebook.com/viewtopic.php?pid=228104#p228104">their developer forums</a>:</p>
<blockquote><p>
As of last night, we&#8217;ve removed the recently-added authentication requirement for setting custom landing tabs on Pages. The requirement was instituted as part of a Pages quality initiative, and we apologize for the inconvenience this caused to our developer and business community. We are re-investigating the situation, and will not make any further changes without first giving our community standard notice and lead-time.</p>
<p>Thanks for all your feedback,<br />
Matt Trainer</p></blockquote>
<hr />
<strong>Original Post: </strong><br />
According to <a href="http://forum.developers.facebook.com/viewtopic.php?id=58864&#038;p=1">this post on the Facebook Developer forums</a>, Facebook has struck yet another critical blow to smaller companies who are trying to use the Facebook platform to grow their business without a lot of startup capital.  The thread had started by someone asking why they could no longer edit the Facebook Fan Page settings to specify which application tab they wanted to set as the default landing page.</p>
<p>The Facebook platform is known for being exceptionally buggy, so most &#8220;me too&#8221;ers assumed it was a bug and patiently awaited a bug fix confirmation from Facebook. The question went unanswered for a day, until finally a Facebook employee <a href="http://forum.developers.facebook.com/viewtopic.php?pid=227722#p227722">dropped this bombshell</a>.</p>
<blockquote><p>Hello all,</p>
<p>We apologize for not messaging this earlier. Facebook recently made a change requiring that Pages be authenticated before enabling the ability to set a landing tab beyond Wall or Info. To be eligible for authentication, a Page must have greater than 10k fans or the Page admin must work with their ads account manager. If you are already working with an account representative, please contact that representative to begin the authentication process. If you do not work with an account representative, you can use this contact form to inquire about working with an account representative.</p>
<p>Also, for advertisers who don’t have a representative or 10k fans, and want to run ads and land users on a specific tab, you can still do so with standard Facebook ads by making their Destination URL as the URL incl. your tab.  Unfortunately, this currently will not work with &#8220;Fan&#8221; ads.</p>
<p>Thanks,<br />
Matt Trainer</p></blockquote>
<p><strong>What this means is that Facebook Fan Page admins can no longer specify a default landing tab for their fan page UNLESS they have 10k or more fans, OR they &#8220;have an account manager&#8221;. </strong>Having an account manager sounds great, right? The thing is, you have to spend at least $10k in Facebook advertising before they&#8217;ll even talk to you, let alone give you an account manager. That contact form leads to the &#8220;how much money are you willing to spend with us&#8221; form, and if your answer is less than $10k, don&#8217;t expect them to help you.</p>
<p>So once again, the little guy gets screwed. It started in November with their <a href="http://www.dailyglobal.com/2009/11/facebook-contest-is-no-longer-free/">charges to their contest/promotional guidelines</a>, which were also rolled out quietly with little or no notification to developers or users, which dictated something very similar. Certain types of promotions now have to be approved by an account manager. Only you don&#8217;t get an account manager unless you spend upwards of $10k in media buys. </p>
<p>Note that it appears as though this is only effective moving forward.<strong> If you&#8217;ve already set a default tab on your Facebook Fan page, they&#8217;re not going to take it away from you.</strong> At least not at this point. But as of yesterday, if you hadn&#8217;t already set a default tab, you won&#8217;t be able to do so without meeting one of the 10k requirements mentioned above.</p>
<p>I&#8217;m not even going to talk about the recent Facebook privacy issues. This isn&#8217;t the post for it, and honestly, I don&#8217;t have the energy to open that gigantic can of worms right now. But with those recent changes on top of <em>this</em>, I have to ask WTF they are thinking over there. Fuck you, Facebook.</p>

 <script type="text/javascript">
	<!--
		function onover(what){
	document.getElementById('blurbtext').innerHTML=''+what+'';
	}
	function onout(){
	document.getElementById('blurbtext').innerHTML='&nbsp;';
	}
	-->
	</script>



<h3 style="padding-bottom: 0px; margin-bottom: 0px;">Also check out: <br /><span id="blurbtext"><br /></span></h3>

<div id="relatedposts">




		
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2009/06/fb-fanpages-fbml-box/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2009/04/facebook_pic.jpg&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Static FBML: Not Every Facebook Fan Page Needs An Application" height="90" width="90" onmouseover="onover('Static FBML: Not Every Facebook Fan Page Needs An Application')" onmouseout="onout()" /></a></div>

			
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2011/05/new-facebook-page-admin-scam/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2011/05/facebookscam.png&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="New Facebook Page Admin Scam" height="90" width="90" onmouseover="onover('New Facebook Page Admin Scam')" onmouseout="onout()" /></a></div>

			
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2002/06/google-style-page-numbering-with-x-per-page-and-y-page-numbers-displayed/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2008/06/picture-22.png&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Google Style Page Numbering (with x per page and y page numbers displayed)" height="90" width="90" onmouseover="onover('Google Style Page Numbering (with x per page and y page numbers displayed)')" onmouseout="onout()" /></a></div>

	</div>

]]></content:encoded>
			<wfw:commentRss>http://www.snipe.net/2010/05/facebook-fan-pages-10k/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Taking Your Static FBML Microsite to the Next Level</title>
		<link>http://www.snipe.net/2010/05/static-fbml-microsite-next-level/</link>
		<comments>http://www.snipe.net/2010/05/static-fbml-microsite-next-level/#comments</comments>
		<pubDate>Wed, 19 May 2010 09:18:08 +0000</pubDate>
		<dc:creator>snipe</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[clicktohide]]></category>
		<category><![CDATA[clicktoshow]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook fan page]]></category>
		<category><![CDATA[fbjs]]></category>
		<category><![CDATA[fbml]]></category>

		<guid isPermaLink="false">http://www.snipe.net/?p=3041</guid>
		<description><![CDATA[In a previous tutorial, you learned how to Extend Facebook Static FBML Tabs with Dynamic Content, and now we&#8217;re back to show you how to take it even further by creating sub-nav tab navigation within your Static FBML microsite using only DynamicFBML. The previous tutorial, I walked you through how to use clicktohide and clicktoshow [...]]]></description>
			<content:encoded><![CDATA[<p>In a previous tutorial, you learned how to <a href="http://www.snipe.net/2009/10/mini-site-facebook-static-fbml/" target="_self">Extend Facebook Static FBML Tabs with Dynamic Content</a>, and now we&#8217;re back to show you how to take it even further by creating sub-nav tab navigation within your Static FBML microsite using only DynamicFBML.</p>
<p><span id="more-3041"></span></p>
<p>The <a href="http://www.snipe.net/2009/10/mini-site-facebook-static-fbml/" target="_self">previous tutorial</a>, I walked you through how to use clicktohide and clicktoshow to enhance your Facebook Fan Page tab. By utilizing these built-in Facebook functions, we can get creative and make image galleries, slide shows, or micro-sites within a single Facebook Fan Page tab. This is especially handy if you&#8217;re trying to fit a lot of content into a single tab, but don&#8217;t want to have one long scrolling mess of a tab. While hand-written FBJS is always an option, Facebook makes it really easy to accomplish this with only the most basic coding skills. </p>
<p>(That said, if you haven&#8217;t read the first tutorial, it will probably be helpful for you to read that one first before continuing with this one &#8211; I assume you understand the concept of clicktohide and clicktoshow here.)</p>
<p>So what you&#8217;ll end up with is a single Facebook Fan Page tab that has a &#8220;main&#8221; navigation that switches content within that single tab, and an additional subnavigation menu that switches content within that one section of the tabbed content. It sounds more confusing than it actually is &#8211; <strong><a href="http://www.facebook.com/pages/SnipeNet/116633947708?v=app_17037175766" target="_blank">click here for a demo</a></strong>.</p>
<p>This is what we created in the previous tutorial:</p>
<p><img src="http://www.snipe.net/wp-content/uploads/2009/10/snipe_tab-560x295.jpg" class="aligncenter size-large wp-image-3042" /></p>
<p>And this is what we&#8217;re going to create in this one:</p>
<p><img src="http://www.snipe.net/wp-content/uploads/2010/05/snipenet-demo-560x290.png" alt="" title="snipenet-demo" width="560" height="290" class="aligncenter size-large wp-image-3042" /></p>
<p>Similar to the example in the first tutorial, we&#8217;re going to do all of this magic simply by using CSS, HTML and the <em>clicktohide</em> and <em>clicktoshow</em> functions. In fact, what we&#8217;re doing here isn&#8217;t that different at all from what we did the first time, but I get a metric-assload of emails asking me how to to it, so here it is. </p>
<p>[sourcecode lang='html']<!-- Now set the main tab navigation --><br />
<a href="#" clicktoshow="nav1" clicktohide="nav2,nav3">Home</a><br />
<a href="#" clicktoshow="nav2" clicktohide="nav1,nav3">Demo Tab</a><br />
<a href="#" clicktoshow="nav3" clicktohide="nav1,nav2">Locations</a></p>
<p><!-- start the div for the first main nav tab - nav1 --></p>
<div id="nav1">
<p>Home content</p>
</div>
<p><!-- end the div for the first main nav tab - nav1 --></p>
<p><!-- start the div for the second main nav tab - nav2 --></p>
<div id="nav2" style="display: none;">
<h1>Example Tabbed Subnav in Microsite</h1>
<hr />
	<a href="#" clicktoshow="tab2subnav1" clicktohide="tab2subnav2,tab2subnav3">Subnav One</a><br />
	<a href="#" clicktoshow="tab2subnav2" clicktohide="tab2subnav1,tab2subnav3">Subnav Two</a><br />
	<a href="#" clicktoshow="tab2subnav3" clicktohide="tab2subnav1,tab2subnav2">Subnav Three</a></p>
<hr />
	</p>
<p>	<!-- start the div for the first subnav tab - tab2subnav1 --></p>
<div id="tab2subnav1">
<p>Subnav one content</p>
</p></div>
<p>	<!-- end the div for the first subnav tab - tab2subnav1 --></p>
<p>	<!-- start the div for the second subnav tab - tab2subnav2 --></p>
<div id="tab2subnav2" style="display: none;">
<p>Subnav two content</p>
</p></div>
<p>	<!-- end the div for the second subnav tab - tab2subnav2 --></p>
<p>	<!-- start the div for the third subnav tab - tab2subnav3 --></p>
<div id="tab2subnav3" style="display: none;">
<p>Subnav three content</p>
</p></div>
<p>	<!-- end the div for the third subnav tab - tab2subnav3 -->
</div>
<p><!-- end the div for the second main nav tab - nav2 --></p>
<p><!-- start the div for the third main nav tab - nav3 --></p>
<div id="nav3" style="display: none;">
<h1>Locations</h1>
<p>Locations content</p>
</div>
<p><!-- end the div for the third main nav tab - nav3 -->[/sourcecode]</p>
<p>And that&#8217;s it. That&#8217;s the whole code snippet. For clarity, I have stripped out all of the extra styling, text and fancy button treatments. If you want the exact code used for the demo, scroll down further in the page &#8211; I&#8217;ve included that as well.</p>
<p>I&#8217;ve commented the code pretty liberally, but just to recap what we&#8217;ve done, we created the normal main microsite divs, nav1, nav2, and nav3. These are the &#8220;buckets&#8221; that contain the top-level &#8220;tabs&#8221;, same as we did in the first tutorial. What we&#8217;ve added is a second, smaller set of buckets and corresponding nav. We use the exact same method of clicktohide and clicktoshow &#8211; the only different is what we&#8217;ve name the smaller bucket divs, and where they live. The div structure works out to be something like this:</p>
<blockquote><p><strong>[nav1 div]</strong><br />
&#8211; nav 1 content<br />
[/nav1 div]</p>
<p><strong>[nav 2 div]</strong><br />
&#8211; [subnav 1 div]<br />
&#8211; subnav 1 content<br />
&#8211; [/subnav 1 div]</p>
<p>&#8211; [subnav 2 div]<br />
&#8211; subnav 2 content<br />
&#8211; [/subnav 2 div]</p>
<p>&#8211; [subnav 3 div]<br />
&#8211; subnav 3 content<br />
&#8211; [/subnav 3 div]</p>
<p><strong>[nav3 div]</strong><br />
&#8211; nav 3 content<br />
[/nav3 div]</p></blockquote>
<p>As promised, here&#8217;s the exact code snippet, line by line, that was used to create the demo page.</p>
<p>[sourcecode lang='html']<!-- let's set the style for those fancy buttons --></p>
<style type="text/css">
.awesome, .awesome:visited {
	background: #222 url(http://www.snipe.net/wp-content/uploads/2009/10/alert-overlay.png) repeat-x;
	display: inline-block;
	padding: 5px 10px 6px;
	color: #fff;
	text-decoration: none;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-box-shadow: 0 1px 3px rgba(0,0,0,0.5);
	-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.5);
	text-shadow: 0 -1px 1px rgba(0,0,0,0.25);
	border-bottom: 1px solid rgba(0,0,0,0.25);
	position: relative;
	cursor: pointer;
}</p>
<p>.awesome:hover {
background-color: #111; color: #fff;
}</p>
<p>.awesome:active {
top: 1px;
}</p>
<p>.awesome, .awesome:visited, .medium.awesome, .medium.awesome:visited {
font-size: 13px;
font-weight: bold;
line-height: 1;
text-shadow: 0 -1px 1px rgba(0,0,0,0.25);
background-color: #630030;
}</p>
<p>.large.awesome, .large.awesome:visited {
font-size: 14px;
padding: 8px 14px 9px;
}</p>
<p>h1 {
color: #a9014b; font-size: 26px;
}</p>
<p>p {
font-size: 15px;
}
</style>
<p><!-- Now set the main tab navigation --><br />
<strong><a href="#" clicktoshow="nav1" clicktohide="nav2,nav3" class="large awesome">Home</a></strong><br />
<strong><a href="#" clicktoshow="nav2" clicktohide="nav1,nav3" class="large awesome">Demo Tab</a></strong><br />
<strong><a href="#" clicktoshow="nav3" clicktohide="nav1,nav2" class="large awesome">Locations</a></strong></p>
<p><!-- start the div for the first main nav tab - nav1 --></p>
<div id="nav1">
	<img src="http://www.snipe.net/wp-content/uploads/2009/10/alison-fixed1.jpg" align="right"/></p>
<h1>Default Content </h1>
<p>Click on the &#8220;Demo Tab&#8221; above  to see an example of<br />
	multi-level tabbing in a purely FBML microsite.<br />
	With a little practice and patience, you could<br />
	recreate a fairly large website using this method.<br />
	(The content of these subnavs are quotes from<br />
	Monty Python and the Holy Grail, for your entertainment.)</p>
</div>
<p><!-- end the div for the first main nav tab - nav1 --></p>
<p><!-- start the div for the second main nav tab - nav2 --></p>
<div id="nav2" style="display: none;">
<h1>Example Tabbed Subnav in Microsite</h1>
<hr />
	<strong><a href="#" clicktoshow="tab2subnav1" clicktohide="tab2subnav2,tab2subnav3" class="medium awesome">Subnav One</a></strong><br />
	<strong><a href="#" clicktoshow="tab2subnav2" clicktohide="tab2subnav1,tab2subnav3" class="medium awesome">Subnav Two</a></strong><br />
	<strong><a href="#" clicktoshow="tab2subnav3" clicktohide="tab2subnav1,tab2subnav2" class="medium awesome">Subnav Three</a></strong></p>
<hr />
	</p>
<p>	<!-- start the div for the first subnav tab - tab2subnav1 --></p>
<div id="tab2subnav1">
<p style="color: red; text-weight: bold;">Hey, this<br />
		is the content for <strong>Subnav One</strong>!<br />
		You can put photos, text, even videos in here.</p>
<p>Bravely bold Sir Robin rode forth from Camelot.<br />
		He was not afraid to die, oh brave Sir Robin.<br />
		He was not at all afraid to be killed in nasty ways,<br />
		brave, brave, brave, brave Sir Robin.<br />
		He was not in the least bit scared to be mashed<br />
		into a pulp, or to have his eyes gouged out,<br />
		and his elbows broken. To have his kneecaps<br />
		split, and his body burned away, and his limbs<br />
		all hacked and mangled, brave Sir Robin.<br />
		His head smashed in and heart cut out, and his<br />
		liver removed, and his bowels unplugged, and<br />
		his nostrils raped and his bottom burned off and his penis&#8230; </p>
</p></div>
<p>	<!-- end the div for the first subnav tab - tab2subnav1 --></p>
<p>	<!-- start the div for the second subnav tab - tab2subnav2 --></p>
<div id="tab2subnav2" style="display: none;">
<p style="color: blue; text-weight: bold;">Hey,<br />
		this is the content for <strong>Subnav Two</strong>!<br />
		You can put photos, text, even videos in here.</p>
<p>When I first came here, this was all swamp. Everyone<br />
		said I was daft to build a castle on a swamp,<br />
		but I built in all the same, just to show them. It sank<br />
		into the swamp. So I built a second one.<br />
		That sank into the swamp. So I built a third.<br />
		That burned down, fell over, then sank into<br />
		the swamp. But the fourth one stayed up. And that&#8217;s<br />
		what you&#8217;re going to get, Lad, the strongest castle in<br />
		all of England. </p>
</p></div>
<p>	<!-- end the div for the second subnav tab - tab2subnav2 --></p>
<p>	<!-- start the div for the third subnav tab - tab2subnav3 --></p>
<div id="tab2subnav3" style="display: none;">
<p style="color: green; text-weight: bold;">Hey,<br />
		this is the content for <strong>Subnav Three</strong>!<br />
		You can put photos, text, even videos in here.</p>
<p>Follow. But. Follow only if ye be men of valour,<br />
		for the entrance to this cave is guarded by a<br />
		creature so foul, so cruel that no man yet has fought<br />
		with it and lived. Bones of full fifty men<br />
		lie strewn about its lair. So, brave knights, if you<br />
		do doubt your courage or your strength,<br />
		come no further, for death awaits you all with<br />
		nasty, big, pointy teeth. </p>
</p></div>
<p>	<!-- end the div for the third subnav tab - tab2subnav3 -->
</div>
<p><!-- end the div for the second main nav tab - nav2 --></p>
<p><!-- start the div for the third main nav tab - nav3 --></p>
<div id="nav3" style="display: none;">
	<img src="http://www.snipe.net/wp-content/uploads/2009/10/alison-grr.jpg" align="right"/></p>
<h1>Locations</h1>
<p>This is the locations &#8220;page&#8221;. You can put text, images, even video here.</p>
</div>
<p><!-- end the div for the third main nav tab - nav3 -->[/sourcecode]</p>
<p>The above is the <em>exact</em> code snippet I used to create that demo page, specifically. (In other words, please don&#8217;t email or comment asking me for the source. This is ALL there is, including the yummy button styling.)</p>
<p>As long as you properly nest your divs (and use valid HTML with no wonky or open tags), this will work every single time. The names of the divs don&#8217;t matter, as long as they match the clicktohide/clicktoshow div names you&#8217;re specifying in the nav. </p>
<p>If it doesn&#8217;t work when you try it, and you&#8217;re 100% sure you copy+pasted exactly from this tutorial, try again later. Sometimes Facebook has issues, and the only way to work around it is to wait until they&#8217;re not having issues.</p>
<p>I&#8217;d like to once again remind you that you&#8217;re not at all restricted to using the clicktohide and clicktoshow functions in the way I&#8217;ve outlined them here. My goal isn&#8217;t to show you the only things that are possible , but rather to get you familiar with the concepts so that you can use your own imagination and apply them in unique and exciting ways. </p>
<p>If you&#8217;ve done something cool with clcicktohide/clicktoshow (and let&#8217;s not forget clicktotoggle from the last tutorial), make sure you drop a link in the comments. I love to see what other people are working on. It makes my own raging Facebook development Hell a little easier to bear.</p>

 <script type="text/javascript">
	<!--
		function onover(what){
	document.getElementById('blurbtext').innerHTML=''+what+'';
	}
	function onout(){
	document.getElementById('blurbtext').innerHTML='&nbsp;';
	}
	-->
	</script>



<h3 style="padding-bottom: 0px; margin-bottom: 0px;">Also check out: <br /><span id="blurbtext"><br /></span></h3>

<div id="relatedposts">




		
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2009/10/mini-site-facebook-static-fbml/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2009/10/vitaminwater-new-moon-spot.png&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Extending Facebook Static FBML Tabs with Dynamic Content" height="90" width="90" onmouseover="onover('Extending Facebook Static FBML Tabs with Dynamic Content')" onmouseout="onout()" /></a></div>

			
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2009/06/fb-fanpages-fbml-box/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2009/04/facebook_pic.jpg&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Static FBML: Not Every Facebook Fan Page Needs An Application" height="90" width="90" onmouseover="onover('Static FBML: Not Every Facebook Fan Page Needs An Application')" onmouseout="onout()" /></a></div>

			
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2006/06/creating-a-multi-level-listbox-in-phpmysql/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2008/06/listbox.gif&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Creating a Multi-Level Listbox in PHP/mySQL" height="90" width="90" onmouseover="onover('Creating a Multi-Level Listbox in PHP/mySQL')" onmouseout="onout()" /></a></div>

	</div>

]]></content:encoded>
			<wfw:commentRss>http://www.snipe.net/2010/05/static-fbml-microsite-next-level/feed/</wfw:commentRss>
		<slash:comments>104</slash:comments>
		</item>
		<item>
		<title>Using Google Analytics on Facebook Fan Pages</title>
		<link>http://www.snipe.net/2010/04/google-analytics-on-facebook-fan-pages/</link>
		<comments>http://www.snipe.net/2010/04/google-analytics-on-facebook-fan-pages/#comments</comments>
		<pubDate>Sat, 10 Apr 2010 19:56:17 +0000</pubDate>
		<dc:creator>snipe</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook fan pages]]></category>
		<category><![CDATA[metrics]]></category>
		<category><![CDATA[reporting]]></category>

		<guid isPermaLink="false">http://www.snipe.net/?p=3008</guid>
		<description><![CDATA[Can you use Google Analytics on Facebook fan pages and fan page walls? You betcher sweet ass you can. If you&#8217;ve ever created a Facebook fan page, you&#8217;ve probably realized that the &#8220;reporting&#8221; that Facebook provides is basically useless. Because Facebook limits the Javascript you can use on Fan Pages, you cannot implement your own [...]]]></description>
			<content:encoded><![CDATA[<p>Can you use Google Analytics on Facebook fan pages and fan page walls? You betcher sweet ass you can.</p>
<p><span id="more-3008"></span></p>
<p>If you&#8217;ve ever created a Facebook fan page, you&#8217;ve probably realized  that the &#8220;reporting&#8221; that Facebook provides is basically useless. Because Facebook limits the Javascript you can use on Fan Pages, you  cannot implement your own analytics packages on fan pages. Or at least, that&#8217;s what they want you to believe.</p>
<p>For Facebook applications, there is an FBML tag that will allow you <a href="http://wiki.developers.facebook.com/index.php/Fb:google-analytics" target="_blank">place your Google Analytics code on the canvas page</a> &#8211; but <strong>this FBML will not work on fan pages, application tabs, or <em>anywhere</em> other than the canvas page</strong>.</p>
<p>Fortunately, implementing Google Analytics on your Facebook fan page is possible, with a little PHP trickery. The basic gist of the workaround is to include your Google Analytics code as an image instead of placing the javascript into the FBML code.</p>
<p>Rather than writing something from scratch, it makes more sense to direct you to <a href="http://www.webdigi.co.uk/blog/2010/google-analytics-for-facebook-fan-pages/" target="_blank">a post on the Webdigi blog</a> that offers a free set of PHP scripts that will let you do exactly that.</p>
<p>The long and short of what the guys over at Webdigi are doing with their scripts is simply to call a PHP script instead of an actual image file in the &lt;img src&gt; code. This is not unlike the &#8220;tracking pixels&#8221; that are often used in email newsletters, since Javascript is not an option there either. So the concept isn&#8217;t new, but it&#8217;s not common knowledge that it works on Facebook.</p>
<p>The PHP script they are calling contains the Google Analytics code, and accepts parameters so that you can re-use the script on multiple fan pages (or different pages in an application) simply by setting different parameters.</p>
<p>When your Static FBML tab, application tab or non-canvas app page loads, it loads that &#8220;image&#8221; as part of the page. That &#8220;image&#8221; then pings the PHP script, which pings Google Analytics. This could be adapted for other reporting systems as well, using the same concepts.</p>
<p>The guys do a nice job with their script, and they even offer a <a href="http://ga.webdigi.co.uk/" target="_blank">wizard</a> that helps you figure out what you need to put where.</p>
<p>I had rigged up a script a few months ago, but I never really had the  time to package it for the general public, make it easy to configure,  and so on, so go ahead and check out their script package.</p>
<p>Using this method, you’ll even be able to <strong>set up funnels and goals</strong> for your Facebook fan page stats, and Webdigi offers a great breakdown  on how to<strong> <a href="http://www.webdigi.co.uk/blog/2010/tracking-user-engagement-on-facebook-fan-pages/" target="_blank">tell the difference between fan and non-fan activity</a></strong> on your fan pages in your reporting.</p>
<p>Enjoy!</p>

 <script type="text/javascript">
	<!--
		function onover(what){
	document.getElementById('blurbtext').innerHTML=''+what+'';
	}
	function onout(){
	document.getElementById('blurbtext').innerHTML='&nbsp;';
	}
	-->
	</script>



<h3 style="padding-bottom: 0px; margin-bottom: 0px;">Also check out: <br /><span id="blurbtext"><br /></span></h3>

<div id="relatedposts">




		
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2008/11/let-me-google-that-for-you/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2008/11/googlelogoonwall-thumb.jpg&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="No, No &#8211; Let Me Google That For You" height="90" width="90" onmouseover="onover('No, No &#8211; Let Me Google That For You')" onmouseout="onout()" /></a></div>

			
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2008/06/compare-website-stats-using-google-trends/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2008/06/trends_cropped.png&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Compare Website Stats Using Google Trends" height="90" width="90" onmouseover="onover('Compare Website Stats Using Google Trends')" onmouseout="onout()" /></a></div>

			
               

        
        
        
		<div class="yarppimg"><a href="http://www.snipe.net/2002/06/google-style-page-numbering-with-x-per-page-and-y-page-numbers-displayed/" rel="bookmark">
		<img src="http://www.snipe.net/wp-content/themes/snipe/thumb.php?src=http://www.snipe.net/wp-content/uploads/2008/06/picture-22.png&amp;h=90&amp;w=90&amp;zc=1&amp;q=95" alt="Google Style Page Numbering (with x per page and y page numbers displayed)" height="90" width="90" onmouseover="onover('Google Style Page Numbering (with x per page and y page numbers displayed)')" onmouseout="onout()" /></a></div>

	</div>

]]></content:encoded>
			<wfw:commentRss>http://www.snipe.net/2010/04/google-analytics-on-facebook-fan-pages/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.476 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-02 10:14:46 -->

