<?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>Rabidgremlin&#039;s Soapbox &#187; Facebook</title>
	<atom:link href="http://blog.rabidgremlin.com/tag/facebook/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.rabidgremlin.com</link>
	<description>A little soapbox for me to stand on and rant from.</description>
	<lastBuildDate>Fri, 03 Feb 2012 10:59:00 +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>Building a modern web app, some learnings</title>
		<link>http://blog.rabidgremlin.com/2012/01/09/building-a-modern-web-app-some-learnings/</link>
		<comments>http://blog.rabidgremlin.com/2012/01/09/building-a-modern-web-app-some-learnings/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 02:54:14 +0000</pubDate>
		<dc:creator>jack</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[My Work]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.rabidgremlin.com/?p=938</guid>
		<description><![CDATA[I recently built a fairly rich web application from the ground up. Whilst I&#8217;ve being building web apps since the mid-nineties this little project had a different flavour to it and I thought I&#8217;d go over my learnings here. Firstly why was this project different: its a Facebook app and uses their JavaScript SDK. This [...]]]></description>
			<content:encoded><![CDATA[<p>I recently built a fairly rich web application from the ground up. Whilst I&#8217;ve being building web apps since the mid-nineties this little project had a different flavour to it and I thought I&#8217;d go over my learnings here.</p>
<p>Firstly why was this project different:</p>
<ul>
<li>its a Facebook app and uses their <a title="Link to Facbook's Javascript API" href="http://developers.facebook.com/docs/reference/javascript/" target="_blank">JavaScript SDK</a>. This means that 99% of the app runs client side with only a small bit of server side code.</li>
<li>I&#8217;m was the sole developer. Normally I work with 2 or more other developers, focus on the back-end work and leave the bulk of front-end stuff to others</li>
<li>rapid development approach. The app was built quickly with me working closely with a UX guy and a designer. Whilst the functionality was locked down early on, the user interface and interactions evolved rapidly and iteratively.</li>
</ul>
<p><strong>First observation: its so easy</strong><br />
OK that is slightly facetious, but modern CSS and JavaScript frameworks mean that you don&#8217;t have to be guru to build nice looking, smooth functioning, cross browser applications.</p>
<p>For this application I used the <a title="Link to Twitter bootstrap site" href="http://twitter.github.com/bootstrap/" target="_blank">Twitter Bootstrap CSS framework</a> and the <a title="Link to jQuery site" href="http://jquery.com/" target="_blank">jQuery Javascript framework</a>.</p>
<p><strong>Get a designer</strong><br />
Yes I know I just said that it&#8217;s easy and you don&#8217;t need to be a guru to create nice looking apps BUT whilst Twitter Bootstrap encapsulates a great design, you are still going to want to customise it.</p>
<p>Designers have the knack of adding the odd image, drop shadow or bit of whitespace that can make a perfectly ok looking web page just suddenly pop. Not to mention the selection of color a palettes and general pixel pushing.</p>
<p>On a similar front having a UX guy on hand is invaluable. If you don&#8217;t have one, then read Steve Krug&#8217;s Don&#8217;t Make Me Think book and then go and find yourself a UX guy  :) 
<div class="amtap-item" lang="en" xml:lang="en"><a href="http://www.amazon.com/Dont-Make-Me-Think-Usability/dp/0321344758%3FSubscriptionId%3D1B5D3ZDEP7KSZ00JPHR2%26tag%3Drabidssoapb-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D0321344758"><img src="http://ecx.images-amazon.com/images/I/51Qnk8fkFPL._SL110_.jpg" width="85" height="110" alt=""/></a><br />
<h3><a href="http://www.amazon.com/Dont-Make-Me-Think-Usability/dp/0321344758%3FSubscriptionId%3D1B5D3ZDEP7KSZ00JPHR2%26tag%3Drabidssoapb-20%26linkCode%3Dxm2%26camp%3D2025%26creative%3D165953%26creativeASIN%3D0321344758">Don&#8217;t Make Me Think</a></h3>
<p class="author">Steve Krug.					New Riders Press 2005, 					Paperback,				216 pages,				&#36;21.98</p>
</div>
<p><strong>Facebook</strong></p>
<p>The Facebook API is now pretty mature and is very stable (compared to the last time I used it a few years ago).</p>
<p>One annoying things is that the calls that you make to explore the user&#8217;s social graph (via the <em>FB.api</em> function) are very low-level and the data is returned in a callback. This can make your code very messy, since you often have to chain your app&#8217;s logic in the callback function, if your app needs data before it can proceed. For example:</p>
<pre>FB.api('/me', function(response) {
  // do something with response here
  // make next api call (with nested callback) here
});</pre>
<p>Additionally if you need to, for instance, retrieve friend profile data you can land up making hundreds of calls:</p>
<pre>// grab all my friends
FB.api('/me/friends', function(response) {

    $.each(response.data, function(index, value) {
       // get profile for each friend (this triggers another HTTPS call)
       FB.api('/' + value.id , function(profile) {
         // do something with profile data
       });
    });

});</pre>
<p>Luckily there is a better way, the <em>FB.query</em> and <em>FB.waitFor</em> functions. These let you run queries against a user&#8217;s data using a SQL like language (<a title="Link to FQL reference" href="http://developers.facebook.com/docs/reference/fql/" target="_blank">FQL</a>) and then block waiting for the response. This greatly reduces the time it takes to retrieve data and keeps your apps logic a bit simpler:</p>
<pre>var query = FB.Data.query('SELECT uid,name,current_location FROM user WHERE uid IN (SELECT uid1 FROM friend WHERE uid2=me())');
query.wait(function(rows) {
    $.each(rows, function(index, value) {
       // do something with friend data here
    });
});
// rest of app logic continues here</pre>
<p><strong>Firebug</strong><br />
<a title="Link to Firebug site" href="http://getfirebug.com/" target="_blank"> Get it</a> (hopefully this isn&#8217;t news to you). This tool is invaluable for web development. It allows you to debug JavaScript, view the DOM, check network traffic and tweak CSS in browser.</p>
<p>It&#8217;s also a good idea to test you app in different browsers as you go. During this app&#8217;s build I had FireFox, Chrome and IE 8 all running so I could see that everything was working. Luckily by using Twitter Bootstrap and jQuery I had no cross-browser issues at all other then the fact that IE didn&#8217;t get nice round corners.</p>
<p><strong>Make sure it validates</strong><br />
The W3C provides a tool for validating web pages. It&#8217;s always good to be sure that your pages validate, not just because it is good practice but because it stops browsers from entering their &#8220;quirks mode&#8221; which often causes odd and quirky behavior.</p>
<p>The <a title="Link to Web Developer plugin" href="https://addons.mozilla.org/en-US/firefox/addon/web-developer/" target="_blank">Web Developer plugin for Firefox</a> provides a handle shortcut for submitting your local HTML to the W3C validator.</p>
<p>In my case everything validated except for the Facebook namespace declaration and the custom Facebook tags such as <em>&lt;fb:like&gt;</em>. Whilst there are ways around this I decided on not been too purist.</p>
<p><strong>HTML5</strong><br />
Try use HTML5 for your app. It works very nicely. For IE browsers (before 9.0) use the <a title="Link to HTML5 Shim site" href="http://code.google.com/p/html5shim/" target="_blank">HTML5 shim</a> to get some HTML5 support.</p>
<p>However Twitter Bootstrap does not support IE6, so I used this trick to make any IE6 browsers redirect the user to a &#8220;browser unsupported&#8221; page with tips on how to upgrade their browser. In the <em>&lt;head&gt;</em>section add the following comment:</p>
<pre> &lt;!--[if lt IE 7]&gt;&lt;script type="text/javascript"&gt;window.location = 'notsupported.html';&lt;/script&gt;&lt;![endif]--&gt;</pre>
<p>This uses the <a title="Llink to conditional comments documentation" href="http://msdn.microsoft.com/en-us/library/ms537512(v=vs.85).aspx" target="_blank">conditional comments feature</a> of Internet Explorer to redirect IE6 browsers to the <em>notsupported.html</em> page, other browsers will simply treat it as a HTML comment.</p>
<p><strong>Improving load times</strong><br />
It is best practice to load all the CSS files in the <em>&lt;head&gt;</em> section of the page and all the JavaScript files at the end of the page (just before the <em>&lt;/body</em>&gt; tag). This makes the page feel much more responsive as the browser can start to render and layout the page before everything is loaded.</p>
<p>Having said that, a complex web app tends to pull in a lot of CSS and JavaScript files and minimizing the number of <em>objects</em> that are fetched from the server is a key factor in having a speedy app.</p>
<p>Ideally you only want your app to load a single CSS file and a single Javascript file. To achieve this in my app I concatenate the CSS files and JavaScript files (in the correct order) and then compress them using <a title="Link to YUI compressor site" href="http://developer.yahoo.com/yui/compressor/" target="_blank">Yahoo&#8217;s YUI compressor</a>.</p>
<p>Since I wanted this to be a repeatable process I used <a title="Link to Apache Ant website" href="http://ant.apache.org/" target="_blank">Ant</a> to create a build script to do this. Firstly the concatenation:</p>
<pre>&lt;concat destfile="${tmp.dir}/all.js"&gt;
  &lt;fileset file="${www.dir}/jquery.min.js" /&gt;
  &lt;fileset file="${www.dir}/jquery-ui-1.8.16.custom.min.js" /&gt;
  &lt;fileset file="${www.dir}/jquery.masonry.min.js" /&gt;
  &lt;fileset file="${www.dir}/bootstrap-modal.js" /&gt;
  &lt;fileset file="${www.dir}/bootstrap-twipsy.js" /&gt;
  &lt;fileset file="${www.dir}/bootstrap-alerts.js" /&gt;
  &lt;fileset file="${www.dir}/app.js" /&gt;
&lt;/concat&gt;</pre>
<p>And then the compression:</p>
<pre>&lt;exec executable="java"&gt;
  &lt;arg value="-jar"/&gt;
  &lt;arg value="yuicompressor-2.4.7.jar"/&gt;
  &lt;arg value="${tmp.dir}/all.js"/&gt;
  &lt;arg value="-o"/&gt;
  &lt;arg value="${tmp.dir}/all.js"/&gt;
&lt;/exec&gt;</pre>
<p>Now during development you don&#8217;t want to be dealing with concatenated and compressed files so my PHP pages contain a snippet like this:</p>
<pre>&lt;?php
if ($config['mode'] != 'prod')
{
?&gt;
    &lt;script src="jquery.min.js"&gt;&lt;/script&gt;
    &lt;script src="jquery-ui-1.8.16.custom.min.js"&gt;&lt;/script&gt;
    &lt;script src="jquery.masonry.min.js"&gt;&lt;/script&gt;
    &lt;script src="bootstrap-modal.js"&gt;&lt;/script&gt;
    &lt;script src="bootstrap-twipsy.js"&gt;&lt;/script&gt;
    &lt;script src="bootstrap-alerts.js"&gt;&lt;/script&gt;
    &lt;script src="app.js"&gt;&lt;/script&gt;
&lt;?php
}
else
{
?&gt;
    &lt;script src="all.js?@buildtimestamp@"&lt;/script&gt;
&lt;?php
}
?&gt;
&lt;/body&gt;</pre>
<p>With <em>mode</em> getting set in my app&#8217;s config file.</p>
<p>Of course there are a ton of other things you can do to tune your app. Get the <a title="Link to YSlow Firefox addon" href="https://addons.mozilla.org/en-US/firefox/addon/yslow/" target="_blank">YSlow addon for Firebug</a> and run the report on your pages to see what can be done.</p>
<p><strong>Cache busting</strong><br />
Ant can also very helpfully update parts of your files whilst copying them around. This can be used to <em>burn in</em> all sorts of things, like version numbers and build timestamps. It can also be used create a effective cache buster when a new version of your app is released&#8230;.</p>
<p>Firstly you need to set up an Ant property with an appropriate value:</p>
<pre>&lt;tstamp&gt;
  &lt;format property="buildtimestamp" pattern="yyyyMMddHHmmssSSS" locale="en,UK"/&gt;
&lt;/tstamp&gt;</pre>
<p>Then in your HTML you can append <em>@buildtimestamp@</em> following to file references:</p>
<pre>&lt;link rel="stylesheet" href="all.css?@buildtimestamp@"/&gt;
...
&lt;script src="all.js?@buildtimestamp@"&gt;&lt;/script&gt;</pre>
<p>Then lastly apply a filter in Ant when you are copying the files around:</p>
<pre>&lt;copy todir="${tmp.dir}"&gt;
  &lt;fileset dir="${www.dir}"&gt;
    &lt;include name="**/*.php" /&gt;
  &lt;/fileset&gt;
  &lt;filterset&gt;
    &lt;filter token="mode" value="prod" /&gt;
    &lt;filter token="release" value="${rel}" /&gt;
    &lt;filter token="buildtimestamp" value="${buildtimestamp}" /&gt;
    &lt;filter token="builddate" value="${builddate}" /&gt;
  &lt;/filterset&gt;
&lt;/copy&gt;</pre>
<p><strong>PHP config file</strong></p>
<p>To keep things nice and clean, I created a <em>config.php</em> file looking like this:</p>
<pre>&lt;?php if ( ! defined('CONFPATH')) exit('No direct script access allowed');

// set this to '@' + 'mode' + '@' during development so that style sheets and javascript files are individually included (see index.php)
// ant build scripts will replace this at build time
$config['mode'] = '@mode@'

?&gt;</pre>
<p>Then in my other PHP files I pulled in the config file using:</p>
<pre>&lt;?php
   define('CONFPATH','config.php');
   require_once CONFPATH;
?&gt;</pre>
<p>As you can see from the comments and the Ant snippets above, I overwrite the <em>mode</em> value with <em>&#8216;prod&#8217;</em> during my Ant build process to ensure that my compressed .js and .css files are used.</p>
<p><strong>Miscellaneous files</strong><br />
Finally make sure you add a <a title="Link to Wikipedia article on favicon" href="http://en.wikipedia.org/wiki/Favicon" target="_blank">favicon</a> and a <a title="Link to robotstxt.org" href="http://www.robotstxt.org/" target="_blank">robots.txt</a> to avoid annoying 404 webserver logs. For fun why not add a <a title="Link to humanstxt.org" href="http://humanstxt.org/" target="_blank">humans.txt</a> too.</p>
<p><strong>Summary</strong></p>
<p>Well that pretty much covers it. Hopefully there are one or two new  ideas here that you can use in your apps. Feel free to post any questions in the comments section below.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rabidgremlin.com/2012/01/09/building-a-modern-web-app-some-learnings/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The viral spread of my privacy check app for Facebook</title>
		<link>http://blog.rabidgremlin.com/2010/06/01/the-viral-spread-of-my-privacy-check-app-for-facebook/</link>
		<comments>http://blog.rabidgremlin.com/2010/06/01/the-viral-spread-of-my-privacy-check-app-for-facebook/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 08:18:17 +0000</pubDate>
		<dc:creator>jack</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[My Work]]></category>
		<category><![CDATA[Privacy]]></category>

		<guid isPermaLink="false">http://blog.rabidgremlin.com/?p=699</guid>
		<description><![CDATA[Last week, interested by the noise on the interwebs about Facebook and privacy, I put together a small app using Facebook&#8217;s API that shows exactly what information you are giving away to Facebook enabled sites. Thinking that others might be interested, I tweeted a link  and shared the app with my friends in Facebook. Now [...]]]></description>
			<content:encoded><![CDATA[<p>Last week, interested by the noise on the interwebs about Facebook and privacy, I put together a <a title="Link to Privacy Check app" href="http://www.rabidgremlin.com/fbprivacy" target="_blank">small app</a> using Facebook&#8217;s API that shows exactly what information you are giving away to Facebook enabled sites.</p>
<p>Thinking that others might be interested, I tweeted a link  and shared the app with my friends in Facebook. Now I don&#8217;t have a large social network about 220 followers on Twitter and 125 friends on Facebook, but the &#8220;like&#8221; counter for the app quickly started to grow first 10, then 20 and after a day close to 100!</p>
<p>A couple of days later, somewhat ashamed by how ugly the app looked, I did some work to pretty it up and I added a &#8220;privacy score&#8221;. I then retweeted the link, did a Facebook status update and went to bed.</p>
<p>The next morning (17 May), I was very surprised to see that I now had 200 &#8220;likes&#8221; and over 1500 page views. Over the next few days things started to  grow rapidly. I watched anxiously, concerned that my tiny little web server was going to explode&#8230;</p>
<p>I also started to wonder how people were actually out finding the the app. Here is what I can surmise from looking at my site logs and analytics.</p>
<p><strong>Page hits and visitors</strong><br />
First off here are the graphs showing the page hits (dark blue) and unique visits (light blue)  per day:</p>
<p><img class="aligncenter size-full wp-image-700" title="Privacy Check pages views" src="http://blog.rabidgremlin.com/wp-content/uploads/2010/05/chart.png" alt="" width="600" height="200" /></p>
<p>As you can see the app was at peak usage on the 18th May. To date the app has had 1936 &#8220;likes&#8221; and 28845 page views.</p>
<p><strong>Where did all the traffic come from?</strong></p>
<p>The bulk of the traffic (64.55%) came from referring sites, 34.05% came from direct traffic and a measly 1.4% of the traffic was from search engines.</p>
<p><img class="aligncenter size-full wp-image-720" title="Sources of Traffic" src="http://blog.rabidgremlin.com/wp-content/uploads/2010/05/source_chart.png" alt="" width="400" height="218" /></p>
<p>Of course a large percentage of the referring traffic was from Facebook, as my app allowed people to post their &#8220;privacy score&#8221; for all their friends to see. The post included a handy link back to my app so that others could then easily check their score.</p>
<p><img class="aligncenter size-full wp-image-722" title="Privacy Score Post" src="http://blog.rabidgremlin.com/wp-content/uploads/2010/05/privacy_score_post.png" alt="" width="502" height="92" /></p>
<p>A total of 11.8% of the total visitors to the app came from Facebook. The other referring traffic was from the large number of blogs and websites that posted articles about the Facbook Privacy issue with links back to my app. In fact there were over 100 sites that did link back to the app which is pretty staggering. See the end of this post for a list of some of them.</p>
<p>The direct traffic figure of 34.05% is interesting as it is highly unlikely that anyone was typing the URL to the app (<a title="Link to Privacy Check app" href="http://www.rabidgremlin.com/fbprivacy" target="_blank">http://www.rabidgremlin.com/fbprivacy</a>) directly into their browser. I can only guess that that these visits must have come from people clicking links in various (non-browser based) twitter, RSS feed and (perhaps) mail clients.</p>
<p>Looking at the data I would suggest that over 45% of the total traffic could be attributed to social networking ! (the 11.8% from Facebook and the 34.05% direct traffic).</p>
<p><strong>Riding the hype curve</strong><br />
I suspect that the primary reason that the app became so popular so quickly was it appeared right when there was the most Internet buzz about Facebook privacy.You can clearly see the strong build up and the equally sharp drop off in traffic as the Internet became enamoured with some other topic.</p>
<p><strong>Did I WIN?</strong></p>
<p>Now if my app was a commercial product then I would say NO. Around about the same time as my app went live so did several others such as: <a title="Link to youropenbook.org" href="http://youropenbook.org/" target="_blank">youropenbook.org</a>,  <a title="Link to reclaimprivacy.org" href="http://www.reclaimprivacy.org/" target="_blank">reclaimprivacy.org</a> and  <a title="Link to Saveface" href="http://www3.untangle.com/saveface" target="_blank">Saveface</a>.</p>
<p>I would say that reclaimprivacy.org would be a direct &#8220;competitor&#8221;. If you take a look at their site they have over  238000 shares and over $3000 in donations. So around 12100% more shares/likes and roughly 60000% more in donations!  BTW I must give a shout-out to Brian for his donation (and yes it is enough to buy a beer in New Zealand, thanks).</p>
<p>Clearly reclaimprivacy.org would be destroying me if we were competing businesses :)</p>
<p>So why did they do so much better?</p>
<p>I don&#8217;t believe that it is the &#8220;product&#8221;, several sites have mentioned that my app provides the most in-depth information.</p>
<p>I could see that perhaps it is because their app looks better but no one mentioned that my app was ugly or unusable.</p>
<p>I suspect that the answer is that of trust, reclaimprivacy.org has a nice domain name, the author released the source code and perhaps more importantly the author (<a title="Link to Matt's twitter feed" href="http://twitter.com/mjpizz" target="_blank">Matt Pizzimenti</a>) is readily identifiable. On the other hand, rabidgremlin.com sounds a bit suspect and I go out of my way to keep my identity secret (not that it would be hard to figure out who I am).</p>
<p>My suspicion is borne out by some of the descriptions of my app, such as this one:</p>
<blockquote><p>The application is built by rabidgremlin, who doesn’t tell us anything  about himself (I’m making an assumption here) and claims New Zealand as  his home on his Twitter page.  Can you trust the site?</p></blockquote>
<p>I guess I&#8217;ll need to take this into account for future projects :)</p>
<p><strong>Sources of traffic</strong></p>
<p>The following list shows some the sources of traffic to my app:<br />
<a href="http://sikkerhed.tdc.dk/publish.php?id=24892" target="_blank">http://sikkerhed.tdc.dk/publish.php?id=24892</a><br />
<a href="http://youropenbook.org/about.html" target="_blank">http://youropenbook.org/about.html</a><br />
<a href="http://www.f-secure.com/weblog/archives/00001952.html" target="_blank">http://www.f-secure.com/weblog/archives/00001952.h</a><br />
<a href="http://willmoffat.github.com/FacebookSearch/about.html" target="_blank"></a><a href="http://www.net-security.org/article.php?id=1439" target="_blank">http://www.net-security.org/article.php?id=1439</a><br />
<a href="http://www.f-secure.com/weblog/" target="_blank"></a><a href="http://www.hwsw.hu/hirek/44627/facebook-adatvedelem-szemelyisegi-jog-kozossegi-web-privat-szfera.html" target="_blank">http://www.hwsw.hu/hirek/44627/facebook-adatvedele</a><br />
<a href="http://www.google.com/reader/view/" target="_blank"></a><a href="http://www.infospyware.com/blog/facebook-privacy-check/" target="_blank">http://www.infospyware.com/blog/facebook-privacy-c</a><br />
<a href="http://news.ycombinator.com/item?id=1346003" target="_blank">http://news.ycombinator.com/item?id=1346003</a><br />
<a href="http://webisztan.blog.hu/2010/05/17/teszteld_hogy_mennyire_biztonsagosak_a_facebook_beallitasaid" target="_blank">http://webisztan.blog.hu/2010/05/17/teszteld_hogy_</a><br />
<a href="http://www.simplyzesty.com/facebook/tool-lets-check-private-facebook-profile/" target="_blank">http://www.simplyzesty.com/facebook/tool-lets-chec</a><br />
<a href="http://themoderatevoice.com/73103/concerned-about-facebook-privacy-check-out-these-tools/" target="_blank">http://themoderatevoice.com/73103/concerned-about-</a><br />
<a href="http://www.simplyzesty.com/facebook/tool-lets-check-private-facebook-profile/" target="_blank"></a><a href="http://www.hwsw.hu/hirek/44627/facebook-adatvedelem-szemelyisegi-jog-kozossegi-web-privat-szfera.html" target="_blank"></a><a href="http://www.guardian.co.uk/technology/blog/2010/may/18/technology-links-newsbucket" target="_blank">http://www.guardian.co.uk/technology/blog/2010/may</a><br />
<a href="http://bagtheweb.com/oembed/proxy/IBB2DI" target="_blank">http://bagtheweb.com/oembed/proxy/IBB2DI</a><br />
<a href="http://www.taringa.net/posts/info/5534654/Facebook-Privacy-Check-(Comprueba-tu-privacidad).html" target="_blank">http://www.taringa.net/posts/info/5534654/Facebook</a><br />
<a href="http://37signals.com/svn/posts/2330-diasporas-curse" target="_blank">http://37signals.com/svn/posts/2330-diasporas-curs</a><br />
<a href="http://www.simplyzesty.com/facebook/tool-lets-check-private-facebook-profile/" target="_blank"></a><a href="http://index.hu/tech/2010/05/21/kivonulas_a_facebookrol/" target="_blank">http://index.hu/tech/2010/05/21/kivonulas_a_facebo</a><br />
<a href="http://www.simplyzesty.com/facebook/tool-lets-check-private-facebook-profile/" target="_blank"></a><a href="http://www.informacija.rs/Vesti/Privacy-Check-aplikacija-za-ocenu-privatnosti-na-Facebook-u.html" target="_blank">http://www.informacija.rs/Vesti/Privacy-Check-apli</a><br />
<a href="http://news.ycombinator.com/item?id=1354731" target="_blank">http://news.ycombinator.com/item?id=1354731</a><br />
<a href="http://www.net-security.org/article.php?id=1439" target="_blank"></a><a href="http://slo-tech.com/novice/t416348" target="_blank">http://slo-tech.com/novice/t416348</a><br />
<a href="http://flipthemedia.com/index.php/2010/05/facebook-privacy/" target="_blank">http://flipthemedia.com/index.php/2010/05/facebook</a><br />
<a href="http://webisztan.blog.hu/2010/05/17/teszteld_hogy_mennyire_biztonsagosak_a_facebook_beallitasaid" target="_blank"></a><a href="http://wiredpen.com/2010/05/18/facebook-and-privacy-tools/" target="_blank">http://wiredpen.com/2010/05/18/facebook-and-privac</a><br />
<a href="http://www.cnis-mag.com/quand-les-navigateurs-parlent-trop.html" target="_blank">http://www.cnis-mag.com/quand-les-navigateurs-parl</a><br />
<a href="http://www.reddit.com/r/technology/comments/c3jyi/kill_your_facebook_page_backlash_gains_speed/" target="_blank">http://www.reddit.com/r/technology/comments/c3jyi/</a><br />
<a href="http://caballe.cat/wp/eina-que-calcula-el-nivell-de-privadesa-que-tens-a-facebook/" target="_blank">http://caballe.cat/wp/eina-que-calcula-el-nivell-d</a><br />
<a href="http://www.net-security.org/article.php?id=1439" target="_blank"></a><a href="http://www.reddit.com/r/reddit.com/comments/c557m/facebook_privacy_check_i_managed_1821_what_about/" target="_blank">http://www.reddit.com/r/reddit.com/comments/c557m/</a><br />
<a href="http://www.facebook.com/notes/f-secure-labs/facebook-privacy-check/10150191329795543" target="_blank">http://www.facebook.com/notes/f-secure-labs/facebo</a><br />
<a href="http://bit.ly/bRhj2Z" target="_blank"></a><a href="http://www.netvibes.com/privatepage/1" target="_blank"></a><a href="http://www.net-security.org/article.php?id=1439" target="_blank"></a><a href="http://www.infospyware.com/blog/facebook-privacy-check/" target="_blank"></a><a href="http://www.cnis-mag.com/4456.html" target="_blank">http://www.cnis-mag.com/4456.html</a><br />
<a href="http://caballe.cat/wp/" target="_blank"></a><a href="http://www.taringa.net/posts/info/5515348/Facebook-Privacy-Check-(Compruebe-su-privacidad).html" target="_blank">http://www.taringa.net/posts/info/5515348/Facebook</a><br />
<a href="http://taringa.net/posts/info/5534654/Facebook-Privacy-Check-(Comprueba-tu-privacidad).html" target="_blank">http://taringa.net/posts/info/5534654/Facebook-Pri</a><br />
<a href="http://twitter.com/mikebutcher" target="_blank">http://twitter.com/mikebutcher</a><br />
<a href="http://www.wir-muessen-twittern.de/blog/2010/05/18/was-veroffentlicht-facebook-uber-mich/" target="_blank">http://www.wir-muessen-twittern.de/blog/2010/05/18</a><br />
<a href="http://www.techsupportalert.com/content/probably-best-free-security-list-world.htm" target="_blank">http://www.techsupportalert.com/content/probably-b</a><br />
<a href="http://www.matuk.com/forosmatuk/vida-digital/privacidad-en-facebook/" target="_blank">http://www.matuk.com/forosmatuk/vida-digital/priva</a><br />
<a href="http://livingwithoutfacebook.com/" target="_blank">http://livingwithoutfacebook.com/</a><br />
<a href="http://www.infospyware.com/blog/facebook-privacy-check/" target="_blank"></a><a href="http://giovannidepaola.nova100.ilsole24ore.com/2010/05/facebook-privacy-tester-.html" target="_blank">http://giovannidepaola.nova100.ilsole24ore.com/201</a><br />
<a href="http://blog.f-secure.jp/archives/50403236.html" target="_blank">http://blog.f-secure.jp/archives/50403236.html</a><br />
<a href="http://youropenbook.org/about" target="_blank">http://youropenbook.org/about</a><br />
<a href="http://www.stumbleupon.com/su/2JEkXM/www.rabidgremlin.com/fbprivacy" target="_blank"></a><a href="http://socialbits.net/blog/facebook-and-privacy-tools-to-be-sure-to-be-sure/" target="_blank">http://socialbits.net/blog/facebook-and-privacy-to</a><br />
<a href="http://www.lemagit.fr/article/google-france-facebook-legislation-blog-navigateurs-alten-loi-blogs-streetview/6411/1/special-securite-desanonymisation-blogs-beaucoup-bruit-pour-rien/" target="_blank">http://www.lemagit.fr/article/google-france-facebo</a><br />
<a href="http://www.f-secure.com/weblog/index.html" target="_blank"></a><a href="http://news.ycombinator.com/item?id=1347982" target="_blank">http://news.ycombinator.com/item?id=1347982</a><br />
<a href="http://www.websegura.net/2010/05/teste-a-sua-privacidade-online-no-facebook/" target="_blank">http://www.websegura.net/2010/05/teste-a-sua-priva</a><br />
<a href="http://www.plurk.com/bikerock" target="_blank">http://www.plurk.com/bikerock</a><br />
<a href="http://www.lemagit.fr/article/google-france-facebook-legislation-blog-navigateurs-alten-loi-blogs-streetview/6411/1/special-securite-desanonymisation-blogs-beaucoup-bruit-pour-rien/" target="_blank">http://www.lemagit.fr/article/google-france-facebo</a><br />
<a href="http://www.softcatala.org/planeta/" target="_blank">http://www.softcatala.org/planeta/</a><br />
<a href="http://www.islamicaweb.com/forums/science-technology/4521-facebook-thread-115.html" target="_blank">http://www.islamicaweb.com/forums/science-technolo</a><br />
<a href="http://www.facebook.com/FSecure.Labs" target="_blank"></a><a href="http://vulps.forumotion.com/discussion-f4/oo-er-some-advice-from-facebook-veterans-please-t1207-15.htm" target="_blank">http://vulps.forumotion.com/discussion-f4/oo-er-so</a><br />
<a href="http://twitter.com/theharmonyguy" target="_blank">http://twitter.com/theharmonyguy</a><br />
<a href="http://twitter.com/harryadams" target="_blank">http://twitter.com/harryadams</a><br />
<a href="http://tnlabs.org/" target="_blank"></a><a href="http://maketecheasier.com/4-tools-to-unscramble-your-facebook-privacy-settings/2010/05/25" target="_blank">http://maketecheasier.com/4-tools-to-unscramble-yo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rabidgremlin.com/2010/06/01/the-viral-spread-of-my-privacy-check-app-for-facebook/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Facebook: Keeping things between friends</title>
		<link>http://blog.rabidgremlin.com/2009/07/07/facebook-keeping-things-between-friends/</link>
		<comments>http://blog.rabidgremlin.com/2009/07/07/facebook-keeping-things-between-friends/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 09:23:03 +0000</pubDate>
		<dc:creator>jack</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Privacy]]></category>

		<guid isPermaLink="false">http://blog.rabidgremlin.com/?p=501</guid>
		<description><![CDATA[One of the most visited posts on my blog is titled &#8220;FaceBook:Do you know who is watching you?&#8221; which details how to keep your Facebook profile out of the public eye. In light of the MI6 chief/Facebook scandal (his wife obviously doesn&#8217;t read my blog), I thought I&#8217;d update the instructions so you can avoid [...]]]></description>
			<content:encoded><![CDATA[<p>One of the most visited posts on my blog is titled &#8220;<a title="Link to old blog post" href="http://blog.rabidgremlin.com/2007/09/11/facebook-do-you-know-who-is-watching-you/" target="_blank">FaceBook:Do you know who is watching you?</a>&#8221; which details how to keep your Facebook profile out of the public eye. In light of the <a title="Link to new article on MI6/Facebook scandal" href="http://www.theage.com.au/world/britains-new-mi6-chief-caught-in-facebook-scandal-20090705-d95k.html" target="_blank">MI6 chief/Facebook scandal</a> (his wife obviously doesn&#8217;t read my blog), I thought I&#8217;d update the instructions so you can avoid suffering a similar embarrassment :)</p>
<ol>
<li>Log in to Facebook and from the <em>Settings</em> menu (top right of the page) select <em>Privacy Settings</em></li>
<li>Now select the <em>Profile</em> section (alternatively click on this link: <a title="Link to basic tab of profile section" href="http://www.facebook.com/privacy/?view=profile&amp;tab=basic" target="_blank">http://www.facebook.com/privacy/?view=profile&amp;tab=basic</a>)</li>
<li>Set all the options to <em>Only Friends</em> and click on the <em>Save Changes</em> button</li>
<li>Now select the <em>Contact Information</em> tab (or follow this link: <a title="Link to contact info tab" href="http://www.facebook.com/privacy/?view=profile&amp;tab=contact" target="_blank">http://www.facebook.com/privacy/?view=profile&amp;tab=contact</a>)</li>
<li>Once again set all the options to <em>Only Friends</em> and click on the <em>Save Changes</em>. If you don&#8217;t want your friends to know your email then you can select <em>No one</em> as the option for your email address too.</li>
<li>Click on the <em>Privacy</em> part of the breadcrumb at the top of the page and the select the <em>Search</em> section (or follow this link: <a title="Link to search privacy options" href="http://www.facebook.com/privacy/?view=search" target="_blank">http://www.facebook.com/privacy/?view=search</a>)</li>
<li>For the <em>Search Visibility</em> option you have a couple of choices. If you are completely a paranoid set it to <em>Only Friends</em>. If you are slightly paranoid then set it to <em>Friends of Friends</em>. If you don&#8217;t care then select one of the other options such as <em>Everyone</em>.</li>
<li>In the <em>Search Result</em> section you can control what people can see when they do search for you. I would suggest leaving only the <em>A link to add me as a friend</em> and <em>A link to send me a message</em> options selected. You can also turn on <em>My profile picture</em> but it all depends on how compromising your profile pictures get :)</li>
<li>Lastly in the <em>Public Search Listing</em> section uncheck the <em>create a public search listing for me&#8230;</em> option because you don&#8217;t want your profile showing up on Google.</li>
<li>Click on <em>Save Changes</em> and you are all done.</li>
</ol>
<p>Happy Facebooking&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rabidgremlin.com/2009/07/07/facebook-keeping-things-between-friends/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

