Tuesday, May 23, 2017

controls - Do spinner-based date pickers on iOS & Android detract from the user's experience?


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?



Answer



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.


No comments:

Post a Comment

technique - How credible is wikipedia?

I understand that this question relates more to wikipedia than it does writing but... If I was going to use wikipedia for a source for a res...