Lately much has been made of Twitter’s patent application for the “pull-to-refresh” mechanism popularized by Loren Brichter’s Twitter client Tweetie (now Twitter for iPhone). While I’m no expert on patent law, I thought it might be worth pointing out that Neven Mrgan and I toyed around with the pull-to-refresh concept for our own (now defunct) Twitter client, Birdfeed, months before Tweetie released an implementation.
One of the vexing problems we were trying to solve at the time was how to fit a refresh button into the design given that we also wanted a back button and a new post button in nearly every view and we considered having more than two buttons in the navigation bar ungainly. We eventually settled on putting a thin refresh button at the top of the timeline, but not before Panic’s Cabel Sasser gave us the idea to repurpose the rubber banding properties of iOS scroll views as a refresh mechanism. Neven did a few mockups of the concept, including this one, the PSD of which is dated January 30, 2009 in my computer’s file system:
Ultimately, I decided to nix the pull-to-refresh idea and go with a straightforward button because I felt the whole thing was a bit too self-consciously clever and not discoverable enough (the above iteration of the design was actually an attempt to solve the discoverability problem, but I still never really warmed up to it). This, of course, seems silly now since we all know how well received the idea was, but it’s very easy to forget that at the time Loren and I were racing to build the perfect Twitter client, nobody really knew what an iOS Twitter client should look like. Someday I’d really love to write a more in-depth historical post on the Twitter client wars as an evolutionary design process and how it produced many of UI design tropes now considered standard for iOS social networking apps.
(Update: It’s been pointed out to me that this may not count as prior art since it was kept secret and not released to the public before Tweetie’s implementation. Oh well, worth a try!)