Blog

Designing Convertbot

With the surprising success of Weightbot, it was only a matter of time before we would take on the challenge of outdoing ourselves. We knew people were expecting something big from Tapbots the second time around so what’s more impressive on the iPhone platform than a unit converter? Pretty much anything. In name alone, Convertbot is probably the last application people would expect to see from us. But the truth is, converting units, while extremely ordinary, is a very useful utility for many people. And while there are countless feature-rich unit converters for the iPhone, none of them make the task any more enjoyable. So it really was the perfect robot for us to build. I just wanted to spend a little time writing about how Convertbot came to be.

Getting Started

The first step was to set up the groundwork for the application. What is the primary purpose of this application? Who is the target audience? What are the bare minimum features this app needs and what features can we add that the competitor’s apps don’t have? It’s all about balance. Features alone don’t make a great app. As developers, we needed to carefully decide what features directly supplement the core directive of the app and cut ideas that may have been “cool”, but removed focus.

The audience was also an important factor. We were targeting casual users with Convertbot. As with Weightbot, we knew that a small percentage of professionals and enthusiasts who need to convert numbers daily might find our app “over-produced”. But designing for our core audience was key and we had already proven it to be successful with Weightbot.

Designing the Interface

Sketches

It didn’t take long to come up with a working solution for the interface. After 5 quick sketches on paper, I had an idea of what I was trying to accomplish. The iPod-like radial dial was a very early design decision and it really gave me direction for the app. One of the drawbacks with the Weightbot scroller was that because it’s linear, you had to keep scrolling to go from one end to the other. You also had to keep lifting your finger to scroll continuously. So the radial scroller was the perfect solution for Convertbot. It also provided nicely-balanced geometric shapes for buttons and negative space.

Early Mocks

The look and feel of the app had to build upon the Tapbots Brand. At first I wasn’t sure if I should introduce a new color instead of white. But since it was only our second application, I felt that sharing a similar color scheme with Weightbot would be best for building the brand up. The same went for the general UI layout. I wanted to create something new, yet familiar to Weightbot users. I’m pretty happy with the results of the interface. It even makes Weightbot look somewhat dated now.

The User Experience

The 3-Step Unit Selection Process

We’ve had a few complaints about this and I knew this would be a an issue for some the moment I asked Paul to implement it. But I have good reason for it (in my opinion anyways) and I have no plans to change it. Our primary goal for Convertbot wasn’t for it to be the most efficient unit conversion app there is. If that’s what you are looking for, there are plenty of nice conversion apps that get you from point A to point B in the shortest amount of clicks. Our goal was to make unit conversions fun and enjoyable. I wanted to separate the conversion steps into little tasks that need to be completed. It gives a sense of satisfaction when you’ve completed a unit selection sequence or shock if you press the wrong button, almost like a game. Regardless of whether the feedback is positive or negative, it brings out emotion in the user and that was my goal. Once you get used to it, there’s a sense of satisfaction and rhythm to the process. It’s very subliminal, but it’s there.

There’s also pseudo-realism in the way the mechanics of the app works. I say “pseudo” because they are obviously not based on physics of the real world, but in the mechanical world I have created within the application. In this world, the unit tile that’s currently selected resides behind each button. When you press the FROM or TO button, you can see the selected tile slide out from behind to the top position. In this world, the selected tile needs to slide back behind the button it belongs to before any other action can take place. I’m assuming most people never notice and others probably don’t care, but I think the extra step contributes to the believability of the world I’m trying to create in our apps.

Limited Data

Limiting the amount of categories and units was a conscious decision. The biggest disadvantage to our radial scroller is that it can become a pain when you have to scroll through dozens and dozens of categories and units. If we shipped with 20 categories and 100+ currency units, I guarantee that we would have received far more complaints. So we decided to ship v1.0 with the same list of categories and units Apple provides in their dashboard widget (as well as cut down on the list of currency units) until the next major release. Rest assured, v1.1 will allow the user to enable/disable categories and units as well as bring along a handful of new ones.

What is Intuition?

There is a slight learning curve in using Convertbot, but we don’t see that as a bad thing. Our apps are designed more like a game. Whenever you play a new video game, you need a little time to learn how the game works and how it controls. Even the most well-designed game interfaces require time to learn and get comfortable with. But with time, a good game becomes natural and even second nature. We hope that’s the case with Convertbot. Considering the most popular categories in the app store are both games and entertainment, making our apps a bit more game-like was a solid decision. We also added an auto-playback demo for users to learn how it works which is a lot like in-game tutorials in today’s video games.

The Hurdles

Designing Convertbot was not without it’s challenges. The biggest hurdle was early on when we had to implement the scroll wheel. Each tile is actually a separate image which has to line up perfectly to create the circle. The math has to be spot on otherwise cracks appear between the tiles. Several attempts in photoshop proved to be unsuccessful so I had to move to a more precise tool, Illustrator. With that I was able to build pixel perfect tiles by entering coordinates for each point. For the longest time I was worried that the scrolling wheel just wouldn’t work, but persistence really paid off in both the design and programming.

The rotating tiles

The category icons were another challenge. I dreaded working on them until the very end. As simple as they may seem, icons aren’t a big strength of mine. And making a family of them was a challenge, but they seemed to work out in the end.

Icon Sketches

Icons

That’s about all I can think of saying about Convertbot. If you have any questions or comments related to the design of this app, feel free to write in the comments below. I’ll try to answer them as best as possible.

43 Comments:

Permalink

Great post – so inspiring to get a glimpse into such a beautiful application.

Permalink

I love how you both stuck to your original plan and ignored the complaints about how long it takes to get a conversion. While I don’t think it’s really a longer process, I do feel more accomplished when I get the conversion I need with Convertbot. And utterly enjoying the experience of using a tool or piece of software is what the iPhone, and Apple, is all about.

I’m also very impressed that you did your own icon work. When I first launched the app, I wondered who the artist was. It was probably a risk to do it yourself, but I think it paid off nicely.

Best 99 cents I’ve spent in a while.

Permalink

Excellent write up, nice glimpse into the behind-the-scenes. Did you find working in Illustrator, although more accurate, was a pain when it came to outputting sharp pixel art?

Keep up the excellent apps!

Permalink

@Phill – That’s usually the case with illustrator, but I moved points via the x/y coordinate input box so there were no issues with providing a crisp pixel-based graphic.

Permalink

Awesome post, thanks for sharing your design process. Definitely best 99 cent app on my iPhone!

Permalink

Apps like yours are the kind I buy solely for the aesthetic appeal! Excellent Job!

Permalink

Best looking apps on the App Store hands down.

Permalink

Great article. The screenshots you show offer valuable insight into how you built out the UI elements. Also your reply above to Phil on using the x/y coordinate input box in Illustrator to keep everything crisp is highly valuable.

Permalink
  • Nikolay Andreev said:
  • April 2nd, 2009

Thank you guys for this wonderful App. I had to get it the moment I saw the video and I use it now as a showcase for how good the apps can be on the iPhone.

Your decision to limit the functionality for 1.0.- very Apple style.

About the article. Great insight and I feel very happy when I read about developers trying to give us those app that make the iPhone even more iPhone.

Permalink

It’s a lovely app, I enjoyed playing with it, but it will only be truly indispensable when you add the planned extra currencies – in my case, I need to convert to and from the Thai Baht several times per day.

Ideally, there should be a settings page that allows the user to choose what currencies appear on the dial from a wide selection.

There should also be an option to adjust the figures by a certain percent, in order to reflect the real rates – I am assuming that Convertbot fetches the interbank rates, which are not the same as the rates offered to bank customers.

Keep up the good work Mark.

Permalink
  • DeanDMX said:
  • April 2nd, 2009

Re: The 3-Step Unit Selection Process. I totally understand your thought process behind having to confirm your selection before you can move on. However, if the Convertbot was an actual physical product, when you press the other unit button to the one you are currently using there would be no need for the tiles to slide back down first. The radial could just spin to whatever is currently selected. You could help make this more obvious by illuminating the currently selected unit button.

I hope I have made myself clear in what I mean. Great article and even better apps. You guys really are the future of iPhone.

Permalink
  • JP said:
  • April 2nd, 2009

Hi

Thanks for the great look under the hood, another element that I feel makes both your apps stand out is your sound design – it’s an often overlook part of the experience and very hard to get right, what were the challenges with developing these?

JP

Permalink

This looks like a brilliantly-designed app and I can’t wait to try it out. But (just going off the video here) instead of the default value being 0, which usually converts to 0, why not pre-fill it with an example value appropriate to the conversion being performed: e.g. 1 in the case of currency or measurement, or 100 for temperature? This way the user gets a useful conversion figure instantly before they’ve tapped in any number of their own.

Permalink
  • MT said:
  • April 2nd, 2009

It’s really helpful to take a look at the design process behind iPhone apps. For those of us whose work involves designing them, the more insight we can get on how others take on the task, the better off we’ll all be.

Permalink
  • Sal said:
  • April 2nd, 2009

A great example of how less is more.

I love the design and feel of the app. Even more of a bonus is this “behind the scenes” info!

Permalink

Nice job Mark (& Paul) – I love the “mechanical” life-like feel of your apps.

One thing I haven’t heard mention of in the posts about Weightbot or Convertbot is the sounds. Love to hear more about this at some stage – you’ve obviously got a very talented sound engineer working for you & your editorial process is fantastic.

Congrats

Permalink

“One of the drawbacks with the Weightbot scroller was that because it’s linear, you had to keep scrolling to go from one end to the other”

This doesn’t seem to be much of a problem because weight doesn’t change drastically day-to-day.

I can’t wait to try out Convertbot. Looks great!

Permalink

Fantastic, I love the UI, it works very well IMO. Very inspiring.

One feature request: please make the click noise when turning the wheel (the same noise that you get with the Apple menu wheel). On the iPod Touch 1st gen, there is otherwise no sound feedback and it would be so much nicer!

Permalink

Really great writeup on your design process.

If I could recommend one thing, it would be to change the icon for speed. I couldn’t figure it out till I went to the main website and saw the icons next to their description. I guess you were going for a speedometer, but I don’t really think it’s obvious. Something like an icon of a running man with lines behind or similar would be more intuitive.

Permalink
  • Ruegen said:
  • April 2nd, 2009

Great app, but I would like to see an option to not to have to press ok in the next version.

Permalink
  • stenciledheart said:
  • April 2nd, 2009

Fantastic app. You guys give me hope in the iphone platform. Please continue to make awesome products.

Permalink
  • Antti Rasinen said:
  • April 3rd, 2009

Hello!

There is an unfortunate gaffe at least in the speeds section. SI units are represented as “kph” and “mps”. This makes them harder to recognize (mph vs mps? what’s the difference?) and also it is just plain wrong.

I’d love to see the proper terms (km/s, m/s) used. You’ve used fractions in other places, why not here as well.

Permalink

@donnacha – User selectable units and categories are coming. In fact, the design is already completed. Paul is just bringing it to life. :) Also, our currency conversions are being pulled from Yahoo every 30 minutes or so.

@JP and Mitch Olson – There’s really nothing special going on with the sound design other than me and a copy of Logic Studio. :) I grew up playing a variety of instruments, but I think playing a lot of video games and watching a lot of “behind the scenes” movie footage contributed to my sense for sound more than anything. Sounds funny, but I’m really just tinkering with Sound FX and loops in Soundtrack until I have something that sounds acceptable. I really am quite surprised when people praise the sound in our apps. I never found them bad, but nothing special either. :)

@Kamil Kisiel – I thought about a “running man” as an icon for speed, but while it might convey speed better, it just doesn’t fit with the rest of the icons very well.

@Ruegen – Zing!

@Antti Rasinen – Thanks. I’ll talk to Paul about this.

And to everyone else, thanks for the kind words and encouragement.

Permalink
  • sven said:
  • April 3rd, 2009

But could you please name the conversion apps that do the work with the least amount of taps?

Permalink
  • Pontus said:
  • April 3rd, 2009

I think you’re doing an amazing job with your cute little bots!

However, I have a question about the quite high number of taps needed to perform a conversion. When in unit selection mode, if I tap the other unit selection button I get an error sound and a popup telling me to press OK. This feels completely unnecessary and just adds an extra tap without taking away any complexity.

I do understand your reasoning behind the other extra taps. But if you wanted to make it even more efficient without much added complexity, you could remove the OK button altogether. When scrolling to change units, there’s little to no reason to let go of your finger, since it’s a rotary dial. Therefore, you could make it select the unit that’s selected when releasing the finger. This may be confusing for some users though, so maybe you could make it into a preference? “Fast unit selection” or something alike.

I also noticed that it’s possible to convert from and to the same unit. Since you (I presume) redraw the unit selection wheel every time the user presses one of the from/to buttons, you could just as well remove that one from the list. Or grey it out, if you want it to feel more physical.

Also, is there any need for Swedish localization? I’d be happy to help.

Keep on tinkering with your robots!

Permalink
  • Daniel said:
  • April 3rd, 2009

I wish the keypad in Convertbot had bigger keys and less gutter between them

Permalink
  • Moe said:
  • April 3rd, 2009

The pressure and area icons are especially well done. These are very difficult concepts to express given the constants you gave yourself in the overall design.

I’m curious about the “Aa” icon in your sketch: was Convertbot going to do point/pica conversion? translation?

Permalink
  • Mark said:
  • April 3rd, 2009

Beautiful app, as was Weightbot

Suggestion: Let the wheel freewheel.
Explanation: I read something recently (just spent a while trying to find it for you but alas, I cannot) which suggested the inclusion of zero cost actions in user interface design. It commented particularly (or exclusively) on the iPhone, using the stretch-bounce in Mobile Safari and freescroll of the Contacts/Addressbook as examples.

To conclude. Apple has established this as a good example of interface design. The article I can’t find furthered that into it actually informing the use; finding the limit in mSafari or even just giving you something to fiddle with whilst pondering.
In Convertbot it would add to the gamelike behavior you rightly aim for (bit wheel of fortuney really, though bankers might decide what currency to buy into based on where it lands..)

Something new I just noticed myself do after buying the app.. Line the two up. Not sure if you meant it to have that effect, but I couldn’t bear to keep the little dudes apart. There will be a meta pokemon-style catch’em’all subtext if you release more!

Permalink
  • Austin Sarner said:
  • April 3rd, 2009

Exceptional stuff. The concept of a tactile mechanical world that you define within the app and the rhythm in the selection process have me totally inspired.

Permalink
  • Michael said:
  • April 3rd, 2009

You should add a conversion tool for different types of data sizes.

Permalink
  • David said:
  • April 4th, 2009

Great post, very inspiring! Would be interesting to read about the implementation on the programming side as well.

@Mark did you perhaps think about the “One free interaction” post at Cooper? http://www.cooper.com/journal/2009/01/one_free_interaction.html

Permalink
  • Mark said:
  • April 4th, 2009

Exactly right David, thank you. I had hoped someone with a more enterprising memory than myself would come to my rescue.

Letting the wheel spin, slow and settle strikes me as a great implementation of “one free interaction” with nods to game-play psychology.

Permalink

@David – Great article. I haven’t seen that before.

@Mark – Not letting the wheel spin freely was a decision made because of performance issues and the time it takes to program. However it is something for Paul and I to discuss at some point. :)

Permalink

Can you talk a little bit about “getting the math right”? I’m always interested in how to design things that are technically precise. If each piece tile is a separate image, aren’t there still problems with seams due to the anti-aliasing? Or are the lines drawn on top of the seams to cover them up? Thanks.

Such a nice design, keep up the good work!

Permalink
  • golum said:
  • April 14th, 2009

good work
can you add XAF currency?
TIA

Permalink

Here you can a investigate extraordinary dating resources….
UK dating guide

Permalink

hi guys, brilliant app and a great insight into the design process. I have a question. Was the UI built using CoreAnimation?

Permalink

Wow. I’m impressed with how thorough your process is. Nice work, and congrats on the app!

Permalink

Interesting Article. Thanks for the read!

Permalink

A great article, thanks for sharing your design process! Really love the app, and admire your approach to each app, “Our apps are designed more like a game”.

Permalink
  • Vid said:
  • September 5th, 2009

This is wonderful!
I have a question about how did you implement the scrolling and selection? do you have a bunch of rects in which you check if the user has tapped on them?
Keep on the awesome work! love it!

Permalink
  • sarika said:
  • October 25th, 2009

Great UI work!!!