<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.11.5 (http://www.squarespace.com/) on Fri, 30 Jul 2010 09:05:20 GMT--><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>Blog</title><link>http://blog.twitterfall.com/blog/</link><description></description><lastBuildDate>Sun, 18 Jul 2010 15:13:47 +0000</lastBuildDate><copyright></copyright><language>en-GB</language><generator>Squarespace Site Server v5.11.5 (http://www.squarespace.com/)</generator><item><title>Minor update (for real this time)</title><category>Updates</category><dc:creator>Twitterfall</dc:creator><pubDate>Sun, 18 Jul 2010 15:10:45 +0000</pubDate><link>http://blog.twitterfall.com/blog/2010/7/18/minor-update-for-real-this-time.html</link><guid isPermaLink="false">559547:6463427:8120798</guid><description><![CDATA[<p>For some reason a few weeks ago we listed these bugs/features as pushed out, even though they weren't. Sorry about that. They are now!</p>
<ul>
<li><span>[Feature]</span>: When you go to retweet an official retweet, it doesn't look like a chain retweet any more so you get a better feel of what is happening.</li>
<li>[Feature]: We now support&nbsp;<a href="http://dev.twitter.com/pages/tweet_entities">tweet entities</a>&nbsp;for timeline and mentions. This means that when Twitter switch on t.co for all tweets, Twitterfall will match what Twitter.com displays.</li>
<li>[Feature]: We now support expanding&nbsp;<a href="http://www.google.com/url?sa=D&amp;q=http%3A%2F%2Fgoo.gl" target="_blank">goo.gl</a>&nbsp;addresses</li>
<li><span>[Bug]</span>: When you click to logout of Twitterfall, the login button now reappears properly.</li>
<li><span>[Bug]</span>: When loading lists (subscribed or own) if there is a failure the text changes back from 'Loading...' like it should (thanks <a href="http://twitter.com/BenCOGrimm">Ben</a>)</li>
</ul>]]></description><wfw:commentRss>http://blog.twitterfall.com/blog/rss-comments-entry-8120798.xml</wfw:commentRss></item><item><title>Spammy services and Twitterfall</title><category>Updates</category><dc:creator>Twitterfall</dc:creator><pubDate>Wed, 09 Jun 2010 20:11:50 +0000</pubDate><link>http://blog.twitterfall.com/blog/2010/6/9/spammy-services-and-twitterfall.html</link><guid isPermaLink="false">559547:6463427:7918995</guid><description><![CDATA[<p>At Twitterfall we (obviously) use Twitter every day, and use Twitterfall every day. We've observed what others are talking about, that <a href="http://scobleizer.com/2010/06/09/a-really-nasty-trend-apps-that-write-to-twitter-or-facebook-without-user-understandingapproval/">apps are writing to Twitter without user understanding or approval</a>. Not only that but lots of people just let these services spam their followers with unwanted tweets ('I've become the mayor of...' etc.).</p>
<p>As you may know, <a href="javascript:mctmp(0);">Twitterfall has supported global exclusions for some time</a>. This means that you can filter out spammers, or certain terms (e.g. 'free xbox'). Now we've gone one step further to help you filter your Twitterfall.</p>
<p><strong>You can now exclude services from your Twitterfall.</strong></p>
<p><span class="full-image-block ssNonEditable"><span><img src="http://blog.twitterfall.com/storage/screenshots/excludingservices.png?__SQUARESPACE_CACHEVERSION=1276114684935" alt="" /></span></span></p>
<p>To do this, simply add 'service:badservice' to your exclusions. You can see what services tweets come from by viewing them on Twitter.com.</p>]]></description><wfw:commentRss>http://blog.twitterfall.com/blog/rss-comments-entry-7918995.xml</wfw:commentRss></item><item><title>Massive Twitterfall for iPhone update!</title><category>iPhone</category><dc:creator>Twitterfall</dc:creator><pubDate>Fri, 28 May 2010 16:21:52 +0000</pubDate><link>http://blog.twitterfall.com/blog/2010/5/28/massive-twitterfall-for-iphone-update.html</link><guid isPermaLink="false">559547:6463427:7799617</guid><description><![CDATA[<div style="text-align: center;"><span class="full-image-block ssNonEditable"><span><img src="http://app.twitterfall.com/iphone.png?__SQUARESPACE_CACHEVERSION=1275063912575" alt=""/></span></span></div>

<p>Today we have pushed out a brand new version of <a href="http://app.twitterfall.com">Twitterfall for iPhone</a>. Not only has it been <em>completely rewritten from the ground up</em>, but it also has plenty of new features. In particular:</p>

<ul>
<li>It now supports multiple accounts (timeline, mentions, and tweeting), and multiple searches.</li>
<li>It's lightning fast to load, and because it's been completely rewritten scrolling is super- smooth, even on an iphone 3G.</li>
<li>Tapping on a hashtag shows you a preview of some tweets containing that hashtag. </li>
<li>Persistent view of tweets when you close the app. </li>
<li>The same great Twitterfall-style timeline view.</li>
</ul>

<p>We've designed the Twitterfall app to do what you normally use Twitter for <em>really well</em>, rather than adding loads of unnecessary features. Huge thanks to <a href="http://twitter.com/miketomasello">Mike Tomasello</a> for working with us to bring our iPhone app up to date!</p>

<p>Check it out on the <a href="http://itunes.apple.com/gb/app/twitterfall/id313504759?mt=8">App Store</a>, available for just 59p ($0.99), where you will find screenshots and some more information.</p>

<p>Let us know what you think!</p>
]]></description><wfw:commentRss>http://blog.twitterfall.com/blog/rss-comments-entry-7799617.xml</wfw:commentRss></item><item><title>From PHP to Erlang</title><category>Updates</category><dc:creator>Twitterfall</dc:creator><pubDate>Wed, 05 May 2010 12:50:49 +0000</pubDate><link>http://blog.twitterfall.com/blog/2010/5/5/from-php-to-erlang.html</link><guid isPermaLink="false">559547:6463427:7572761</guid><description><![CDATA[When you use a web app to interact with Twitter you are almost always going via a sort of 'proxy' system, as browsers have lots of security to prevent <a href="http://en.wikipedia.org/wiki/Cross-site_scripting">Cross-Site Scripting Attacks</a>. On Twitterfall, this proxying was performed by a piece of PHP code running via a FastCGI server, as well as other cross-site operations such as shortening URLs. We have encountered some big disadvantages with this method:
<ul>
<li><strong>The Twitter API is slow</strong>. At peak times it can take seconds, not milliseconds, to respond. As a result, we have to run lots of PHP processes on our server that have to sit maintaining connections, using up lots of memory (This isn't what PHP was designed for!). When Twitterfall first started, this used to be a huge problem, now it's more of a niggling pain, but still there.</li>
<li><strong>The PHP code is basic</strong>, it doesn't forward errors to the client (it just silently fails), and is very difficult to debug. It's been around since the start of Twitterfall, so understandably it's got a bit long in the tooth.</li>
<li>There's <strong>no easy way of monitoring it</strong>, and adding monitoring to an already bulky process would just slow it down more.&nbsp;</li>
</ul>
<p>So we've worked on a replacement, and we're pleased to say it's been running in production successfully now for quite some time. We've built it on several great components available:</p>
<ul>
<li><a href="http://erlang.org">Erlang</a>, which is great at running hundreds, thousands, even millions of concurrent processes, great for the slow Twitter API.</li>
<li><a href="http://code.google.com/p/mochiweb/">Mochiweb</a>, a lightweight HTTP server framework for Erlang that powers <a href="http://www.process-one.net/en/blogs/article/facebook_chat_is_developed_in_erlang">Facebook Chat</a>, and <a href="http://github.com/jalada/Hydrometeor/">Hydrometeor</a>.</li>
<li><a href="http://github.com/tim/erlang-oauth">erlang-oauth</a>, an Erlang library for dealing with oAuth requests. We have modified it to support:</li>
<li><a href="http://github.com/cmullaparthi/ibrowse">ibrowse</a>, an HTTP client written in Erlang that replaces <a href="http://www.erlang.org/doc/apps/inets/http_client.html">Erlang's HTTP client</a>, which we've experienced big problems with when dealing with multiple concurrent requests to the same server.</li>
<li><a href="http://github.com/astro/erlang-collectd/">erlang-collectd</a>, an Erlang library for logging data to <a href="http://collectd.org/">collectd</a>, a monitoring daemon.</li>
</ul>
<p>This means:&nbsp;</p>
<ul>
<li>We can handle <strong>loads of concurrent connections</strong> to Twitter without breaking a sweat.</li>
<li>We can <strong>easily monitor</strong> the status of the connection between Twitterfall and Twitter, which makes it easier to inform our users when Twitter have a problem (and they think it's us).</li>
<li>We can monitor <strong>how people use Twitterfall</strong> to help improve the user experience.</li>
<li><strong>Twitterfall feels more responsive</strong>.</li>
</ul>
<p>Thanks to this new component, we've made the following observations:&nbsp;</p>
<ul>
<li><strong>The Twitter API errors a lot</strong>. Sometimes it will return 404 errors on known API endpoints for no apparent reason, and quite often it will return capacity errors.</li>
<li><strong>The Twitter API is really slow</strong> when America are awake. Here's a graph of response time when people have made authenticated requests to the Twitter API via Twitterfall:<br /><span class="thumbnail-image-block ssNonEditable"><span><a href="javascript:showFullImage('/display/ShowImage?imageUrl=%2Fstorage%2Fthumbnails%2F6452133-6847927-thumbnail.jpg%3F__SQUARESPACE_CACHEVERSION%3D1273332319833',389,300);"><img src="http://blog.twitterfall.com/storage/thumbnails/6452133-6847929-thumbnail.jpg?__SQUARESPACE_CACHEVERSION=1273332319834" alt="" /></a>&nbsp;</span></span></li>
<li>People have lists in their Twitterfall that don't exist any more, so <strong>we've added a visual cue to show when you have a list in your Twitterfall that doesn't exist</strong>.</li>
<li>People don't notice their tweets are too long, so we've made it so that <strong>you are warned if you try to send a tweet that is more than 140 characters</strong>.</li>
</ul>
<h3>Other updates</h3>
<ul>
<li>Fixed a bug with loading your lists.</li>
<li>Fixed a bug that caused the geolocation map that shows up for geolocated tweets to stop working.</li>
<li>Added some new error messages.</li>
</ul>]]></description><wfw:commentRss>http://blog.twitterfall.com/blog/rss-comments-entry-7572761.xml</wfw:commentRss></item><item><title>New blog and fixes</title><category>Updates</category><dc:creator>Twitterfall</dc:creator><pubDate>Fri, 23 Apr 2010 19:40:37 +0000</pubDate><link>http://blog.twitterfall.com/blog/2010/4/23/new-blog-and-fixes.html</link><guid isPermaLink="false">559547:6463427:7426948</guid><description><![CDATA[<p>After consistently having issues with Posterous's post formatting, we've moved our blog to Squarespace.</p>
<p>We've also made a few tweaks to Twitterfall, the main one being:</p>
<h3>Improved URL shortening</h3>
<p><span class="full-image-block ssNonEditable"><span><img src="http://blog.twitterfall.com/storage/screenshots/Screen shot 2010-04-23 at 20.43.35.png?__SQUARESPACE_CACHEVERSION=1272051901405" alt="" /></span></span></p>
<p><span class="full-image-block ssNonEditable"><span><img src="http://blog.twitterfall.com/storage/screenshots/Screen shot 2010-04-23 at 20.43.44.png?__SQUARESPACE_CACHEVERSION=1272051924446" alt="" /></span></span></p>
<p>Now, if you shorten a URL in the 'New Tweet' box it will shorten the URL <em>and</em>&nbsp;add the title of the web page you are linking to (when possible). <em>(yeah, the example above is bad, but you get the idea!)</em></p>
<h3>Other changes</h3>
<ul>
<li>We've moved the @ symbol out of Twitter links to stay consistent with the Twitter user interface.</li>
<li>We've adjusted some of the default colours to improve readability.</li>
<li>You can now view tweets in conversations between protected users if you are following those users.</li>
<li>We've added a '?present=' URL parameter which allows you to set the presentation mode text immediately when the page loads. This was at request from @<a href="http://twitter.com/bennuk">bennuk</a>.</li>
<li>We've improved some of our Javascript. <a href="http://stackoverflow.com/questions/971312/why-avoid-increment-and-decrement-operators-in-javascript">Source 1</a>, <a href="http://www.yuiblog.com/blog/2008/02/11/helping-the-yui-compressor/">Source 2</a>&nbsp;(avoiding eval() with YUI Compressor), <a href="http://wonko.com/post/try-to-use-one-var-statement-per-scope-in-javascript">Source 3</a>.</li>
<li>We've fixed the bug with DMs not working.&nbsp;</li>
</ul>]]></description><wfw:commentRss>http://blog.twitterfall.com/blog/rss-comments-entry-7426948.xml</wfw:commentRss></item><item><title>Embracing HTML5</title><category>Updates</category><dc:creator>Twitterfall</dc:creator><pubDate>Fri, 09 Apr 2010 21:26:00 +0000</pubDate><link>http://blog.twitterfall.com/blog/2010/4/9/embracing-html5.html</link><guid isPermaLink="false">559547:6463427:7294217</guid><description><![CDATA[We’ve been busy at Twitterfall, and we’ve got some new features for you.]]></description><wfw:commentRss>http://blog.twitterfall.com/blog/rss-comments-entry-7294217.xml</wfw:commentRss></item><item><title>Twitterfall Settings Usage</title><category>Uncategorized</category><dc:creator>Twitterfall</dc:creator><pubDate>Sat, 20 Mar 2010 18:22:52 +0000</pubDate><link>http://blog.twitterfall.com/blog/2010/3/20/twitterfall-settings-usage.html</link><guid isPermaLink="false">559547:6463427:7294218</guid><description><![CDATA[<p></p>
]]></description><wfw:commentRss>http://blog.twitterfall.com/blog/rss-comments-entry-7294218.xml</wfw:commentRss></item><item><title>What's new on Twitterfall?</title><category>Updates</category><dc:creator>Twitterfall</dc:creator><pubDate>Tue, 05 Jan 2010 15:04:00 +0000</pubDate><link>http://blog.twitterfall.com/blog/2010/1/5/whats-new-on-twitterfall.html</link><guid isPermaLink="false">559547:6463427:7294229</guid><description><![CDATA[<p></p>]]></description><wfw:commentRss>http://blog.twitterfall.com/blog/rss-comments-entry-7294229.xml</wfw:commentRss></item><item><title>Hastags, Images, Retweets and more.</title><category>Updates</category><dc:creator>Twitterfall</dc:creator><pubDate>Tue, 29 Sep 2009 19:00:00 +0000</pubDate><link>http://blog.twitterfall.com/blog/2009/9/29/hastags-images-retweets-and-more.html</link><guid isPermaLink="false">559547:6463427:7294232</guid><description><![CDATA[<p></p>
]]></description><wfw:commentRss>http://blog.twitterfall.com/blog/rss-comments-entry-7294232.xml</wfw:commentRss></item><item><title>See who's replying - right now.</title><category>Uncategorized</category><dc:creator>Twitterfall</dc:creator><pubDate>Mon, 24 Aug 2009 14:58:00 +0000</pubDate><link>http://blog.twitterfall.com/blog/2009/8/24/see-whos-replying-right-now.html</link><guid isPermaLink="false">559547:6463427:7294233</guid><description><![CDATA[<p></p>]]></description><wfw:commentRss>http://blog.twitterfall.com/blog/rss-comments-entry-7294233.xml</wfw:commentRss></item></channel></rss>