<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.11.5 (http://www.squarespace.com/) on Tue, 07 Sep 2010 11:08:10 GMT--><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rss="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:cc="http://web.resource.org/cc/"><rss:channel rdf:about="http://blog.twitterfall.com/blog/"><rss:title>Blog</rss:title><rss:link>http://blog.twitterfall.com/blog/</rss:link><rss:description></rss:description><dc:language>en-GB</dc:language><dc:date>2010-09-07T11:08:10Z</dc:date><admin:generatorAgent rdf:resource="http://www.squarespace.com/">Squarespace Site Server v5.11.5 (http://www.squarespace.com/)</admin:generatorAgent><rss:items><rdf:Seq><rdf:li rdf:resource="http://blog.twitterfall.com/blog/2010/8/26/bugs-fixes-updates-and-whats-to-come.html"/><rdf:li rdf:resource="http://blog.twitterfall.com/blog/2010/8/20/iphone-app-removal-from-sale.html"/><rdf:li rdf:resource="http://blog.twitterfall.com/blog/2010/7/18/minor-update-for-real-this-time.html"/><rdf:li rdf:resource="http://blog.twitterfall.com/blog/2010/6/9/spammy-services-and-twitterfall.html"/><rdf:li rdf:resource="http://blog.twitterfall.com/blog/2010/5/28/massive-twitterfall-for-iphone-update.html"/><rdf:li rdf:resource="http://blog.twitterfall.com/blog/2010/5/5/from-php-to-erlang.html"/><rdf:li rdf:resource="http://blog.twitterfall.com/blog/2010/4/23/new-blog-and-fixes.html"/><rdf:li rdf:resource="http://blog.twitterfall.com/blog/2010/4/9/embracing-html5.html"/><rdf:li rdf:resource="http://blog.twitterfall.com/blog/2010/3/20/twitterfall-settings-usage.html"/><rdf:li rdf:resource="http://blog.twitterfall.com/blog/2010/1/5/whats-new-on-twitterfall.html"/></rdf:Seq></rss:items></rss:channel><rss:item rdf:about="http://blog.twitterfall.com/blog/2010/8/26/bugs-fixes-updates-and-whats-to-come.html"><rss:title>Bugs fixes, Updates, and what's to come</rss:title><rss:link>http://blog.twitterfall.com/blog/2010/8/26/bugs-fixes-updates-and-whats-to-come.html</rss:link><dc:creator>Twitterfall</dc:creator><dc:date>2010-08-26T14:20:09Z</dc:date><dc:subject>Updates</dc:subject><content:encoded><![CDATA[<p>You have probably heard about the recent versions of TweetDeck and Echofon supporting the new 'Twitter User Streams' which allows them to show a much more realtime view of Twitter.</p>
<p>We'd love to do the same for our users, but Twitter are forbidding developers to use these new User Streams for web apps. However in their most recent update about it they quietly announced they are working on 'Site Streams' which will allow websites access to this same realtime functionality.</p>
<p><strong>We're really keen on implementing this.</strong>&nbsp;We're always been passionate about realtime, and you can be sure that as soon as Twitter make it available to us, we're going to start working on it for you as soon as possible. We've already had a play with Twitter User Streams (don't tell Twitter!) and they fit <em>really well</em>&nbsp;into the Twitterfall user interface. So the sooner they implement 'Site Streams', the better! We've also already started developing some of the infrastructure required to do this, even though Twitter haven't announced anything concrete. That's how keen we are!</p>
<p>Today we've released a few updates and bug fixes on Twitterfall:</p>
<ul>
<li>j.mp URLs are expanded too.</li>
<li>Twitterfall will remember if you are in presentation mode.</li>
<li>&lt;, &gt; and &amp; are properly unescaped.</li>
<li>IE shows the correct timestamp instead of 'NaN years ago'.</li>
<li>You can't have duplicate lists or searches anymore.</li>
<li>Fixed a bug where shortening URLs in tweets that already had shortened URLs would cause an error.</li>
<li>Shortening is.gd blacklisted URLs shows the proper error.</li>
<li>Support for Chinese in the Language option.</li>
</ul>
<p>Note that you may have seen some odd formatting of tweets where URLs or hashtags are only half-linked. This is a bug with Tweet Entities, which we need to report to Twitter. We're looking into a workaround.</p>
<p>Also, our early support of Tweet Entities has resulted in a UI bug; sometimes the UI will incorrectly think a Twitter username is a shortened link and try to unshorten it! We're working on that, too!</p>
<p>As always if you spot any bugs or errors, or want to give us some feedback, send us an email!</p>]]></content:encoded></rss:item><rss:item rdf:about="http://blog.twitterfall.com/blog/2010/8/20/iphone-app-removal-from-sale.html"><rss:title>iPhone app removal from sale</rss:title><rss:link>http://blog.twitterfall.com/blog/2010/8/20/iphone-app-removal-from-sale.html</rss:link><dc:creator>Twitterfall</dc:creator><dc:date>2010-08-20T11:47:34Z</dc:date><dc:subject>iPhone</dc:subject><content:encoded><![CDATA[<p>I have some bad news.</p>
<p>Our iPhone app was developed by a friend of ours, who unfortunately we don't have much contact with now. I have tried to get in touch repeatedly about implementing oAuth in the app (at the time the decision was made to get the app out as quickly as possible, without oAuth), but so far I haven't seen any progress.</p>
<p><strong>This means that on August 31st, the Twitterfall iPhone app will no longer work as expected.</strong></p>
<p><strong><span style="font-weight: normal;">This is because <a href="http://dev.twitter.com/pages/basic_auth_shutdown">Twitter are shutting down Basic Authentication access to their API</a>.</span></strong></p>
<p><strong><span style="font-weight: normal;">I am going to remove the app from sale, to avoid any new unsatisfied customers. I'm hoping that progress can be made very soon, and that we'll be able to bring the app back on sale in the near future.</span></strong></p>
<p><strong><span style="font-weight: normal;">I'm sorry to our existing users who will be unable to use the app, and I hope you can understand that as a small business (there are 2 of us) on the side of being students, there's not a lot we can do.</span></strong></p>
<p><strong><span style="font-weight: normal;">We're massive advocates of oAuth. We were among the first Twitter clients to <a href="http://blog.twitterfall.com/blog/2009/3/17/oauth-security-ie-bug-fixes.html">support oAuth</a>, and it's frustrating for us to take this action.</span></strong></p>]]></content:encoded></rss:item><rss:item rdf:about="http://blog.twitterfall.com/blog/2010/7/18/minor-update-for-real-this-time.html"><rss:title>Minor update (for real this time)</rss:title><rss:link>http://blog.twitterfall.com/blog/2010/7/18/minor-update-for-real-this-time.html</rss:link><dc:creator>Twitterfall</dc:creator><dc:date>2010-07-18T15:10:45Z</dc:date><dc:subject>Updates</dc:subject><content:encoded><![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>]]></content:encoded></rss:item><rss:item rdf:about="http://blog.twitterfall.com/blog/2010/6/9/spammy-services-and-twitterfall.html"><rss:title>Spammy services and Twitterfall</rss:title><rss:link>http://blog.twitterfall.com/blog/2010/6/9/spammy-services-and-twitterfall.html</rss:link><dc:creator>Twitterfall</dc:creator><dc:date>2010-06-09T20:11:50Z</dc:date><dc:subject>Updates</dc:subject><content:encoded><![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>]]></content:encoded></rss:item><rss:item rdf:about="http://blog.twitterfall.com/blog/2010/5/28/massive-twitterfall-for-iphone-update.html"><rss:title>Massive Twitterfall for iPhone update!</rss:title><rss:link>http://blog.twitterfall.com/blog/2010/5/28/massive-twitterfall-for-iphone-update.html</rss:link><dc:creator>Twitterfall</dc:creator><dc:date>2010-05-28T16:21:52Z</dc:date><dc:subject>iPhone</dc:subject><content:encoded><![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>
]]></content:encoded></rss:item><rss:item rdf:about="http://blog.twitterfall.com/blog/2010/5/5/from-php-to-erlang.html"><rss:title>From PHP to Erlang</rss:title><rss:link>http://blog.twitterfall.com/blog/2010/5/5/from-php-to-erlang.html</rss:link><dc:creator>Twitterfall</dc:creator><dc:date>2010-05-05T12:50:49Z</dc:date><dc:subject>Updates</dc:subject><content:encoded><![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>]]></content:encoded></rss:item><rss:item rdf:about="http://blog.twitterfall.com/blog/2010/4/23/new-blog-and-fixes.html"><rss:title>New blog and fixes</rss:title><rss:link>http://blog.twitterfall.com/blog/2010/4/23/new-blog-and-fixes.html</rss:link><dc:creator>Twitterfall</dc:creator><dc:date>2010-04-23T19:40:37Z</dc:date><dc:subject>Updates</dc:subject><content:encoded><![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>]]></content:encoded></rss:item><rss:item rdf:about="http://blog.twitterfall.com/blog/2010/4/9/embracing-html5.html"><rss:title>Embracing HTML5</rss:title><rss:link>http://blog.twitterfall.com/blog/2010/4/9/embracing-html5.html</rss:link><dc:creator>Twitterfall</dc:creator><dc:date>2010-04-09T21:26:00Z</dc:date><dc:subject>Updates</dc:subject><content:encoded><![CDATA[We’ve been busy at Twitterfall, and we’ve got some new features for you.]]></content:encoded></rss:item><rss:item rdf:about="http://blog.twitterfall.com/blog/2010/3/20/twitterfall-settings-usage.html"><rss:title>Twitterfall Settings Usage</rss:title><rss:link>http://blog.twitterfall.com/blog/2010/3/20/twitterfall-settings-usage.html</rss:link><dc:creator>Twitterfall</dc:creator><dc:date>2010-03-20T18:22:52Z</dc:date><dc:subject>Uncategorized</dc:subject><content:encoded><![CDATA[<p></p>
]]></content:encoded></rss:item><rss:item rdf:about="http://blog.twitterfall.com/blog/2010/1/5/whats-new-on-twitterfall.html"><rss:title>What's new on Twitterfall?</rss:title><rss:link>http://blog.twitterfall.com/blog/2010/1/5/whats-new-on-twitterfall.html</rss:link><dc:creator>Twitterfall</dc:creator><dc:date>2010-01-05T15:04:00Z</dc:date><dc:subject>Updates</dc:subject><content:encoded><![CDATA[<p></p>]]></content:encoded></rss:item></rdf:RDF>