On March 31, 2011, Twitter removed the UIDickBar from their iPhone client version 3.3.3.
I try to analysis the problems underlying the UIDickBar, the design that Twitter recently used in their Twitter for iPhone.
Twitter is based on timeline, users have several different timelines on going asynchronously:
Twitter also has “Top Tweets” and “Trending Topics”, these are tweets and hash tags that users might/does not care about. However, Twitter gets money from clients to promote for them in Trending Topics’s promoted hash tags. They want users to know about these tweets and hash tags.
In what way? I think they tried before, for example:
But non of them work to increase the visibility of promoted hash tags. Because when users want to do a search in twitter, he/she won’t happen and like to know current hot topics. Only when users want to know more about hot topics, then those promoted hash tags get a chance to be seen by users.
Twitter is working really hard to address this issue, they want to increase the visibility rate of promote hash tags, and they comes out with this stupid idea: UIDickBar.
By using UIDickBar, they treat those trending hash tags as notifications, force people to receive them when browsing timeline. But turns out users feel annoying, why?
Just like I said previously, notification is a kind of interruption, it breaks the continuity.
Let’s take iOS for example, the original design of push/local notification is to let users to know something happened to the application that isn’t in running in the foreground. They are time-based events, interests that users should know right away regarding the states he/she is on.
And Twitter’s trending hash tags are not the time-based event. They do have the “trending” timing property, but they are not designed to notify user at specific time. They are just promoted items or popular items Twitter wants users to know. That’s the major different.
So, how could Twitter address these terrible user experiences?
They should give up UIDickBar completely, and start treating trending hash tags in totally different way. Here’s my suggestion, go back to where Tweetie (or Twitterrific) did before:
There’re several advantages for this solution:
By the time this article written, Twitter for iPhone 3.3.1 is out. They update dickbar default behavior to not overlap tweets in timeline. This is not helping anything. Unless they get rid of the dickbar completely, you will still feel annoying.
Problems underlying the UIDickBar are analyzed and concluded in here: Problems and the Solution for UIDickBar.
On March 31, 2011, Twitter removed the UIDickBar from their iPhone client version 3.3.3.
#dickbar, “Twitter’s mainstream consumer client experience,” now available for your iOS apps too.

This project got lots of attentions since this morning (thanks, @justin), and here are some great retweets:
And UIDickBar becomes the #1 trending repos within 24 hours, also the #1 featured repos on github.com.
Thanks again for all the warm welcome!
For those who want to create custom notification view, any forms of design similar to this are really bad idea, really, no kidding.
Because notification is a kind of interruption, it breaks the continuity. Unlike UIAlertView, UIDickBar uses disrupting way to interrupt information, and users feel confused when dealing with two different information flows at the same time. If you want to know more details about problems underlying the UIDickBar, read this.
Please think for your users before using it.
You simply init UIDickBar with title, badge and an action block:
UIDickBar *dickBar = [[UIDickBar alloc] initWithDickTitle:@"#DickBar" dickBadge:@"Stupid" actionBlock:^{
// Anything you want to do after UIDickBar tapped
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://digdog.tumblr.com"]];
}];
[dickBar showInView:self.view];
[dickBar release];
Then you call -showInView: to display UIDickBar that originates from the specified view.
UIDickBar is available on github.
UIDickBar is released under MIT License.
loading…