UI Gem: Android Calendar Time Picker

It’s been available for a while now, but every time I use the new Android calendar app’s time controls, I’m so impressed by their elegance.

Previously, setting the time for a calendar event involved some simple numeric up/down spinners. Setting the hour worked reasonably well, but if your event happened to be on the half hour, you’d have to spin and spin and spin the minutes to get to 30. My first thought was that maybe they should constrain appointments to start on 5 minute intervals rather than being able to pick any arbitrary minute. Who has appointments at 3:27 PM after all? The fewer available intervals (3:25 or 3:30, for example) would mean less spinning.

Instead, the Android UI designers introduced a clock control that looks like this:

Hour Picker

After picking the hour, you’re moved automatically to pick the minute:

Minute Picker

This interaction has three huge benefits:

  1. It’s very natural to pick a time using a clock.
  2. It’s really fast to pick the desired time regardless of when it is.
  3. You can still pick an exact minute, so there’s no sacrifice of time “resolution”.


UI Horror: Windows 8 BSOD

My PC is sad. I know this because of the frowny face. Unfortunately, I know not much more, because my PC won’t boot, and Microsoft decided to provide as little information about the error as possible on their new BSOD screen.

Hmm… scary (but potentially useful) hexidecimal-laden error messages or cute emoticon?

Thanks for that.


Three Suggestions for the Android Calendar App

1. Two reminders

I want a reminder at the specified reminder time, and another one at the appointment start time. This is how it typically goes for me:

PHONE: Ding!
ME: Oh yeah, I’ve got that meeting in 10 minutes. Let me just finish this little bit of code in the meantime…

(15 minutes later)

CO-WORKER VIA IM: Hey, you coming to this meeting?
ME: Shoot! Sorry! Be right there.

The lack of this feature has created a market for tons of reminder “nag” apps that try to make up for it. I don’t really want a whole other app that piles on inane features in an attempt to justify its existence, though.

2. Current month is white

OK, this is kind of picky, but shouldn’t the current month be white while the previous and next months are gray? The current scheme is opposite that and my brain struggled with it.

3. Combined day and agenda view

The webOS calendar has a brilliant combination of an agenda and day view. It lets you see all of your appointments without huge swaths of blank screen pushing them out of view, but still makes it easy to add a new appointment at any time of day by tapping the accordion section.

UI Horror: Untrimmed Validation

Hmm… this zip code looks pretty good to me.

This was on the Discount Tire mobile site. It’s awesome that you can schedule a service appointment on the web using your mobile phone. It’s not so awesome that the form validation doesn’t compensate for the trailing space that my phone’s keyboard automatically added. “Normal” people would give up when the site refused to accept such an obviously correct entry.

UI Horror: No-Paste Password Fields

Sure, it makes sense to disallow copying passwords from a password field, but disabling pasting is just being annoying.

News flash for developers doing this (such as Intuit, in TurboTax): I’m not thrilled about manually typing my 20 character random password. Just let me copy it from my password vault and paste it into your field.

In the case of TurboTax, it diminishes the value of data import if I have to type more characters for my password than there are numbers on the form to input.

TurboTax's castrated password field

MessageBox: Just Say Nein

The Windows MessageBox is really convenient to use. A single line of code gets you a dialog box with a caption, a message, an icon and a set of available buttons that cover a lot of possible input scenarios. Unfortunately, the text on the buttons is supplied by the system, so if you’re building an application that is intended to be localized, you invariably end up with something that looks like a bug.

Continue reading

“It’s Just UI”

Maybe I’ve just imagined this — created my own straw man to take down — but I’ve sometimes sensed some disparagement of user interface programming. “It’s just UI,” the architect will say. “It’s not like it’s a hard or interesting part of the system.” As I’ve done more and more UI development lately, I’ve had to consider if this is the direction I want my career to go.
Continue reading

Matches and Bulk Actions

I noticed again this morning that Quicken was still unable to download my credit card transactions online. It hasn’t worked since some time in February. The error message said that my PIN or Customer ID was wrong. I know I’ve double-checked the PIN previously, so I figured it must be the user name that was the problem. This led me to think about a few ways that the Quicken user interface is deficient. Continue reading