Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

Generally speaking, the rule of thumb on mobile devices is to follow the platform conventions, and that native controls are almost always better than custom UIs. However, I'm at a loss as to whether the spinner-based date pickets which are core UI elements on iOS and Android are really the best experience for the user in most cases.

iOS Date Picker Android Date Picker

As a user myself, I find these interfaces to be helpful when they're replacing plain text input -- e.g., if I know the date that I want to set. For instance, if asked for my birthday, this is the easiest interface to pick it. However, in cases where context matters -- like when I want to set a bill to pay 'next Friday' in my mobile banking app -- I don't believe this is an appropriate interface. In my opinion, this sort of exploratory/contextual situation typifies most date-based inputs that I encounter on my mobile device, so I do question the appropriateness of the native UI elements overall.

Here's a custom interface example from the Kayak app which is more effective than the native date picker, given the context:

Kayak Date Picker

Has there been any user research into the effectiveness these UI elements? Is there an argument for using these controls (even if they're not perfect in a given situation) due to platform consistency?

share|improve this question
4  
I have no research but tend to feel the way you do. The spinner implementations lack a lot of context (namely, the day of the week) which is a key bit of information in a lot of situations. –  DA01 Jun 26 '12 at 17:26
    
I find those spinners kind of annoying, but that is totally personal opinion. I much prefer the calendar-type date picker as in your second example. –  Matt Lavoie Jun 26 '12 at 17:30
    
I also consider the spinners to be a little 'clunky' at times - and not just because of context. Selecting the Month is fine as there are only 12 options. The Day is a bit of a stretch at up to 31 options. The Year can be a pain to scroll in some situations. –  Craig Young Jun 27 '12 at 17:16
2  
Spinners are pretty and use less screen space...I often feel that's most of the appeal as opposed to a full calendar. Spinners are effective if you need something outside of the current/neighboring months though. –  Ben Brocka Jun 28 '12 at 18:12
    
They are awful... but have looked far and wide for user tests... can't see anyone having done the work publicly... ): I guess that is the problem ... not much incentive for public publishing of this sort of data. –  Lisa Tweedie Jun 29 '12 at 8:41
add comment

2 Answers

up vote 10 down vote accepted
+50

Your question assumes that

a) date pickers (they aren't called spinners) aren't appropriate everywhere,
b) date pickers can't be modified,
and c) the design guidelines must be followed to the tee.

Thus, I think the proper answer would be a review of SDK manuals & UX guidelines not in any kind of research.

First of all, guidelines are called that way instead of "rules" or "laws" because they're suggestions that cover most situations to ensure consistent experience across multiple apps in one platform. Even Apple's HIG contain rather mild language when it comes to telling developers what to do and what not to do:

If you need to provide a large set of choices that aren’t well known to your users, a picker might not be the appropriate control.

or

If it makes sense in your app, change the interval in the minutes wheel.

So if a native control doesn't provide the UX appropriate for the situation, you absolutely must put the user above the guidelines.

Secondly, both Android and iOS have native options of displaying either a full calendar or at least the day of the week.

In iOS, it's a property of UIDatePicker called UIDatePickerModeDateAndTime, which displays the day of the week in the spinner (screenshot of the native calendar app's new event, courtesy of my friend):

enter image description here

Android has something called android.widget.CalendarView, which displays the full calendar (screenshot of my CM9's native calendar app):

enter image description here

So, in summary, you absolutely can create your own controls that are appropriate to your application but it's best to research all of the native controls & their properties.

share|improve this answer
    
Thanks for the links, and thanks for pointing me to the the alternate views of UIDatePicker and Android's CalendarView... these are both new to me! Awesome answer. –  Daniel Newman Jul 2 '12 at 19:20
add comment

Use what fits the task best. If I want to put in my Birth-Date somewhere, please give me a spinner, it will be a lot faster. If I need to schedule a new appointment for next week, please give me a Classic DatePicker that also shows whether I have other appointments that week.

share|improve this answer
    
Agreed. The spinner is the fastest way to transport yourself light years into the future or past, but the date picker is easiest for scheduling, especially as you can visualize the days of the week. No "credible or official sources" necessary as this is common sense. –  alord1689 Jun 30 '12 at 16:21
    
@alord1689 If this is 'common sense' (which I tend to agree with), why is there no native control for a calendar-based date picker on iOS or Android? Seems like there should be one. –  Daniel Newman Jul 2 '12 at 14:27
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.