Browsing articles from "December, 2010"

Tri-state buttons in Gowalla 3

By Rob Warner  //  Development, iOS  //  1 Comment

When Gowalla released version 3 of their iPhone client, they completely revamped the user interface. Although they switched from a rich olive green to a stony gray and downgraded the app’s icon:

Old Icon

New Icon

in general they improved the interface.

For those unfamiliar with Gowalla, it’s a social location app that allows you to publish where you are to your friends. When you arrive at a recognizable location, you “check in” and choose whether to publish this information to just Gowalla or to other services (Facebook, Twitter, Foursquare, and Tumblr). For each of these services, you can be in three states:

  1. I want to publish my check-in to this service.
  2. I don’t want to publish my check-in to this service, but I’m configured to do so if I want.
  3. I can’t check in to this service because I haven’t configured it in Gowalla.

The folks at Gowalla figured out how to represent these three states beautifully, compactly, and intuitively, while ALSO including the ability to configure any service that falls into state #3. When you go to check in, you see a screen like this:

See the row of buttons beside the label “Share:”? They represent, in order, the services for Twitter, Facebook, Foursquare, and Tumblr. The button for Twitter is both in color and shaded to look 3D. It looks both enabled and “on.” The button for Facebook is shaded to look 3D, but is not in color. It looks enabled, but “off.” The buttons for Foursquare and Tumblr aren’t in color OR appear 3D, but rather appear flat. They look disabled. When I first saw this, I instantly knew that my check-in would be shared with Twitter only, that I was configured for Facebook, and that I wasn’t configured for Foursquare or that “t” thing. I guessed that I could tap a “disabled” button to configure that service, and to experiment I tapped the “t” button and a screen appeared for configuring Tumblr. Exactly what I expected.

So here you have a way to represent three states that is beautiful, compact, and intuitive. It also offers the added benefit of being discoverable. Pure genius.

Not sure if someone else came up with this first, but I think this is the first time I’ve seen this.


Pro Core Data for iOS from Xcode 4 to Xcode 3

By Rob Warner  //  Development, iOS  //  14 Comments

Last summer, Apple released a developer preview of Xcode 4 under NDA. When Michael Privat and I began writing Pro Core Data for iOS in August, we figured Apple would release the final version of Xcode 4 and lift the NDA by the time we completed the book. After all, it had taken about a year to write The Definitive Guide to SWT and JFace. We used Xcode 4 for screen shots, instructions, guides, examples — in short, we based the book on Xcode 4.

Well, we didn’t take a year to write the book; we took nine weeks. Of course, various editing tasks ran past the initial writing, but we finished those tasks, if I recall correctly, in November. And then we waited.

And waited.

And waited a little longer, and then we and Apress realized that Xcode 4 probably wasn’t coming out for awhile, so we discussed and decided to backport the book to Xcode 3. I thought the effort would be trivial — 20–30 minutes a chapter to redo screen shots and a bit of narrative — but it consumed more time than I thought. After two weeks, though, we had made all the changes necessary, and the reviewers and editors vetted it all, and publication day is near! Amazon claims January 31, 2011. We’ll have a few more review tasks between now and then, but we’re happy that the book will soon hit shelves and mailboxes. Look forward to it!


What Coke and Pepsi Can Teach Us About User Interfaces

By Rob Warner  //  Development  //  2 Comments

My oldest child spent much of his life with a loyalty to Coca-Cola matched only by Lassie’s loyalty to Timmy, and would go thirsty before allowing any product from Pepsi-Cola to wet his gullet. He freely drank Coke, Diet Coke, Sprite, Powerade, or Dasani, but never Pepsi, Sierra Mist, Aqua Splash, or anything else from those heathen infidels. Trips to Taco Bell required a swing through the McDonald’s drive-through for a beverage to accompany the latest bean-beef-cheese-tortilla mashup, as runs to the border offer only Pepsi products.

As my son aged, however, pragmatism slowly chipped away at idealism, and one day he announced that he would allow himself to sip Pepsi products only when they were the only option. Now, however, he has sworn off carbonated beverages entirely and annoyingly extols the alluring taste and health benefits of water, trying to convert his bubbled father to a life sans carbonation.

Me? I drink whatever brand of diet soft drink is available. They all taste the same to me, so I drink what’s in front of me and buy what’s cheapest. And yes, Mom, I know they’re bad for me.

The other day, I stopped by a convenience store to slake my thirst and meandered to the soda fountain, which offered two diet options: Diet Coke and Diet Pepsi. Same price. I grabbed a 44 oz styrofoam cup in my right hand, as my left hand held my wallet and keys, faced the fountain, and mentally raced through whatever flimsy criteria I could create to determine which company’s syrup would mix with the carbonated water and land in my cup. This is what I saw:

Quick: Which drink did I choose? If you were Sherlock Holmes, or even Encyclopedia Brown, you’d know: Diet Coke. Why? Because my left hand was occupied, so only my right hand was free, and the Diet Coke spout allowed easier one-handed operation. The Diet Pepsi dispenser required that I use one hand to hold the cup and the other to push the button, or that I set the cup down, hoping to position it accurately below the spigot, and then use the same hand to push the button — while hoping that the unanchored cup didn’t tumble. With Diet Coke, I just had to slam my cup into the wand below the spigot, which automatically positioned my cup precisely to catch every drop, and withdraw my cupped hand when I was done.

Software users are just this fickle as well, especially on the web where they haven’t invested any money in your product when they first try it. If it’s too hard to use, or even just seems too hard to use, they’ll move on. Marc Hedlund, Chief Product Officer at Wesabe, famously blogged about why Wesabe lost to Mint. Two sentences in that post stand out:

Between the worse data aggregation method and the much higher amount of work Wesabe made you do, it was far easier to have a good experience on Mint, and that good experience came far more quickly.

I was focused on trying to make the usability of editing data as easy and functional as it could be; Mint was focused on making it so you never had to do that at all.

So does ease of use matter? It evidently did to personal finance users, and it did to my thirsty self. My son, however, just drank from the water hose outside the store. Yum.


I'm Rob Warner, and I'm a software developer. I live in Jacksonville, Florida, and work for Availity, LLC. The postings on this site are my own and do not necessarily reflect the views of Availity.