<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Announcing Followerlap</title>
	<atom:link href="http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/feed/" rel="self" type="application/rss+xml" />
	<link>http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/</link>
	<description>Things that Eric A. Meyer, CSS expert, writes about on his personal Web site; it&#039;s largely Web standards and Web technology, but also various bits of culture, politics, personal observations, and other miscellaneous stuff</description>
	<lastBuildDate>Fri, 19 Mar 2010 00:27:46 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Terence Eden</title>
		<link>http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/#comment-478549</link>
		<dc:creator>Terence Eden</dc:creator>
		<pubDate>Mon, 05 Oct 2009 15:37:44 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=1138#comment-478549</guid>
		<description>I did something similar earlier this year - &lt;a href=&quot;http://shkspr.mobi/twitter/retweet.php&quot; rel=&quot;nofollow&quot;&gt;Worth Retweeting&lt;/a&gt;.  Enter your name and the name of the person you&#039;re retweeting and you&#039;ll see how many of your followers you&#039;ll annoy.

I wrote it up in May this year with code examples if anyone wants them - http://shkspr.mobi/blog/index.php/2009/05/worth-retweeting/</description>
		<content:encoded><![CDATA[<p>I did something similar earlier this year &#8211; <a href="http://shkspr.mobi/twitter/retweet.php" rel="nofollow">Worth Retweeting</a>.  Enter your name and the name of the person you&#8217;re retweeting and you&#8217;ll see how many of your followers you&#8217;ll annoy.</p>
<p>I wrote it up in May this year with code examples if anyone wants them &#8211; <a href="http://shkspr.mobi/blog/index.php/2009/05/worth-retweeting/" rel="nofollow">http://shkspr.mobi/blog/index.php/2009/05/worth-retweeting/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: web page designer</title>
		<link>http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/#comment-474701</link>
		<dc:creator>web page designer</dc:creator>
		<pubDate>Wed, 26 Aug 2009 20:46:17 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=1138#comment-474701</guid>
		<description>I had to do this in the past too for a twitter app I created, except I was doing the opposite.   If I remember correctly, I think the twitter API returns an array of IDs for all the users... then you can just put those into your own two arrays, and do some array math for whatever you&#039;re trying to accomplish.   Should only end up being a couple lines of code after the API requests are made.

Cool little app, I love simple but useful sites like that :)</description>
		<content:encoded><![CDATA[<p>I had to do this in the past too for a twitter app I created, except I was doing the opposite.   If I remember correctly, I think the twitter API returns an array of IDs for all the users&#8230; then you can just put those into your own two arrays, and do some array math for whatever you&#8217;re trying to accomplish.   Should only end up being a couple lines of code after the API requests are made.</p>
<p>Cool little app, I love simple but useful sites like that :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bruno Bergher</title>
		<link>http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/#comment-472504</link>
		<dc:creator>Bruno Bergher</dc:creator>
		<pubDate>Fri, 31 Jul 2009 19:28:40 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=1138#comment-472504</guid>
		<description>Eric, perhaps you could leave the option of cross referencing the two lists via JavaScript.

I mean: you run the core of it on the server, then print a hidden list of the overlapping user IDs. Then, if the browser supports JS, add a button which runs the queries based on the IDs on the client side, so they don&#039;t use up your API limit.

Maybe there&#039;s something to it I&#039;m not seeing, but would probably be a pretty simple solution to actually SEEING who&#039;s in the overlap.</description>
		<content:encoded><![CDATA[<p>Eric, perhaps you could leave the option of cross referencing the two lists via JavaScript.</p>
<p>I mean: you run the core of it on the server, then print a hidden list of the overlapping user IDs. Then, if the browser supports JS, add a button which runs the queries based on the IDs on the client side, so they don&#8217;t use up your API limit.</p>
<p>Maybe there&#8217;s something to it I&#8217;m not seeing, but would probably be a pretty simple solution to actually SEEING who&#8217;s in the overlap.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Meyer</title>
		<link>http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/#comment-472081</link>
		<dc:creator>Eric Meyer</dc:creator>
		<pubDate>Sun, 26 Jul 2009 01:32:45 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=1138#comment-472081</guid>
		<description>According to the Twitter signup form, periods aren&#039;t allowed, &lt;a href=&quot;http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/?#comment-472081&quot; rel=&quot;nofollow&quot;&gt;Aklap&lt;/a&gt;; only letters, numbers, and underscores.  Can you point me to a username containing a period?</description>
		<content:encoded><![CDATA[<p>According to the Twitter signup form, periods aren&#8217;t allowed, <a href="http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/?#comment-472081" rel="nofollow">Aklap</a>; only letters, numbers, and underscores.  Can you point me to a username containing a period?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aklap</title>
		<link>http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/#comment-472064</link>
		<dc:creator>Aklap</dc:creator>
		<pubDate>Sat, 25 Jul 2009 20:14:16 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=1138#comment-472064</guid>
		<description>Periods are legal characters in Twitter names, but your site chokes on them.</description>
		<content:encoded><![CDATA[<p>Periods are legal characters in Twitter names, but your site chokes on them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark</title>
		<link>http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/#comment-472060</link>
		<dc:creator>Mark</dc:creator>
		<pubDate>Sat, 25 Jul 2009 18:15:53 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=1138#comment-472060</guid>
		<description>What does the @god &amp; @devil comparison tell us? and then again what does it tell us when we &lt;a href=&quot;http://meyerweb.com/eric/tools/followerlap/?u1=god&amp;u2=satan&quot; rel=&quot;nofollow&quot;&gt;compare these&lt;/a&gt;?</description>
		<content:encoded><![CDATA[<p>What does the @god &amp; @devil comparison tell us? and then again what does it tell us when we <a href="http://meyerweb.com/eric/tools/followerlap/?u1=god&amp;u2=satan" rel="nofollow">compare these</a>?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Knoll</title>
		<link>http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/#comment-470152</link>
		<dc:creator>Jonathan Knoll</dc:creator>
		<pubDate>Tue, 07 Jul 2009 19:46:58 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=1138#comment-470152</guid>
		<description>Eric,

That&#039;s actually what I suspected you meant, except that I was trying to find an explanation for why the rate-limit is so high. This is very weird. I just went to: &lt;a href=&quot;http://twitter.com/account/rate_limit_status.xml&quot; rel=&quot;nofollow&quot;&gt;http://twitter.com/account/rate_limit_status.xml&lt;/a&gt;, and it gave me 20000 (I&#039;m whitelisted). My wife tried at her office, and it gave her 150. Could your app, perhaps, be hosted on a domain that has &quot;uber&quot;-whitelisting? (Not something mentioned in the API dox. :p)

Dunno. Lucky you.

~ &lt;a href=&quot;http://twitter.com/yoni&quot; rel=&quot;nofollow&quot;&gt;@yoni&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Eric,</p>
<p>That&#8217;s actually what I suspected you meant, except that I was trying to find an explanation for why the rate-limit is so high. This is very weird. I just went to: <a href="http://twitter.com/account/rate_limit_status.xml" rel="nofollow">http://twitter.com/account/rate_limit_status.xml</a>, and it gave me 20000 (I&#8217;m whitelisted). My wife tried at her office, and it gave her 150. Could your app, perhaps, be hosted on a domain that has &#8220;uber&#8221;-whitelisting? (Not something mentioned in the API dox. :p)</p>
<p>Dunno. Lucky you.</p>
<p>~ <a href="http://twitter.com/yoni" rel="nofollow">@yoni</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: saleiva</title>
		<link>http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/#comment-470144</link>
		<dc:creator>saleiva</dc:creator>
		<pubDate>Tue, 07 Jul 2009 18:06:24 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=1138#comment-470144</guid>
		<description>Hey Eric,

I&#039;m really like your idea on followerlap.
I&#039;ve some design ideas for it. If you would be interested in it, please let me know!

Congrats and regards.</description>
		<content:encoded><![CDATA[<p>Hey Eric,</p>
<p>I&#8217;m really like your idea on followerlap.<br />
I&#8217;ve some design ideas for it. If you would be interested in it, please let me know!</p>
<p>Congrats and regards.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Meyer</title>
		<link>http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/#comment-470143</link>
		<dc:creator>Eric Meyer</dc:creator>
		<pubDate>Tue, 07 Jul 2009 17:58:31 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=1138#comment-470143</guid>
		<description>Apparently I was unclear, &lt;a href=&quot;http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/#comment-470140&quot; rel=&quot;nofollow&quot;&gt;Jonathan&lt;/a&gt;.  What I meant is that Followerlap has a &quot;debug mode&quot;, which is invoked with a URL parameter.  It&#039;s the same tool doing the same stuff, just outputting values for me to see (or triggering failure states based on values given to said parameter).  Here: &lt;a href=&quot;http://meyerweb.com/eric/tools/followerlap/?debug&amp;u1=god&amp;u2=devil&quot; rel=&quot;nofollow&quot;&gt;compare God and the Devil, with the details&lt;/a&gt;.</description>
		<content:encoded><![CDATA[<p>Apparently I was unclear, <a href="http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/#comment-470140" rel="nofollow">Jonathan</a>.  What I meant is that Followerlap has a &#8220;debug mode&#8221;, which is invoked with a URL parameter.  It&#8217;s the same tool doing the same stuff, just outputting values for me to see (or triggering failure states based on values given to said parameter).  Here: <a href="http://meyerweb.com/eric/tools/followerlap/?debug&#038;u1=god&#038;u2=devil" rel="nofollow">compare God and the Devil, with the details</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Knoll</title>
		<link>http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/#comment-470140</link>
		<dc:creator>Jonathan Knoll</dc:creator>
		<pubDate>Tue, 07 Jul 2009 17:45:51 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=1138#comment-470140</guid>
		<description>Eric,

I know that, &lt;em&gt;by the rules&lt;/em&gt;, Damon is correct about the API limits: &lt;a href=&quot;http://apiwiki.twitter.com/Rate-limiting&quot; rel=&quot;nofollow&quot;&gt;http://apiwiki.twitter.com/Rate-limiting&lt;/a&gt;. Have you outputted the rate-limit when *not* in debug mode? In fact, where did you find out about debug mode? And are you sure the TOS allow you to use it like that?

~ &lt;a href=&quot;http://twitter.com/yoni&quot; rel=&quot;nofollow&quot;&gt;@yoni&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Eric,</p>
<p>I know that, <em>by the rules</em>, Damon is correct about the API limits: <a href="http://apiwiki.twitter.com/Rate-limiting" rel="nofollow">http://apiwiki.twitter.com/Rate-limiting</a>. Have you outputted the rate-limit when *not* in debug mode? In fact, where did you find out about debug mode? And are you sure the TOS allow you to use it like that?</p>
<p>~ <a href="http://twitter.com/yoni" rel="nofollow">@yoni</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dougal Campbell</title>
		<link>http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/#comment-470139</link>
		<dc:creator>Dougal Campbell</dc:creator>
		<pubDate>Tue, 07 Jul 2009 17:37:49 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=1138#comment-470139</guid>
		<description>There have been many calls for API methods to return all the follower/friend names in one fell swoop. The problem is that the way that the Twitter datastore is structured, it&#039;s a very expensive operation on the Twitter server-side. So it ain&#039;t going to happen any time soon, according to what their API guys have said.</description>
		<content:encoded><![CDATA[<p>There have been many calls for API methods to return all the follower/friend names in one fell swoop. The problem is that the way that the Twitter datastore is structured, it&#8217;s a very expensive operation on the Twitter server-side. So it ain&#8217;t going to happen any time soon, according to what their API guys have said.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Meyer</title>
		<link>http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/#comment-470136</link>
		<dc:creator>Eric Meyer</dc:creator>
		<pubDate>Tue, 07 Jul 2009 17:19:52 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=1138#comment-470136</guid>
		<description>&lt;a href=&quot;http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/#comment-470129&quot; rel=&quot;nofollow&quot;&gt;Damon&lt;/a&gt;: nope.  &lt;a href=http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-account%C2%A0rate_limit_status&quot; rel=&quot;nofollow&quot;&gt;&lt;code&gt;account/rate_limit_Status&lt;/code&gt;&lt;/a&gt; returns an &lt;tt&gt;hourly-limit&lt;/tt&gt; value of &lt;tt&gt;100000&lt;/tt&gt; when I run the tool in &quot;debug&quot; mode (which, among other things, shows me a &lt;code&gt;var_dump&lt;/code&gt; of &lt;code&gt;account/rate_limit_Status&lt;/code&gt;).  I&#039;m not signing in as me, either, so it must be IP-bound.</description>
		<content:encoded><![CDATA[<p><a href="http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/#comment-470129" rel="nofollow">Damon</a>: nope.  <a href=http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-account%C2%A0rate_limit_status" rel="nofollow"><code>account/rate_limit_Status</code></a> returns an <tt>hourly-limit</tt> value of <tt>100000</tt> when I run the tool in &#8220;debug&#8221; mode (which, among other things, shows me a <code>var_dump</code> of <code>account/rate_limit_Status</code>).  I&#8217;m not signing in as me, either, so it must be IP-bound.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Damon</title>
		<link>http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/#comment-470129</link>
		<dc:creator>Damon</dc:creator>
		<pubDate>Tue, 07 Jul 2009 16:07:32 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=1138#comment-470129</guid>
		<description>Eric: Did Twitter bump it up for you or something? On my whitelisted boxes, the hourly rate limit is only 20,000 hits. Without whitelisting it&#039;s 150.</description>
		<content:encoded><![CDATA[<p>Eric: Did Twitter bump it up for you or something? On my whitelisted boxes, the hourly rate limit is only 20,000 hits. Without whitelisting it&#8217;s 150.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Deterling</title>
		<link>http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/#comment-470128</link>
		<dc:creator>Brian Deterling</dc:creator>
		<pubDate>Tue, 07 Jul 2009 16:01:46 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=1138#comment-470128</guid>
		<description>Tweepdiff (http://tweepdiff.com) does essentially the same thing.  It shows three lists: one for in common and one for unique to each user being compared.  It also lets you compare more than 2 users and you can mix and match followers/friends.  As mentioned in previous comments, the API tends to fall over when you get above a certain number of friends/followers but I doubt people really want an accurate comparison of 200k followers anyway.  I use memcache and a combination of the followers and statuses APIs which works ok with pagination.  And yes, I too wrote the tool without checking to see if someone else had already done it, and was happy I got the experience.

Brian</description>
		<content:encoded><![CDATA[<p>Tweepdiff (<a href="http://tweepdiff.com" rel="nofollow">http://tweepdiff.com</a>) does essentially the same thing.  It shows three lists: one for in common and one for unique to each user being compared.  It also lets you compare more than 2 users and you can mix and match followers/friends.  As mentioned in previous comments, the API tends to fall over when you get above a certain number of friends/followers but I doubt people really want an accurate comparison of 200k followers anyway.  I use memcache and a combination of the followers and statuses APIs which works ok with pagination.  And yes, I too wrote the tool without checking to see if someone else had already done it, and was happy I got the experience.</p>
<p>Brian</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Meyer</title>
		<link>http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/#comment-470125</link>
		<dc:creator>Eric Meyer</dc:creator>
		<pubDate>Tue, 07 Jul 2009 15:43:31 +0000</pubDate>
		<guid isPermaLink="false">http://meyerweb.com/?p=1138#comment-470125</guid>
		<description>&lt;a href=&quot;http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/#comment-470122&quot; rel=&quot;nofollow&quot;&gt;Dougal&lt;/a&gt;:  For what I&#039;m doing, I haven&#039;t had to register because the API limit isn&#039;t really an issue:  the default hourly limit for an IP address seems to be 100,000 hits, and since each comparison requires two hits that&#039;s 50,000 comparisons an hour, or 13.889 comparisons per second.  No problem.  Even if I set up a tool to show (or integrate into Followerlap) friend-overlap statistics, that will double my API hits and halve my upper bound to 6.944 comparisons per second.  I think I can handle that.

The key there, of course, is to just present the numbers and not try to build a list of details.  What I really wish is that the API had &lt;code&gt;followers/usernames&lt;/code&gt; and &lt;code&gt;friends/usernames&lt;/code&gt; methods.  Then I could at least list and link to them all, even if I didn&#039;t have avatars or bios or whatever.  That&#039;d be pretty cool.</description>
		<content:encoded><![CDATA[<p><a href="http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/#comment-470122" rel="nofollow">Dougal</a>:  For what I&#8217;m doing, I haven&#8217;t had to register because the API limit isn&#8217;t really an issue:  the default hourly limit for an IP address seems to be 100,000 hits, and since each comparison requires two hits that&#8217;s 50,000 comparisons an hour, or 13.889 comparisons per second.  No problem.  Even if I set up a tool to show (or integrate into Followerlap) friend-overlap statistics, that will double my API hits and halve my upper bound to 6.944 comparisons per second.  I think I can handle that.</p>
<p>The key there, of course, is to just present the numbers and not try to build a list of details.  What I really wish is that the API had <code>followers/usernames</code> and <code>friends/usernames</code> methods.  Then I could at least list and link to them all, even if I didn&#8217;t have avatars or bios or whatever.  That&#8217;d be pretty cool.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head profile="http://gmpg.org/xfn/1">
<title>meyerweb.com</title>
<link rel="openid.server" href="http://www.myopenid.com/server">
<link rel="openid.delegate" href="http://emeyer.myopenid.com/">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link rel="shortcut icon" href="/favicon.ico"><link rel="home" href="http://meyerweb.com/" title="Home" ><link rel="stylesheet" href="http://meyerweb.com/ui/meyerweb.css" type="text/css" media="screen, projection"><link rel="stylesheet" href="http://meyerweb.com/ui/theme.css" type="text/css" media="screen, projection" id="themeLink"><link rel="stylesheet" href="http://meyerweb.com/ui/print.css" type="text/css" media="print"><script src="http://meyerweb.com/ui/addresses.js" type="text/javascript"></script><link rel="stylesheet" href="/ui/wordpress.css" type="text/css" media="screen">
<link rel="stylesheet" href="/ui/tfe.css" type="text/css" media="screen">
<link rel="stylesheet" href="/ui/home.css" type="text/css" media="screen">
<link rel="alternate" type="application/rss+xml" title="Thoughts From Eric" href="/eric/thoughts/rss2/full" />
<link rel="alternate" type="application/rss+xml" title="Thoughts From Eric (only technical posts)" href="/eric/thoughts/category/tech/rss2/full" />
<link rel="alternate" type="application/rss+xml" title="Thoughts From Eric (only personal posts)" href="/eric/thoughts/category/personal/rss2/full" />
<link rel="alternate" type="application/rss+xml" title="Distractions" href="/eric/thoughts/recent-links/rss2" />
<link rel="alternate" type="application/rss+xml" title="Excuse of the Day" href="/feeds/excuse/rss20.xml" />
</head>
<body id="www-meyerweb-com" class="hpg">

<div id="sitemast"><h1><a href="/"><span>meyerweb</span>.com</a></h1></div><div id="search"><h4>Exploration</h4><!-- SiteSearch Google --><form method="get" action="http://www.google.com/custom" target="_top"><div><input type="hidden" name="domains" value="meyerweb.com"></input><label for="sbb" style="display: none">Submit search form</label><input type="submit" name="sa" value="Google Search" id="sbb"></input><label for="sbi" style="display: none">Enter your search terms</label><input type="text" name="q" size="31" maxlength="255" value="" id="sbi"></input><p><input type="radio" name="sitesearch" value="meyerweb.com" checked id="ss1"></input><label for="ss1" title="Search meyerweb.com">meyerweb.com</label><input type="radio" name="sitesearch" value="" id="ss0"></input><label for="ss0" title="Search the Web">Web</label></p><input type="hidden" name="client" value="pub-3772084027748653"></input><input type="hidden" name="forid" value="1"></input><input type="hidden" name="ie" value="ISO-8859-1"></input><input type="hidden" name="oe" value="ISO-8859-1"></input><input type="hidden" name="safe" value="active"></input><input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:1"></input><input type="hidden" name="hl" value="en"></input></div></form><!-- SiteSearch Google --><!-- <form method="get" action="http://www.google.com/custom"><div><input type="submit" name="sa" value="Search"><input type="text" name="q" size="20" maxlength="255" value=""><input type="hidden" name="sitesearch" value="meyerweb.com"></div></form><small><a href="http://www.google.com/search">Powered by Google</a></small> --></div><div id="main"><div class="skipper">Skip to: <a href="#extra">site navigation/presentation</a></div><div class="skipper">Skip to: <a href="#thoughts">Thoughts From Eric</a></div>
<div id="thoughts">


<div class="entry">
<h3><a href="http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/" rel="bookmark" title="Permanent Link: Announcing Followerlap">Announcing Followerlap</a></h3>
<ul class="meta">
<li class="date">Mon 6 Jul 2009</li>
<li class="time">1322</li>
<li class="cat"><a href="http://meyerweb.com/eric/thoughts/category/personal/projects/" title="View all posts in Projects" rel="category tag">Projects</a><br> <a href="http://meyerweb.com/eric/thoughts/category/tech/tools/" title="View all posts in Tools" rel="category tag">Tools</a><br> <a href="http://meyerweb.com/eric/thoughts/category/tech/web/" title="View all posts in Web" rel="category tag">Web</a></li>
<li class="cmt"><a href="http://meyerweb.com/eric/thoughts/2009/07/06/announcing-followerlap/#comments">29 responses</a></li>
<li></li><li></li></ul>

<div class="text">
<p>
Last week, I got an <a href="http://twitter.com/supernovia/status/2424654400">interesting inquiry</a> from <a href="http://novapages.com/">Velda Christensen</a>:
</p>

<blockquote cite="http://twitter.com/supernovia/status/2424654400"><p>@meyerweb *wondering just how many of your followers follow @zeldman and vice-versa*</p></blockquote>

<p>
I had no idea.  Furthermore, I didn&#8217;t know of a tool that could tell me.  So I built one: <a href="http://meyerweb.com/eric/tools/followerlap/">Followerlap</a>.
</p>
<p>
As it turned out, the Twitter API made answering the specific question pretty ridiculously easy, thanks to <a href="http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-followers%C2%A0ids"><code>followers/ids</code></a>.  All it takes is two API requests, one for each username.  The same would be true of <a href="http://apiwiki.twitter.com/Twitter-REST-API-Method%3A-friends%C2%A0ids"><code>friends/ids</code></a>, on top of which I suspect I&#8217;ll fairly shortly build a tool quite similar to Followerlap.
</p>
<p>
Since I <a href="http://twitter.com/meyerweb/status/2499070417">announced Followerlap&#8217;s existence</a> on (where else?) Twitter, I&#8217;ve had a few repeated (and not unexpected) bits of feedback.
</p>

<ul>
<li><p><strong>Why not list the common followers?</strong>  Because <code>followers/ids</code> returns a list of numeric IDs.  Resolving those IDs as usernames would require one API hit per ID.  If there are 15 followers in common, that&#8217;s not such a big deal, but if there are 1,500, well, I&#8217;ll run out of my hourly allotment of API requests very quickly.  Maybe there&#8217;s a better way; if so, I&#8217;d love to hear about it, because that would be a great addition.</p></li>
<li><p><strong>Why can&#8217;t I find out how many people follow both <a href="http://twitter.com/stephenfry">Stephen Fry</a> and <a href="http://twitter.com/THE_REAL_SHAQ">Shaquille O&#8217;Neal</a>?</strong>  Past a certain number of followers, somewhere in the 200,000&ndash;250,000 range, the API just dies.  You can&#8217;t even count on getting a consistent error message back.  <a href="http://groups.google.com/group/twitter-development-talk/browse_thread/thread/9abd452e420b5aed/37063359ae45fe68">There are ways around this</a>, but I didn&#8217;t want to stress the API that way, so it just fails.  Sorry.</p></li>
<li><p><strong>How can I link to a specific comparison?</strong>  <del datetime="2009-07-07T01:27:13+00:00">At the moment, you can&#8217;t.  I hope to make that happen soon, but I decided that a tool this simple should have a similarly simple launch.  Ship early, ship often, right?  Anyway, it&#8217;s on the list of things to add soon.</del>  Use the new &#8220;Livelink to this result&#8221; link underneath a result.  (See update below for more.)</p></li>
</ul>

<p>
So that&#8217;s Followerlap.  Any other questions?  I&#8217;ll do my best to answer them in the comments, though for a number of reasons I may be slow to respond.
</p>
<p>
<strong>Update 6 Jul 09:</strong> as noted in the edited point above, livelinking of comparison results is now, um, live.  So now you can pass around results like <a href="http://meyerweb.com/eric/tools/followerlap/?u1=god&#038;u2=devil">the number of people who follow both God <em>and</em> the Devil</a> (thanks to Paul M. Watson for <a href="http://twitter.com/paulmwatson/status/2500099501">coming up with that one</a>!).  I call this &#8220;livelinking&#8221; because hitting a result URL will get you the very latest results for that particular comparison.  &#8220;Permalinking&#8221; to me implied that it would link to a specific result at a specific time, which the tool doesn&#8217;t do and very likely never, ever will.
</p></div>

</div>

</div>
<p style="font-size: 90%; text-align: right; margin-top: 0.5em; padding-top: 0;">(If you care, there's even an <a href="/eric/thoughts/page/2/">archive of previous thoughts</a>...)</p>

</div><div id="extra"><div class="panel" id="archipelago"><h4>Identity Archipelago</h4><ul><li><a href="http://flickr.com/photos/meyerweb/" rel="me">Flickr</a></li><li><a href="http://twitter.com/meyerweb/" rel="me">Twitter</a></li><li><a href="http://dopplr.com/traveller/meyerweb">Dopplr</a></li><li><a href="http://www.linkedin.com/in/meyerweb" rel="me">LinkedIn</a></li><li><a href="http://technorati.com/profile/emeyer" rel="me">Technorati</a></li></ul></div><div class="panel" id="pointers"><h4>Projects Elsewhere</h4><ul><li><a href="http://aneventapart.com/">An Event Apart</a></li><li><a href="http://complexspiral.com/">Complex Spiral Consulting</a></li><li><a href="http://www.webassist.com/go/css/emeyer/">CSS Sculptor</a></li><li><a href="http://css-discuss.org/">css-discuss</a></li><li><a href="http://microformats.org/">Microformats</a></li><li><a href="http://s5project.org/">S5</a></li></ul></div><div class="panel" id="tour"><ul><li><a href="http://fray.com/issue3/"><img src="http://fray.com/images/i3c.gif" alt="Fray Contributor (Issue 3: Sex &amp; Death)" /></a></li><!-- <li><a href="http://www.webassist.com/go/css/emeyer/"><img src="/pix/CS_ad_180x109.jpg" alt="CSS Sculptor for Dreamweaver" style="max-width: 100%;" /></a></li> --></ul></div><div class="panel">
<h4>Recently Tweeted</h4>
<p class="more"><a href="http://twitter.com/meyerweb">see more</a></p>
<p>Coffee shop hacking—using a stir-stick to spread cream cheese on my bagel. <small>&#8211;tweeted 2 hours, 9 minutes ago</small></p>
</div><div id="sideblog" class="panel">
<h4>Distractions</h4>
<p class="more">
<a href="/eric/thoughts/recent-links/">archive</a>
</p>
<ul>
<li><a href="http://tweetagewasteland.com/2010/03/my-head-is-in-the-cloud/" title="March 18 | &#8220;I sense that my addiction to the realtime stream is only making room for the consumption of a faster stream.&#8221;">My Head is in the Cloud</a> <small>[via <a href="http://daringfireball.net/">John</a>]</small></li>
<li><a href="http://8bitnyc.com/" title="March 17 | All of a sudden I want to establish a mission in Central Park and negotiate with the natives for gold and food.">8-Bit NYC</a></li>
<li><a href="http://www.youtube.com/watch?v=nFicqklGuB0&amp;feature=player_embedded" title="March 12 | Wry comment expressing my appreciation of the creative derivativeness of this video and its uncanny accuracy in mocking common tropes.">Academy Award Winning Movie Trailer</a></li>
<li><a href="http://www.youtube.com/watch?v=414TmP12WAU" title="March 9 | &#8220;Apple juice&#8230; for half price!&#8221;  More like twice PRICELESS.  (Note: If you&#8217;re at work, don your headphones.)">Happy in Paraguay</a> <small>[via <a href="http://unstoppablerobotninja.com/">Ethan</a>]</small></li>
<li><a href="http://www.youtube.com/watch?v=9V5ubAOeOBk&amp;feature=player_embedded" title="February 10 | This is approximately the best thing ever.">U900 -Walk Don&#8217;t Run (Isogabamaware)</a></li>
<li><a href="http://www.456bereastreet.com/archive/201002/sifr_default_css_hides_content_from_at_least_one_screen_reader/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A 456bereastreet %28456 Berea Street%29" title="February 8 | -9999px comes through again, but I really wish we were beyond that kind of thing.">sIFR default CSS hides content from at least one screen reader</a></li>
<li><a href="http://www.macosxhints.com/article.php?story=20100117064356428" title="February 8 | Storing this for future use.">Take a picture with the iSight camera when a folder is opened</a></li>
<li><a href="http://mingle2.com/blog/view/web-developer-mind" title="February 4 | Mostly valid.  (SEE WHAT I DID THERE?)">The Mind of a Web Developer: An Illustrated Diagram</a></li>
<li><a href="http://www.theonion.com/content/news/science_channel_refuses_to_dumb" title="January 28 | &#8220;Punkin Chunkin, for Christ&#8217;s sake&#8230; What more do you people want?&#8221;">Science Channel Refuses To Dumb Down Science Any Further</a></li>
<li><a href="http://www.mailchimp.com/blog/project-omnivore-declassified/" title="January 27 | Sounds like quite a feat.  But I wonder how we&#8217;d feel if Microsoft or Google announced the same kind of thing on their e-mail services.">MailChimp&#8217;s Project Omnivore: Declassified</a></li>
<li><a href="http://www.politifact.com/truth-o-meter/statements/2010/jan/25/carolyn-maloney/congresswoman-says-democratic-presidents-create-mo/" title="January 26 | &#8220;Obviously, luck matters a lot, but when there is a consistent pattern over more than 60 years, it starts to look like more than just luck.&#8221;">Congresswoman says Democratic presidents create more private-sector jobs</a></li>
<li><a href="http://www.ted.com/talks/taylor_mali_what_teachers_make.html" title="January 25 | Truth.">Taylor Mali: What teachers make</a></li>
<li><a href="http://notebook.johnmartz.com/how-websites-work?c=1" title="January 22 | At last, the truth is out and I can stop pretending:  beatific monkeys are what makes it all go.">How websites work</a></li>
</ul>
</div>
<div class="panel" id="advisory">
<div class="guarded">
<a href="http://blogadvisorysystem.com/"><img src="/pix/bas/guarded.png" alt="Blog Advisory System Alert Level: Guarded"></a>
</div>
</div>

<div class="panel" id="excuse">
<h4>The <a href="/feeds/excuse/">excuse of the day</a> is</h4>
<p>neutrino interactions</p>
</div>

<div class="panel" id="extras">
<h4>Extras</h4>
<ul>
<li><a href="/feeds/">Feeds</a> &#8226;</li>
<li><a href="/eric/faq.html">FAQ</a> &#8226;</li>
<li><a href="/family.html">Family</a></li>
</ul>
</div>

</div>

<div id="navigate">
<h4>Navigation</h4>
<ul id="navlinks">
<li id="archLink"><a href="/eric/thoughts/">Archives</a></li>
<li id="cssLink"><a href="/eric/css/">CSS</a></li>
<li id="toolsLink"><a href="/eric/tools/">Toolbox</a></li>
<li id="writeLink"><a href="/eric/writing.html">Writing</a></li>
<li id="speakLink"><a href="/eric/talks/">Speaking</a></li>
<li id="otherLink"><a href="/other/">Leftovers</a></li>
<li id="aboutsite"><a href="/ui/about.html">About this site</a></li>
</ul>
</div>

<div id="footer">
<p class="sosumi">All contents of this site, unless otherwise noted, are &copy;1995-2008 <strong>Eric A. and Kathryn S. Meyer</strong>.  All Rights Reserved.</p>
<p>"<a href="/eric/thoughts/">Thoughts From Eric</a>" is powered by the &uuml;bercool <a href="http://wordpress.org/">WordPress</a></p>
</div>
</body>
</html>
