Most active commenters
  • abanana(4)
  • padjo(4)

←back to thread

286 points mnemonet | 26 comments | | HN request time: 0.629s | source | bottom
1. abanana ◴[] No.45893468[source]
A few years ago I wrote a mobile app for use by patients of local doctors' surgeries. This meant a higher-than-average proportion of older, less tech-savvy users.

There was a flood of complaints about the OS-native date pickers, along the lines of: "There's no way to set the year! To get to my birth year, I had to tap the previous-month arrow 720 times!" (It seems people actually did this.)

This is what happens in the real world when Flat Design takes over UI controls. On both iOS and Android (a few years back, I don't know whether they've been improved now), the year just looked like a heading. Nothing whatsoever suggested it was a tappable UI element.

Now that mobile OS UI decisions are seemingly led entirely by aesthetics, instead of being run by a seasoned UX researcher like Don Norman, using an OS-native datepicker leaves the usability of our apps entirely at the mercy of what they choose to mess up next.

I used Pikaday on a few websites years ago. We're told these tools are now obsolete - I wish that were true.

(Changing the app to use textbox-dropdown-textbox for date-monthname-year - this is in the UK - stopped any further such complaints.)

replies(5): >>45893504 #>>45893624 #>>45899065 #>>45902020 #>>45903234 #
2. bigfudge ◴[] No.45893504[source]
It’s not just old people that suffer. I’m slightly ashamed to admit I started the 100-tap process when I first used that input before realising it was dumb and googling what to do. They really are bad.
3. padjo ◴[] No.45893624[source]
Why were you using a calendar picker for a date of birth?
replies(1): >>45893751 #
4. abanana ◴[] No.45893751[source]
Could you explain what you mean? We're talking about the OS-native datepicker, which pops up when a user clicks on an HTML <input type="date">.
replies(2): >>45894468 #>>45897754 #
5. folmar ◴[] No.45894468{3}[source]
This is the place where the date picker does not help the user at all. It's easier to type the, presumably memorized, date, than to look it up in the calendar no matter how nice and handy the calendar is. Sure it does solve validation problem. Or maybe not correctly, don't ask about locales and date adjustments.
replies(2): >>45894690 #>>45894825 #
6. nozzlegear ◴[] No.45894690{4}[source]
Doesn't the browser automatically a handle locales when using the HTML5 input=date?
replies(1): >>45895355 #
7. dotancohen ◴[] No.45894825{4}[source]
Date picker widgets do not solve any validation problem, because validation happens on the server side and client input is not to be trusted.
replies(1): >>45896811 #
8. folmar ◴[] No.45895355{5}[source]
Even if, that does not help. When asked for a birthday I need validation of the date in country when I was born, not the country I'm in, not the locale I'm using for display and not the locale server/requesting company is in.
replies(1): >>45903259 #
9. tlamponi ◴[] No.45896811{5}[source]
Obviously, but additionally, providing validation on the frontend can help UX a lot. Doing that can provide much quicker feedback compared to an error thrown at the user only after submitting a form, which can get especially annoying if the latter loses (some of) its values due to submission. And one solution for that problem can be using a native picker.
replies(1): >>45897760 #
10. padjo ◴[] No.45897754{3}[source]
Using a calendar picker to input dates that users have memorised and are in the distant past is an awful experience. This is a pet peeve of mine.
replies(1): >>45898687 #
11. padjo ◴[] No.45897760{6}[source]
That is called input assistance, confusing it with validation is the source of millions of security problems.
replies(2): >>45898678 #>>45899634 #
12. __jonas ◴[] No.45898678{7}[source]
That’s an interesting suggestion, but it is not, it’s called (client side) form validation

https://html.spec.whatwg.org/multipage/forms.html#client-sid...

I definitely see your reasoning for wishing it had a different name though.

replies(1): >>45900836 #
13. abanana ◴[] No.45898687{4}[source]
I think your point is just emphasizing how bad these native datepickers are. They are specifically used by the browsers for <input type="date">. Their purpose is to enter a date. That's why their use in this way is absolutely standard (far more so than the term "calendar picker" as far as I'm aware. The user's not choosing a calendar, they're choosing a date). That doesn't mean the choice of input method can't be improved, but highlighting it as a pet peeve won't make it happen at scale. What do you suggest instead?

The answer shouldn't be "create something custom for entering dates that don't happen to be in the current year", it should be "fix the datepicker so it's fit for purpose".

replies(2): >>45898941 #>>45899409 #
14. badestrand ◴[] No.45898941{5}[source]
I am so glad that so many people in this thread confirm how bad the native date pickers are; i thought I was alone.

Just picking the year is so difficult already on both Android and iOS as well as desktop Chrome, so a custom widget is immediately 100x better.

Yes, in theory it would be best to display the native picker because in theory it has a great UX, but in practice the native browsers' implementations are mostly just really, really bad, for whatever reason.

That's what I really dislike about the linked article - it doesn't even check the native implementations for their quality but just argues as if they are great.

15. HugoTea ◴[] No.45899065[source]
The Gov.uk design team published research around data entry for dates https://designnotes.blog.gov.uk/2013/12/05/asking-for-a-date... Ultimately they found the best experience was three text boxes, day, month and year. They also have this "pattern" for helping with implementation https://design-system.service.gov.uk/patterns/dates/
replies(2): >>45899603 #>>45902613 #
16. padjo ◴[] No.45899409{5}[source]
Ideally there would be an input type for this, month comes close to the correct UI on iOS but has lots of problems. I don’t think the calendar picker style will ever work well for entering birthdays and such, so yeah the answer is build your own thing or use a library.
17. abanana ◴[] No.45899603[source]
They don't appear to have tested a dropdown for the month name, with text boxes for date and year. I've read elsewhere in UX research that the month name should be preferred, for clarity, over entering another number. So it's unfortunate that that page's research isn't complete ("we will continue our testing") and doesn't appear to have ever been followed up.
replies(3): >>45899937 #>>45902022 #>>45902283 #
18. tlamponi ◴[] No.45899634{7}[source]
No, it's not. And if that's what confuses one, it will not be the actual source of these problems.
19. joelanman ◴[] No.45899937{3}[source]
(I worked on this pattern) Our guidance is to accept both names and numbers in the back end so people can enter either. In our testing, text inputs (with a numeric keyboard on mobile) is better than selects. Some people struggle with using selects, we don't see those issues in text inputs. That guidance maybe be about people not knowing the order of the inputs (DD MM YY, MM DD YY) but our pattern is clearly labeled for each input so we don't get that issue.

We did continue our testing which resulted in the pattern in the design system which is linked.

20. johnisgood ◴[] No.45900836{8}[source]
I do understand what "client-side" validation is, but I wish it had a different name, because people think they can just validate client-side and they do not bother doing it on the server... for some reason, I do not know. It should be obvious though, right? Yet it is not.
21. NooneAtAll3 ◴[] No.45902020[source]
> the year just looked like a heading. Nothing whatsoever suggested it was a tappable UI element.

IT IS TAPPABLE???

22. HugoTea ◴[] No.45902022{3}[source]
They did some research elsewhere on dropdowns and found a lot of users do not realise they can scroll through the list and would get confused, might be why they ruled out dropdowns entirely for date pickers.
23. komali2 ◴[] No.45902283{3}[source]
I'm always confused by the anglocentrism of these kinds of ux "standards" because for example in mandarin we call days (三號), weekdays (星期二 / 禮拜二), months (二十月), and years by numbers... And in Japanese they have similar I believe but also have non numbers for weekdays. I imagine other languages have similar flukes, wouldn't be surprised if there was one out there that had special words for the first couple days of the month or something.
24. bob1029 ◴[] No.45902613[source]
> Ultimately they found the best experience was three text boxes, day, month and year

This is what we found was most acceptable for our banking users. They were coming from terminal interfaces. This is a UI/UX flow that we just had to go with. We experimented with fancy date pickers (i.e., <input type='date'>) and it lasted about a month before we were forced to refactor. We kept a date picker icon (exempt from tab order) for novice / younger employees who prefer the tap-tap-tap bs.

If you are replacing a mainframe app with something on the web, the least you can do is make a half-ass attempt to keep the # of physical fields the same and place them in the same tab order. This can make or break your pitch in a competitive B2B SaaS environment. We sold to the users, not to the business. The users then sold to the business for us. You cannot get end users to help sell for you if they don't like the UX. They know they'll have to live with it every day if they successfully advocate for it.

25. jrochkind1 ◴[] No.45903234[source]
I feel like I have had trouble figuring out how to jump years in those too!
26. jrochkind1 ◴[] No.45903259{6}[source]
I am thinking about locale of how a date/time is formatted for display/input. Including language-specific month names etc.