<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description></description><title>Birdfeed</title><generator>Tumblr (3.0; @birdfeed)</generator><link>http://birdfeed.tumblr.com/</link><item><title>Congrats to our friends at Twitter on moving into their new...</title><description>&lt;img src="http://20.media.tumblr.com/tumblr_ktew3wOHJO1qzxh8zo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;Congrats to our friends at Twitter on moving into their &lt;a href="http://www.flickr.com/photos/twoffice"&gt;new offices&lt;/a&gt;.  We totally covet the throw pillows that came with every employee’s new desk!

&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; The pillows were done by the folks at &lt;a href="http://throwboy.tumblr.com/post/252016863/twittertrip"&gt;Throwboy&lt;/a&gt;. Which reminds me that I’ve been meaning to order some Birdfeed pillows.&lt;/p&gt;</description><link>http://birdfeed.tumblr.com/post/250826070</link><guid>http://birdfeed.tumblr.com/post/250826070</guid><pubDate>Fri, 20 Nov 2009 09:26:00 -0500</pubDate></item><item><title>Birdfeed 1.2</title><description>&lt;p&gt;Birdfeed 1.2 was just approved for sale, which means it should be showing up on the App Store and as an update on your iPhone within a few hours.  I’m very proud of this release, since it contains a few features that have long been at the top of my Twitter client most wanted list, and one that I hope will play a small part in an exciting new direction for Twitter.  Because &lt;a href="http://mrgan.tumblr.com/"&gt;Neven&lt;/a&gt; and I spent a lot of time agonizing over many of the details of this release and trying to make sure we got things right, I wanted to do an in-depth post explaining the new features and some of the thinking that went into their design.  Here’s what’s new:&lt;/p&gt;

&lt;h2&gt;Geolocation&lt;/h2&gt;

&lt;p&gt;Months ago, when the @&lt;a href="http://twitter.com/twitterapi"&gt;twitterapi&lt;/a&gt; Twitter account solicited developers’ opinions on which new features they’d like to see in the API, my response was simply “per-tweet geolocation.”  As a resident of a dense urban area and frequent traveler, I’ve always been intrigued by the opportunities presented by location-enhanced tweeting (see the Times’ &lt;a href="http://www.nytimes.com/2009/11/09/business/09link.html"&gt;recent article&lt;/a&gt; on the subject for a good overview), but disappointed and somewhat annoyed by the lame approximation of it that iPhone clients have foisted on us thus far.  The Twitter profile location field, which most clients currently use as a repository for geo information, is, in my mind, intended to be a permanent, human readable description, not a repository for ever-changing metadata.  The plague of ugly floating point numbers on Twitter profile pages is a poor replacement for first class Twitter geo support I’ve always dreamed of.&lt;/p&gt;

&lt;p&gt;So, naturally, when Twitter announced it was working on a geolocation API, Birdfeed was quick to jump on the bandwagon.&lt;/p&gt;

&lt;p&gt;The goals Neven and I had in designing the Birdfeed geo experience were:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Make sure the user has complete control over location posting on a tweet-by-tweet basis, and make sure it always clear when a location is being posted and when it isn’t.&lt;/li&gt;
&lt;li&gt;Make sure the geo posting feature isn’t annoying to people who don’t care about it, or to people who only use it occasionally (which can be very difficult to do in a constrained space like the posting interface).&lt;/li&gt;
&lt;li&gt;Avoid “&lt;a href="http://www.mcwetboy.net/maproom/2006/04/schuyler_looks.php"&gt;red dot fever&lt;/a&gt;” by emphasizing context-rich, human readable place names over geographic metadata and pins on maps.
&lt;/li&gt;
&lt;li&gt;Accomplish all of the above without compromising aesthetics.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;One early option we considered was the &lt;a href="http://apiwiki.twitter.com/f/Geotagging+Toggle+UX.png"&gt;sticky on/off switch&lt;/a&gt; Twitter proposed for geo clients on their API wiki.  We found this approach had two problems, though.  First, we didn’t like it aesthetically.  The standard iPhone switch control is huge and attention-grabbing, and we felt it immediately assumed an importance in the cramped posting interface that would distract infrequent users.  Second, in keeping with our goal of emphasizing place names and making it very clear to the user what location was being posted, we wanted the UI to include a reverse geocoded place name (say, “Metropolitan Avenue, Brooklyn, New York”) for the current location.  We felt that this text paired with an on/off switch felt a bit odd.&lt;/p&gt;

&lt;p&gt;Instead, we thought more in the direction of something like a Mail “subject:” line and implemented an unobtrusive location field at the top of the posting UI.  In Birdfeed’s settings, there are three options for location posting: “off,” “manual,” or “automatic.”  If location posting is set to “off,” the location field doesn’t even appear in the posting interface.   If it’s set to “manual,” it appears, but the user has to tap to add a location to the tweet.  If it’s set to “automatic,” the location field appears and automatically starts determining the location when the posting interface opens.  In both the “manual” and “automatic” cases, the user can remove a tweet’s set location by tapping the “X” button on the right side of the field.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://birdfeedapp.com/snaps/1.2/posting-location.png" width="320" height="480" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;We maintain our emphasis on place names in the tweet detail view.  When viewing a tweet with an attached location, the user sees an extra line with a reverse geocoded place name in the metadata below the tweet text.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://birdfeedapp.com/snaps/1.2/tweet-detail-geo-rsarver.png" width="320" height="480" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Tapping the place name takes the user to a view that shows the tweet’s location on a map.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://birdfeedapp.com/snaps/1.2/tweet-map-view.png" width="320" height="480" alt=""/&gt;&lt;/p&gt;


&lt;p&gt;This is, of course, only the beginning of what could be done with geolocation.  I have a lot of ideas about other ways Birdfeed could be made location aware in the future, and I suspect a lot of third parties will have interesting ideas for it as well.&lt;/p&gt;


&lt;h2&gt;In-App, Per-Account Settings&lt;/h2&gt;

&lt;p&gt;There has been a lot of &lt;a href="http://bjango.com/articles/settingsapp/"&gt;discussion&lt;/a&gt; lately in iPhone circles about whether the Settings app, Apple’s prescribed repository for application preferences, makes sense for third party developers.  While for awhile it seemed that devs were going to stick to their guns with the Settings app, and users were going to get accustomed to looking for application preferences there, recently the tide has turned very much in favor of in-app settings.&lt;/p&gt;

&lt;p&gt;I had been planning to adopt in-app settings within Birdfeed for awhile, for three reasons:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The aforementioned usability advantages.&lt;/li&gt;
&lt;li&gt;I wanted to be able to offer settings that require somewhat complex logic (for example: account creation for third party services).  &lt;/li&gt;
&lt;li&gt;I wanted to be able to offer per-account settings, allowing users to, say, have a different photo service for every account.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Birdfeed’s in-app settings are accessed by tapping the blue disclosure button on each row in the accounts list.  From each account’s settings view you can change the following settings:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Location Posting Mode&lt;/li&gt;
&lt;li&gt;Image Sharing Service&lt;/li&gt;
&lt;li&gt;Image Quality&lt;/li&gt;
&lt;li&gt;URL Shortening Service&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://birdfeedapp.com/snaps/1.2/account-settings.png" width="320" height="480" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;The in-app settings also introduce a “Clear Cache” button, which can be used to delete the local tweet database for each account.&lt;/p&gt;

&lt;p&gt;The rest of Birdfeed’s settings (things like “Maximum Tweet Load” and “Display Name”) are still in the Birdfeed section of the settings app.  I may eventually migrate those into the app as well—they just weren’t a priority for this release since I didn’t think they’d be the kind of thing people would want to have to set up on a per-account basis.&lt;/p&gt;

&lt;h2&gt;Flickr&lt;/h2&gt;

&lt;p&gt;One of the features I’ve always wanted in a Twitter client is Flickr support.  In my opinion, an ecosystem of third party, Twitter-specific image sharing services thrives at least in large part because their authentication scheme (simply using users’ existing Twitter credentials) is easier for third party developers to implement than Flickr’s somewhat involved (but arguably superior), OAuth-like mechanism.  I was a Flickr user long before I was a Twitter user, and in a lot of ways using anything other than Flickr for my image sharing has always bothered me.&lt;/p&gt;

&lt;p&gt;So, once I took care of most of the basics in Birdfeed, I started work on Flickr support.&lt;/p&gt;

&lt;p&gt;Of course adding Flickr support isn’t like simply bolting on “yet another Twitter image sharing service.”  In designing the Birdfeed Flickr user experience, I took into account a few unique factors:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unlike TwitPic or yFrog accounts, Flickr accounts aren’t implicitly tied to Twitter accounts.  It’s possible that a user of multiple Twitter accounts would want to use a particular Flickr account for posting images from all of their Twitter accounts, but equally possible they wouldn’t.  It seems likely that a lot of people would want to, say, keep photos taken for their business account out of their personal Flickr photos (or vice-versa).  However, it would be nice if someone who did want to use a single Flickr account for everything had the option to.&lt;/li&gt;
&lt;li&gt;I’ve often found OAuth-like authentication experiences confusing in iPhone apps—mainly, I think, because they’re not sufficiently explained, it’s often unclear when they’ve worked and what they’ve done, and they disrupt the user’s context.&lt;/li&gt;
&lt;li&gt;Users of Flickr are slightly more “precious” about their photos, and are more likely to care about image aesthetics and metadata.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;With the first factor in mind, I implemented Birdfeed’s in-app setting such that a Flickr account that is added for any Twitter account can be set as the image sharing service for any other Twitter account.  This allows an unlimited number of Flickr accounts to be associated with an unlimited number of Twitter accounts.  This way users can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use the same Flickr account for every Twitter account.&lt;/li&gt;
&lt;li&gt;Use a different Flickr account for every Twitter account.&lt;/li&gt;
&lt;li&gt;Use Flickr for some Twitter accounts and yFrog, TwitPic, or Posterous for others.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To add a Flickr account in Birdfeed the user navigates to an account’s image sharing setting, and chooses “Add Account” and then “Flickr.”  She is then presented with a dialog warning that Birdfeed must exit and open Safari to start the Flickr authentication process.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://birdfeedapp.com/snaps/1.2/flickr-safari-warning.png" width="320" height="480" alt=""/&gt;&lt;/p&gt;

&lt;p&gt;Some might wonder why Birdfeed doesn’t just open an in-app web view instead of exiting and sending the user to Safari.  Well, as it turns out, OAuth advocates &lt;a href="http://www.flickr.com/photos/simon/2752665067/"&gt;consider it bad practice&lt;/a&gt; to have the web authentication part of the process happen within an embedded browser.  The concern is that this approach gives the user no assurance that they’re actually interacting with the trusted web service since a phishing app developer could be the faking the web authentication UI.&lt;/p&gt;

&lt;p&gt;Assuming the user agrees to be sent to Safari, he is then asked by Flickr to approve Birdfeed’s use of his Flickr account, and finally is redirected back to Birdfeed via an “x-birdfeed://” URL.  For 1.2, I implemented an extension to the &lt;a href="http://birdfeed.tumblr.com/post/172994970/url-scheme"&gt;Birdfeed URL scheme&lt;/a&gt; that takes the user back to the account settings screen, where the authentication process is completed and the user can actually see the image sharing setting change to “Flickr: username.”  This latter detail was important to me, since, as I said, I think iPhone apps that implement OAuth can often be a bit vague about what, if anything, happened.&lt;/p&gt;

&lt;p&gt;Once a Flickr account is authorized, it can be used as a replacement for the usual Twitter image sharing services thanks to Flickr’s “flic.kr” short URLs.  There is only one difference in the experience: for Flickr (and, incidentally, Posterous) uploads, Birdfeed now presents a photo metadata sheet that allows the user to specify a title, description, and tags for a photo before it is uploaded.  As I said, I believe Flickr users think of their photos as a bit less disposable than users of traditional Twitter image sharing services, and therefore I suspect they care more about controlling the associated metadata.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://birdfeedapp.com/snaps/1.2/photo-posting-sheet.png" width="320" height="480" alt=""/&gt;&lt;/p&gt;

&lt;h2&gt;“Mark as Read” Improvements&lt;/h2&gt;

&lt;p&gt;While I’ve always been pleased with how Birdfeed handles mention/DM notifications and unread counts, I recognize it has its drawbacks. &lt;/p&gt;

&lt;p&gt;First, there’s the problem of mentions by people you follow.  If you’ve already seen someone’s mention of you in your timeline, it’s a little annoying that you have to go all the way to the Mentions view to get rid of that pesky little “1” in the back button.  Before Birdfeed launched, it had a setting that specified it should only notify you of new mentions from people you don’t follow.  Unfortunately we had to remove this setting at the last minute because, after a long debate over a bug I filed, the Twitter API folks finally decided they could not improve the reliability of the “following” information I was using to implement that feature.&lt;/p&gt;

&lt;p&gt;I may eventually put this setting back in (it’s still implemented, just not accessible), but until then, I’ve put in a small fix designed to make the problem less annoying: when the user taps into the detail view for a mention tweet, it will automatically be marked as “read,” and the unread mention count in the back button will be decremented.&lt;/p&gt;

&lt;p&gt;The other unread count problem that’s always bothered me a bit is the inability to mark all DMs as read in one tap.  Very often the user will have seen all of the DMs in question on their desktop client or the web, so marking them all as read individually seems tedious.  The simple solution to this problem is, of course, a “Mark all Read” button, and now Birdfeed’s DM inbox has a toolbar with just such a button.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://birdfeedapp.com/snaps/1.2/dm-inbox-toolbar.png" width="320" height="480" alt=""/&gt;&lt;/p&gt;

&lt;h2&gt;Other Assorted Improvements&lt;/h2&gt;

&lt;p&gt;As with all releases, Birdfeed contains many other small improvements and bug fixes, in addition to these major tentpole features.  The most interesting of these is probably the addition of two new third-party services, &lt;a href="http://tweeteorites.com"&gt;Tweeteorites&lt;/a&gt; and &lt;a href="http://favstar.fm"&gt;Favstar.fm&lt;/a&gt;, to Birdfeed’s user profile view.&lt;/p&gt;

&lt;p&gt;Hopefully that is a helpful overview of what’s new in Birdfeed 1.2, as well as a bit of a behind the scenes look at the release.  If nothing else, I hope it serves to illustrate that nothing in Birdfeed is arbitrary, and that, as the long suffering Neven can vouch, pretty much everything that goes into the app undergoes an almost excruciating amount of scrutiny.  That, of course, doesn’t mean we get everything right, so if you have any feedback, drop us a line!&lt;/p&gt;</description><link>http://birdfeed.tumblr.com/post/249935921</link><guid>http://birdfeed.tumblr.com/post/249935921</guid><pubDate>Thu, 19 Nov 2009 15:20:00 -0500</pubDate></item><item><title>onethinline:


But much of the joy of using Birdfeed is its use of a design principle called...</title><description>&lt;p&gt;&lt;a href="http://onethinline.tumblr.com/post/201194407/tweetie-aint-the-only-bird-singin-pretty-or-why"&gt;onethinline&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;But much of the joy of using Birdfeed is its use of a design principle called progressive disclosure, an elusive but powerful property whereby an application presents only what is needed as it’s needed, gracefully exposing more features and complexity only when the user seeks them out. In other words, the power is there, but it sticks to doing its job, not getting in your way.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This post by &lt;a href="http://www.onethinline.com/"&gt;David Adams&lt;/a&gt; is one of my favorite reviews of Birdfeed ever.  As I said in my &lt;a href="http://birdfeed.tumblr.com/post/199459611/merlin-on-birdfeed"&gt;reblog&lt;/a&gt; of Merlin Mann’s kind words, it absolutely makes my day when people appreciate stuff like this.&lt;/p&gt;</description><link>http://birdfeed.tumblr.com/post/205115535</link><guid>http://birdfeed.tumblr.com/post/205115535</guid><pubDate>Mon, 05 Oct 2009 11:29:31 -0400</pubDate></item><item><title>merlin:


For a lesson in keeping an app powerful but super-easy (and Mac-like) to use, look at...</title><description>&lt;p&gt;&lt;a href="http://www.kungfugrippe.com/post/199148868/adobe-bricks"&gt;merlin&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;For a lesson in keeping an app powerful but super-easy (and Mac-like) to use, look at &lt;a href="http://birdfeedapp.com/"&gt;Birdfeed&lt;/a&gt;, Buzz and Neven’s Twitter app for iPhone. I mean &lt;strong&gt;really&lt;/strong&gt; look at Birdfeed. If you weren’t the type to fiddle around, looking for power user bits, you might never realize how much you can do with this easy-to-use app. And if you’re not that type, you probably &lt;strong&gt;never need to&lt;/strong&gt;, right? So they built it that way. Got it? Exactly. Sublime.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In the software business, it’s difficult to market based on subtleties like design, even though it’s what makes software great. People tend to buy apps, particularly on the App Store, based on kitchen sink feature lists and price, not based on user experience. Even worse, in my experience, many users assume that an app whose design maintains simplicity by emphasizing the 80% case at the slight expense of the 20% case actually does less or is somehow less “serious,” even when it has the same fundamental feature set.  So it’s always heartening when someone like Merlin recognizes the substantial effort we put into worrying about how Birdfeed feels, not just what it does, and how hard we worked to balance features and simplicity.  Thanks for the kind words, Merlin!&lt;/p&gt;</description><link>http://birdfeed.tumblr.com/post/199459611</link><guid>http://birdfeed.tumblr.com/post/199459611</guid><pubDate>Mon, 28 Sep 2009 16:54:36 -0400</pubDate></item><item><title>Flickr Photo Saved Search

Pro tip alert!  Here Friend of...</title><description>&lt;img src="http://5.media.tumblr.com/tumblr_kp3yjdk7dT1qzxh8zo1_400.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;strong&gt;Flickr Photo Saved Search&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Pro tip alert!  Here Friend of Birdfeed &lt;a href="http://laughingmeme.org/"&gt;Kellan&lt;/a&gt; demonstrates a clever use of Birdfeed’s saved searches, combined with its nearby filter, to view nearby Flickr photos that have been posted to Twitter.  Brilliant!&lt;/p&gt;</description><link>http://birdfeed.tumblr.com/post/174221449</link><guid>http://birdfeed.tumblr.com/post/174221449</guid><pubDate>Fri, 28 Aug 2009 18:30:00 -0400</pubDate></item><item><title>Birdfeed 1.1 Change Log</title><description>&lt;p&gt;As I &lt;a href="http://twitter.com/birdfeedapp/status/3564534419"&gt;indicated&lt;/a&gt; on Twitter, Birdfeed 1.1 was primarily intended as a bug fix release.  In time honored Apple fashion, I worked very hard in the month after Birdfeed’s release to smooth out the rough edges every software developer has to accept to ship a 1.0.  Consequently, 1.1 is heavy on Snow Leopard-style “refinements” and light on out-and-out marquee features.  Still, I think it sports some very nice improvements, and, more importantly, it lays a strong foundation for some more ambitious plans I’ve already been working on for 1.2.&lt;/p&gt;

&lt;p&gt;Here’s what’s new:&lt;/p&gt;

&lt;h3&gt;Improvements&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Added support for the iPhone OS 3.0 in-app Mail sheet when forwarding a tweet or a link (the Mail app will still open if you are still using 2.2).&lt;/li&gt;
&lt;li&gt;Implemented a &lt;a href="http://birdfeed.tumblr.com/post/172994970/url-scheme"&gt;URL scheme&lt;/a&gt; and posting &lt;a href="http://birdfeedapp.com"&gt;bookmarklet&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Added support for nearby searches with no search term.&lt;/li&gt;
&lt;li&gt;Added a refresh button in the search view, and implemented “scroll to first new tweet” behavior for search refreshes.&lt;/li&gt;
&lt;li&gt;Added support for the Bit.ly URL shortening service.&lt;/li&gt;
&lt;li&gt;Added Posterous as a photo upload service.&lt;/li&gt;
&lt;li&gt;Addressed compatibility issues with the upcoming iPhone 3.1 OS.&lt;/li&gt;
&lt;li&gt;Slightly increased tweet font size.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Bug Fixes&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Overhauled the multiple account system to completely address the &lt;a href="http://birdfeed.tumblr.com/post/132900790/account-amnesia"&gt;Account Amnesia problem&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Overhauled the posting interface code to address a number of problems related to low memory conditions (existing post text being overwritten after returning from the camera interface, for example).&lt;/li&gt;
&lt;li&gt;Fixed bug that caused a zero follower count to be displayed for users with large followings.&lt;/li&gt;
&lt;li&gt;Made sure mentions count doesn’t update if you’re in the Mentions view.&lt;/li&gt;
&lt;li&gt;Compensated for a Twitter API bug that caused fewer than the requested number of tweets to be downloaded, resulting in a gap between the new tweets and the older, cached tweets.&lt;/li&gt;
&lt;li&gt;Addressed problems with using browser URLs for Instapaper or URL shortening before the page finishes loading.&lt;/li&gt;
&lt;li&gt;Worked on memory efficiency and performance throughout the app.&lt;/li&gt;
&lt;li&gt;Fixed a number of crashes that could happen as a result of invalid search queries.&lt;/li&gt;
&lt;/ul&gt;</description><link>http://birdfeed.tumblr.com/post/174216921</link><guid>http://birdfeed.tumblr.com/post/174216921</guid><pubDate>Fri, 28 Aug 2009 18:23:00 -0400</pubDate></item><item><title>The Birdfeed URL Scheme</title><description>&lt;p&gt;Birdfeed 1.1 was approved by Apple yesterday, which means a tour of what’s new is in order.  First off, I’d like to talk a bit about what is, to me, one of the most interesting features of 1.1: the new &lt;code&gt;x-birdfeed://&lt;/code&gt; URL scheme.&lt;/p&gt;

&lt;p&gt;For most users, the URL scheme will be of interest primarily because of two other features it makes possible: a &lt;a href="http://birdfeedapp.com/bookmarklet"&gt;bookmarklet&lt;/a&gt; for posting shortened links from Safari using Birdfeed, and integration between Birdfeed and third-party push notification apps like &lt;a href="http://boxcar.io/"&gt;Boxcar&lt;/a&gt; and &lt;a href="http://www.polarbearfarm.com/tweetpush/"&gt;Tweet Push&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;More technically minded users may be interested to know, however, that Birdfeed’s URL scheme goes far beyond what most similar apps offer, and could, in some ways, be thought of as an interapplication API for the app.  Here are some examples of things it can do (full documentation forthcoming):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open in Main Timeline:&lt;br/&gt;&lt;code&gt;x-birdfeed://timeline&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Open in Mentions:&lt;br/&gt;&lt;code&gt;x-birdfeed://timeline?view=mentions&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Open in Direct Messages for a specific account:&lt;br/&gt;&lt;code&gt;x-birdfeed://messages?account=buzz&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Open profile by username:&lt;br/&gt;&lt;code&gt;x-birdfeed://user?screen_name=buzz&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Open tweet by ID:&lt;br/&gt;&lt;code&gt;x-birdfeed://status?id=2814526203&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Do a search:&lt;br/&gt;&lt;code&gt;x-birdfeed://search?query=buzz%20andersen&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Do a post with URL from a specific account:&lt;br/&gt;&lt;code&gt;x-birdfeed://post?text=Birdfeed%20&amp;url=http%3A%2F%2Fbirdfeedapp.com&amp;account=buzz&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Some of the applications of this are obvious: for example, a third-party Twitter push app could use the URL scheme to open Birdfeed in either Messages or Mentions depending on the kind of update.  I suspect that there are lots of other interesting uses for it in third party apps and bookmarklets, but I’ll leave that as an exercise to the reader.&lt;/p&gt;</description><link>http://birdfeed.tumblr.com/post/172994970</link><guid>http://birdfeed.tumblr.com/post/172994970</guid><pubDate>Thu, 27 Aug 2009 10:17:00 -0400</pubDate><category>birdfeed</category><category>twitter</category><category>iphone</category></item><item><title>Excited to learn this morning that the Birdfeed app icon is...</title><description>&lt;img src="http://6.media.tumblr.com/T3ztMqoIOqq65kvuWlMhwRYko1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Excited to learn this morning that the Birdfeed app icon is featured prominently on the phone screen in a new &lt;a href="http://www.apple.com/iphone/gallery/ads/#share-large"&gt;iPhone TV ad&lt;/a&gt; (and right next to another one of our favorite apps, &lt;a href="http://enjoymentland.com/locavore/"&gt;Locavore&lt;/a&gt;, no less)!  Thanks again, Apple! (via &lt;a href="http://www.sophiestication.com/blog/"&gt;Sophie Teutschler&lt;/a&gt; and &lt;a href="http://www.dasgenie.com/"&gt;Dominik Wagner&lt;/a&gt;)&lt;/p&gt;</description><link>http://birdfeed.tumblr.com/post/155614655</link><guid>http://birdfeed.tumblr.com/post/155614655</guid><pubDate>Tue, 04 Aug 2009 08:46:00 -0400</pubDate></item><item><title>Birdfeed Bug: Restores from Backup</title><description>&lt;p&gt;It has recently come to our attention that users are seeing crashes after installing Birdfeed on a new phone using an iTunes backup from an old phone.  For users experiencing this problem, Birdfeed will start up at the Accounts screen and crash when the user taps an account to log into it.&lt;/p&gt;

&lt;p&gt;This problem is rooted in a quirk of the iPhone Keychain we were, sadly, unaware of: a backed-up keychain can only be restored to the iPhone or iPod touch on which it was created (as explained in this Apple &lt;a href="http://support.apple.com/kb/HT1766"&gt;Knowledge Base article&lt;/a&gt;).  Therefore, when a backup of Birdfeed is restored to a new phone, the account list is restored but the accompanying credentials from the Keychain are not.  Unfortunately, Birdfeed doesn’t anticipate this situation as well as it should, and the result is this crash.&lt;/p&gt;

&lt;p&gt;Fortunately, there’s an easy workaround: simply tap the “Edit” button in the accounts view and then tap the red circular button next to the account name to delete the account.  Then just create re-create the account.&lt;/p&gt;

&lt;p&gt;We are currently doing a careful examination and redesign of our accounts code as part of the next Birdfeed update, and this problem (and many others) will be addressed as part of the effort.  As always, apologies for the inconvenience.&lt;/p&gt;</description><link>http://birdfeed.tumblr.com/post/145368881</link><guid>http://birdfeed.tumblr.com/post/145368881</guid><pubDate>Mon, 20 Jul 2009 10:29:00 -0400</pubDate></item><item><title>Account Amnesia Redux</title><description>&lt;p&gt;Unfortunately, it appears that for some subset of its victims, the dreaded “&lt;a href="http://birdfeed.tumblr.com/post/132900790/account-amnesia"&gt;Account Amnesia&lt;/a&gt;” problem is not entirely solved by Birdfeed 1.0.1.  Though we tested our fix on a variety of different permutations of the problem, it appears we may have missed a persistent crash that can occur if your Birdfeed account credentials in the iPhone Keychain are already in a particular inconsistent state.  This problem should only affect people with mixed case usernames who are upgrading from Birdfeed 1.0.&lt;/p&gt;

&lt;p&gt;Fortunately, there’s a much easier workaround for this problem than for the old one: simply delete your existing account in Birdfeed, and then log in again using only lowercase letters in your name.  Once logged in, your account name will still show up in Birdfeed the way it appears on Twitter’s site.&lt;/p&gt;

&lt;p&gt;Needless to say, we will be taking a long, careful look at the account management code for the next release.  Apologies once again for all of the confusion this issue has caused.&lt;/p&gt;</description><link>http://birdfeed.tumblr.com/post/137766944</link><guid>http://birdfeed.tumblr.com/post/137766944</guid><pubDate>Wed, 08 Jul 2009 10:42:00 -0400</pubDate></item><item><title>bijan:

I’ve got a ton of iPhone apps but I like to keep the...</title><description>&lt;img src="http://8.media.tumblr.com/m9xs08q3Hpn02vnv6RTd0SHGo1_400.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://bijansabet.com/post/137468971/ive-got-a-ton-of-iphone-apps-but-i-like-to-keep"&gt;bijan&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;I’ve got a ton of iPhone apps but I like to keep the first page clean with only the essentials.&lt;/blockquote&gt;

&lt;p&gt;We’re honored that you consider Birdfeed one of your essentials, Bijan!  We’re also fans of keeping the bottom row of the springboard empty for easy swiping, incidentally.&lt;/p&gt;</description><link>http://birdfeed.tumblr.com/post/137490061</link><guid>http://birdfeed.tumblr.com/post/137490061</guid><pubDate>Tue, 07 Jul 2009 23:34:00 -0400</pubDate></item><item><title>Birdfeed 1.0.1 Approved</title><description>&lt;p&gt;We weren’t sure what to expect for our first update, but once again, the App Store approval process has moved along efficiently and uneventfully in approving Birdfeed 1.0.1.  Thanks Apple!&lt;/p&gt;

&lt;p&gt;This update is very small, and has only three changes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A fix for the dreaded 1.0 “&lt;a href="http://birdfeed.tumblr.com/post/132900790/account-amnesia"&gt;Account Amnesia&lt;/a&gt;” issue.&lt;/li&gt;
&lt;li&gt;A fix for the missing “@” before the username on a retweet.&lt;/li&gt;
&lt;li&gt;The addition of the “Via @username:”-style as an option for retweeting.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;1.0.1 should appear in your App Store updates imminently.&lt;/p&gt;</description><link>http://birdfeed.tumblr.com/post/137398699</link><guid>http://birdfeed.tumblr.com/post/137398699</guid><pubDate>Tue, 07 Jul 2009 20:36:00 -0400</pubDate></item><item><title>Birdfeed 1.0.1 Submitted</title><description>&lt;p&gt;Just a quick note to mention that we submitted Birdfeed 1.0.1 to Apple last night.  This release is quite minimal, and is mainly focused on solving the dreaded “&lt;a href="http://birdfeed.tumblr.com/post/132900790/account-amnesia"&gt;Account Amnesia&lt;/a&gt;” problem.  One of the most frustrating things about iPhone development is, of course, that, thanks to Apple’s approval process, we have no way of knowing when this fix will see the light of day.  While we’re all waiting, though, you can rest assured that we will be pushing hard to address the other issues you all have been reporting in a 1.0.2 release.  Thank you for your patience and continued support!&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Update:&lt;/b&gt; &lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=320494156&amp;mt=8"&gt;Birdfeed 1.0.1 is out&lt;/a&gt;, and it fixes the Account Amnesia problem.&lt;/p&gt;</description><link>http://birdfeed.tumblr.com/post/134217771</link><guid>http://birdfeed.tumblr.com/post/134217771</guid><pubDate>Thu, 02 Jul 2009 12:10:00 -0400</pubDate></item><item><title>Birdfeed Icon Sketch by Neven Mrgan.

Created using the...</title><description>&lt;img src="http://7.media.tumblr.com/T3ztMqoIOpc7hpxsyvlK7Qs3o1_400.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;strong&gt;Birdfeed Icon Sketch by Neven Mrgan.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Created using the excellent &lt;a href="http://www.sketchesapp.com/"&gt;Sketches&lt;/a&gt; iPhone app.&lt;/p&gt;</description><link>http://birdfeed.tumblr.com/post/132909968</link><guid>http://birdfeed.tumblr.com/post/132909968</guid><pubDate>Tue, 30 Jun 2009 09:35:21 -0400</pubDate></item><item><title>Birdfeed Bug: Account Amnesia</title><description>&lt;p&gt;As many people have pointed out by now, there is a bug in Birdfeed 1.0’s multiple accounts support.  If the username you specified when signing up for Twitter has uppercase letters in it (e.g. “BirdFeedUser”), Birdfeed will consistently forget that account and require you to login again on relaunch.  This is the result of a boneheaded coding error that unfortunately we didn’t catch pre-launch because, apparently, no one out of the 50 or so people in our beta has uppercase letters in their username.  D’oh.&lt;/p&gt;
&lt;p&gt;Unfortunately, the only workaround to this problem currently is to change your Twitter username to all lowercase.  To do so, go to the “Settings” link in the bar at the top of your Twitter account, then change the name listed in the “Username” field to all lowercase.  Once this is done, try logging into Birdfeed again and everything should be fine.&lt;/p&gt;
&lt;p&gt;&lt;a alt="View the image at QuickSnapper.com" href="http://www.quicksnapper.com/buzz/image/untitled-0000"&gt;&lt;img title="Hosted by QuickSnapper.com" src="http://www.quicksnapper.com/files/1862/16616740524A4A19C4C8DC7_m.png"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We sincerely apologize for our error and the resulting confusion.  We plan to have a 1.0.1 update that fixes this problem submitted to Apple very soon.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Update:&lt;/b&gt; If you still are having problems after following the above steps, you will need to delete Birdfeed off your phone, re-download it (which will be free if you already bought the app), and then log in with your lowercase username.  Once again, we realize how much this sucks.  Fortunately we already have a fix ready to submit.  Apologies, and many thanks for your patience.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Update 2:&lt;/b&gt; &lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=320494156&amp;mt=8"&gt;Birdfeed 1.0.1 is out&lt;/a&gt;, and it fixes the Account Amnesia problem. -Neven&lt;/p&gt;
&lt;p&gt;-Buzz&lt;/p&gt;</description><link>http://birdfeed.tumblr.com/post/132900790</link><guid>http://birdfeed.tumblr.com/post/132900790</guid><pubDate>Tue, 30 Jun 2009 09:14:00 -0400</pubDate></item><item><title>Tears For Fears: Head Over Heels

Now that System of Touch, the...</title><description>&lt;object width="400" height="336"&gt;&lt;param name="movie" value="http://www.youtube.com/v/EMBbJ_l0Tb4&amp;rel=0&amp;egm=0&amp;showinfo=0&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/EMBbJ_l0Tb4&amp;rel=0&amp;egm=0&amp;showinfo=0&amp;fs=1" type="application/x-shockwave-flash" width="400" height="336" allowFullScreen="true" wmode="transparent"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.youtube.com/watch?v=EMBbJ_l0Tb4"&gt;Tears For Fears: Head Over Heels&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now that System of Touch, the nom-de-app we used to release Birdfeed, is officially &lt;a href="http://www.crunchbase.com/company/system-of-touch"&gt;in the CrunchBase&lt;/a&gt;, I thought I’d post about the origins of this unusual phrase.  It actually comes from a line in one of my all-around favorite songs: “Head Over Heels” by Tears for Fears.  You may remember it from such films as “Donnie Darko,” where it’s used for a &lt;a href="http://www.youtube.com/watch?v=VWJPa0bvWnM"&gt;memorable high school montage&lt;/a&gt;.  The line in question is “You keep your distance with a system of touch/and gentle persuasion” and can be heard about 55 seconds into the above video.  I happened to be listening to the song one day while coding and suddenly realized it sounded like a reference to development for touch screen-based iPhone, so I registered the appropriate domain name and decided to run with it.&lt;/p&gt;

&lt;p&gt;-Buzz&lt;/p&gt;</description><link>http://birdfeed.tumblr.com/post/132716088</link><guid>http://birdfeed.tumblr.com/post/132716088</guid><pubDate>Tue, 30 Jun 2009 00:48:00 -0400</pubDate></item><item><title>Introducing Birdfeed</title><description>&lt;p&gt;It’s been a crazy 24 hours at Birdfeed HQ East (in Williamsburg, Brooklyn) and West (in Portland, Oregon).  Yesterday, when we least expected it, as we enjoyed our respective lazy Sundays, the gods of the App Store saw fit to bestow their seal of approval upon the fruit of our many months of labor.  Given the experiences of many iPhone devs, we were expecting a longer approval time.  But there it was, an email declaring Birdfeed “Approved for Sale.”&lt;/p&gt;

&lt;p&gt;I had intended to keep things quiet until &lt;a href="http://mrgan.tumblr.com/"&gt;Neven&lt;/a&gt;, Birdfeed’s designer, and I could finish the web site we had been working on.  But I had underestimated the unstoppable memetic power of Twitter.  Within the hour a few observant iPhone Twitter junkies had discovered its presence, and before long the Birdfeed marketing blitz had kicked off without us.&lt;/p&gt;

&lt;p&gt;It wasn’t exactly the ideal way to launch a product many months in the making, but it did have certain advantages: in particular, the curiosity surrounding the app, combined with the relative dearth of information about it, stoked a good deal of conversation.  After a late night of frenetic work, we finally managed to get a site up to provide the waiting public with screenshots and feature information, and interact with many early adopters directly via Twitter.  Now that the basic facts have been covered, though, I wanted to take a moment to answer a few of the more philosophical questions I knew we would be getting after launch.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“Why &lt;em&gt;another&lt;/em&gt; iPhone Twitter client?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;There’s no question that the market for iPhone Twitter clients is quite crowded.  However, I would argue that there is plenty of room for new contenders.&lt;/p&gt;

&lt;p&gt;One of the things that becomes apparent very quickly when you solicit feedback on a Twitter client is that there are many different ways of thinking about Twitter, and there are incredibly passionate advocates for all of them.  Twitter’s very simplicity gives it an ability few other social networks have: it can effectively become whatever its users want it to be.  For many, especially those of us who have been using Twitter since its early days, it’s primarily an ambient intimacy system we use to keep in touch with friends and family.  For others, it’s a broadcasting platform for punditry or humor.  For others still, it’s a forum for professional networking and business advancement.  The reason Twitter is so successful is that its “concept” is big enough to encompass all of these uses, and it’s not inconsistent or uncommon for people to even own and use multiple clients suited to various purposes.  I would argue that this isn’t a bad thing—it’s just a symptom of Twitter’s versatility and success, and the prodigious size of the market.&lt;/p&gt;

&lt;p&gt;Neven and I developed Birdfeed because we have our own strongly held opinions about what we want from a Twitter client, and they don’t exactly match anything else out there.  Some of this (the simple, friendly design; the embrace of iPhone-native user experience concepts; the focus on messaging and notifications) is hopefully apparent in 1.0.  Some of what we want to do will take some time.  We have a fairly ambitious road map, and hopefully the differentiation of our vision will only become more apparent over time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“How can you charge $4.99 for a Twitter app?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Artificially low App Store prices notwithstanding, developing a Twitter client for the iPhone is significantly more difficult than writing a desktop Twitter app for a variety of reasons.  The severe limitations of the device mean that you have to be concerned about resource usage and performance in a way you aren’t in other modern computing environments.  The slowness and inconsistent nature of the network connection means you have to be concerned with error conditions much more than on the desktop.  And the constraints of the small screen mean that you have to think far more creatively about UI design and make far tougher calls about user experience.&lt;/p&gt;

&lt;p&gt;Because of this, and because we put a lot of sweat into producing a polished, Apple-caliber application, we feel Birdfeed is worth $4.99.  We know times are tight and you might be reluctant to spend the money, but consider that Birdfeed is a highly functional app you’re likely to use far more frequently than many iPhone games that cost twice as much.  If you don’t agree, however, we understand and don’t begrudge you your opinion—there are plenty of other options out there.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“Why doesn’t Birdfeed have [feature]?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No software project is ever truly finished, and Birdfeed 1.0 represents only the very beginning of an ambitious road map.  As Steve Jobs himself once said, “&lt;a href="http://www.folklore.org/StoryView.py?story=Real_Artists_Ship.txt"&gt;Real artists ship&lt;/a&gt;,” and, in my experience, the single biggest thing that separates the shippers from the non-shippers is the ruthless ability to say “No, we’re not doing that for 1.0.”  It’s a tough call to make, especially in a hypercompetitive environment like the iPhone Twitter client market.  But without such strategic compromises, no one would ever actually ship software.&lt;/p&gt;
&lt;p&gt;All of that said, I believe Birdfeed actually represents a very strong 1.0 release feature-wise. Birdfeed has many  features our main competitors don’t have, and many of the common features people have been asking for are very much on the roadmap—some even partly implemented in the codebase and merely awaiting that extra bit of polish and thoughtfulness we try to give every feature in Birdfeed.  Keep your eye on us—this is only the beginning.&lt;/p&gt;

&lt;p&gt;-Buzz&lt;/p&gt;</description><link>http://birdfeed.tumblr.com/post/132482393</link><guid>http://birdfeed.tumblr.com/post/132482393</guid><pubDate>Mon, 29 Jun 2009 19:08:00 -0400</pubDate><category>birdfeed</category><category>iphone</category><category>twitter</category></item></channel></rss>
