[HN Gopher] Asking for a date of birth (2013)
       ___________________________________________________________________
        
       Asking for a date of birth (2013)
        
       Author : edward
       Score  : 58 points
       Date   : 2022-06-16 12:40 UTC (10 hours ago)
        
 (HTM) web link (designnotes.blog.gov.uk)
 (TXT) w3m dump (designnotes.blog.gov.uk)
        
       | durnygbur wrote:
       | The dozenade 2000-2012 will surely make many people confused and
       | many badly designed UIs will let incorrect date to slip through.
       | Myself have one date from this range on one of the documents and
       | have to check twice every time I need to enter somewhere this
       | date.
        
         | madcaptenor wrote:
         | you're off by one, that's a trizenade
        
       | nishs wrote:
       | I've seen some US government forms use                 [01] [Jan]
       | [1970]
       | 
       | where                 [01]:   one- or two-digit day, typed
       | manually       [Jan]:  three-letter month, picked from a dropdown
       | [1970]: four-digit year, typed manually
       | 
       | I think this is a good (the best?) presentation.
       | 
       | By using a manual day entry instead of providing a dropdown, as
       | the programmer you can avoid requiring client-side logic to
       | restrict the number of days displayed in the dropdown based on
       | the chosen month and year (e.g. 31 for Jan., 28/29 for Feb.,
       | etc.).
       | 
       | Having the month represented in letters, not numbers, minimizes
       | the chances of user confusion between `dd-mm` and `mm-dd`
       | presentations.
       | 
       | The year presentation matches the one in the OP article.
        
         | Tepix wrote:
         | > I think this is a good (the best?) presentation.
         | 
         | I don't think so. It has problems with i18n. For example, the
         | abbreviation for December is "Dic" in spanish and "Dez" in
         | German, not "Dec" as in english.
        
           | nishs wrote:
           | The twelve month names for the month dropdown could be
           | localized, unless I'm missing something. The entries don't
           | necessarily have to each be three characters; they can be
           | longer if the localization requires it.
        
         | SnowHill9902 wrote:
         | It is. It's the military format.
        
       | Terry_Roll wrote:
       | So macs appear to be used for testing, handy to know.
       | 
       | (D)D/MM(M)/YYYY
        
       | needle0 wrote:
       | Different cultures have different standards for ordering day,
       | month, and year. Encountering one that you're not used to throws
       | you off quite hard, especially regarding day & month since
       | they're both often two digits.
       | 
       | Relying on input=date would probably abstract that away at the
       | client side, but as people said, browser support for it still
       | seems to be bad.
        
       | grenoire wrote:
       | Do note that their new guidelines at https://design-
       | system.service.gov.uk/patterns/dates/#asking-... suggest using
       | `type="text" inputmode="numeric"` instead of `type="number"`.
        
         | moron4hire wrote:
         | What does that do? Allow letters to be input in the field, but
         | show a numeric keyboard on touchscreens? Wy would you do that?
        
           | joelanman wrote:
           | we have a blog post on why:
           | https://technology.blog.gov.uk/2020/02/24/why-the-gov-uk-
           | des...
        
       | rougka wrote:
       | UK gov development is very impressive when I compare it to the
       | government websites here which have a distinct 90's scent. Both
       | in open source projects and these design blogs. Seems like a
       | highly professional software organization
        
       | mihaic wrote:
       | One thing I always felt was an anti-pattern was in any input
       | where months are numbers they don't explicitly mention in an
       | adjacent label the name of the month. Besides the US/UK order
       | confusion, you'd be surprised how often people think August is
       | the 7th month of the year.
        
         | user3939382 wrote:
         | I heard a standup with a very dark joke, something to the
         | effect of, 9/11 had a silver lining because now he could
         | remember what number month September was.
        
           | TobTobXX wrote:
           | It took me years to figure out that 9/11 was not on the 9th
           | November. I always wondered why there was no snow on the
           | images of the incident. Americans and their correct date
           | system...
        
             | adastra22 wrote:
             | Well, it doesn't snow in New York in November, either.
        
         | corrral wrote:
         | Confession: I'm nearly 40 damn years old, and I still second-
         | guess month numbers enough that I usually just count starting
         | from January, ticking them off on my fingers, and going through
         | them one by one, to reach the one I need.
        
           | function_seven wrote:
           | Same here, but _only_ for July and August!
           | 
           | I don't know why, but I can easily map 1-6 to Jan-Jun. And I
           | can easily map 9-12 with Sep-Dec. But July and August always
           | trip me up.
        
         | tehlike wrote:
         | Must be software engineers.
        
         | zarzavat wrote:
         | It depends on what the date input is for. If it's for e.g. a
         | credit card expiry date, then the date is _already_ in numbers,
         | so you may have the August=7 mental conversion errors but in
         | the other direction.
        
         | hbn wrote:
         | There's an unspoken privilege in being born on a day beyond the
         | 12th of any given month, because you'll get a validation error
         | if you mix up the day and month in a form
        
           | madcaptenor wrote:
           | I was born on December 9. The doctors wanted to do a
           | C-section for my kid on December 9 but I said to my wife that
           | my kid shouldn't have to share a birthday with me, so they
           | scheduled for December 14 instead. This might have been a
           | better argument than not wanting to share.
        
           | pphysch wrote:
           | Even better, just have the same value for each
        
             | scoot wrote:
             | Yup. 11/11 for me. Can't go to far wrong. Just wish I was
             | born in 2011 (for reasons other than having the same
             | number!) :)
        
               | Lex-2008 wrote:
               | oh wow, you don't even need to move your finger when
               | entering digits - it's "one"s all along!
        
         | blitzar wrote:
         | I have to take off a shoe when it gets to the tail end months
         | of the year.
        
           | drewzero1 wrote:
           | Only two that don't fit on fingers, so you could leave your
           | shoes on and count feet for November and December. :)
        
             | blitzar wrote:
             | well well, I think you might be on to something. This is
             | going to save me quite a lot of time, not to mention that I
             | might be able to go back to wearing shoes with laces again
             | and not having my productivity totally destroyed.
        
         | madcaptenor wrote:
         | I have, occasionally, thought that (for example) October = 8th
         | month because it starts with "Octo".
         | 
         | Yes, I know, historically it was.
        
           | FredPret wrote:
           | That would be cool. So June would be Hexember, Hexober, or
           | Hexuabry. January would be odd though - Mono-vember.
        
             | madcaptenor wrote:
             | Not quite - they're off by two. Historically July and
             | August were Quintilis (fifth) and Sextilis (sixth) before
             | they were renamed in terms of Julius Caesar and Augustus
             | Caesar.
        
         | jcstauffer wrote:
         | When I registered for Lufthansa FF, the form was just numbers.
         | My birthdate has two single-digit numbers in it, and I ended up
         | with Month-Date backwards (US vs. rest of the world conventions
         | - e.g., 4/8 is either April 8, or Aug 4).
         | 
         | It wasn't an issue, but a minor annoyance to fix it every time
         | I traveled, so that it matched my travel documents.
         | 
         | Until a couple of years ago, when I was traveling back from
         | Germany and the flight crew thought it would be nice to
         | surprise me with a bottle of champagne at midnight on my
         | "birthday".
         | 
         | They were so proud of doing this over the top "random kindness"
         | (it was pretty thoughtful), and couldn't figure out why I was
         | confused and annoyed. I still feel bad for not acting more
         | excited or grateful...
        
       | protomyth wrote:
       | Saw one site that had buttons for the decade (e.g. 1960's) that
       | turned into a group of ten year buttons (e.g. 1960, 1961) and a
       | back button. Thought it was a bit faster than the standard drop
       | down. Month / Day did the same thing. Wish I remembered where it
       | was, might have been some conference registration site.
        
       | sdfhdhjdw3 wrote:
       | > In this design, we use a text field for day, month and year. So
       | far this has tested well, with the main issue being that some
       | people pause and wonder whether to include a leading zero (for
       | example '01' ).
       | 
       | Just put it in the example below...
        
         | dsjoblom wrote:
         | Or just allow both versions (01 or 1). Edit: this works best if
         | the form is validated client-side, otherwise you still get
         | people wondering what is allowed in the field because there is
         | no immediate response to input.
        
       | Daimanta wrote:
       | Interestingly, some people have administrative birthdays were
       | they are born on an uncertain day of the month which is
       | registered as day 0. So, somebody could be born the 0th of june
       | 1950.
       | 
       | If there is even less information available the same goes for the
       | month of the year. I have seen passports where people are born on
       | 0-0-1970
       | 
       | Must be a frustrating situation in many software systems.
        
       | silveira wrote:
       | What really bothers me is that most of time when the date of
       | birth is asked it is done as a way to determine some age
       | criteria. The same could be achieved simply asking "are you older
       | than N years old? [Yes] or [No]".
       | 
       | For example, I want to buy Quake on the Nintendo eShop. The
       | website wants to know my age in order to show me a age restricted
       | game. So it will always ask me the age same question even if I
       | have already answered hundred of times. So does Steam and many
       | other websites. Is this a by-product of some compliance or self-
       | regulatory requirement like ESRB?
       | 
       | If not, it would make much more sense to just ask a yes/no
       | question for the age criteria. Usually this argument is answered
       | with "what about fraud?". Well, asking the birthday is no
       | guarantee at all that the birthday is correct. It only adds
       | friction.
       | 
       | As a small revenge I always use an absurdly old birth date on
       | these forms. This way if they are collecting this data, my input
       | will be discarded or pollute their datasets.
        
         | 0xcafecafe wrote:
         | I remember some liquor site in the US (totalwine IIRC) used to
         | ask are you born after <date> to ascertain age and it worked
         | pretty well.
        
         | tyrfing wrote:
         | > The same could be achieved simply asking "are you older than
         | N years old? [Yes] or [No]".
         | 
         | The term of art seems to be "neutral age gate", and something
         | like a checkbox to indicate you're under 13 is explicitly not
         | OK according to FTC guidance. So where it's to comply with
         | government regulations, this is not enough.
         | 
         | https://www.ftc.gov/business-guidance/resources/complying-co...
        
         | jfoster wrote:
         | > As a small revenge I always use an absurdly old birth date on
         | these forms. This way if they are collecting this data, my
         | input will be discarded or pollute their datasets.
         | 
         | Or the micro-frauds get detected, linked to your credit card &
         | email address, your identity, and credit rating. Before you
         | know it, your transactions are failing fraud checks, you can't
         | get loans, and BigTechs unilaterally cancel your accounts.
         | 
         | I exaggerate, but I fear we may be heading in that direction.
        
           | vinaypai wrote:
           | Literally no part of this makes sense. You can fear anything
           | you want, but this scenario only exists in your imagination.
        
             | lfpeb8b45ez wrote:
             | And China.
        
         | 33degrees wrote:
         | > Is this a by-product of some compliance or self-regulatory
         | requirement like ESRB?
         | 
         | Yes, Steam addressed this an announcement a few years ago:
         | 
         | > Q: Why do you KEEP asking my damn age throughout the store?
         | 
         | > A: We're with you on this. Unfortunately, many rating
         | agencies have rules that stipulate that we cannot save your age
         | for longer than a single browsing session. It's frustrating,
         | but know we're filling out those age gates too.
         | 
         | https://steamcommunity.com/games/593110/announcements/detail...
        
           | Geonode wrote:
           | Steam always remembers my date of birth: Jan. 1 1900, just
           | like half their users.
        
             | unsafecast wrote:
             | For me it's always 1990-01-01
        
               | zhfliz wrote:
               | why isn't 1970-01-01 more common?
        
           | Tepix wrote:
           | It's surprising that they are not even allowed to remember
           | that you are older than, say, 21.
        
             | cowsup wrote:
             | I can understand the "better safe than sorry" mindset. If I
             | have a 15 year old son who wants to play Resident Evil, I'd
             | be willing to let him play it, despite the "M" rating. But
             | I wouldn't then want a service to set it so that he's
             | allowed to view M-rated games in perpetuity, since M-rated
             | games can vary greatly.
        
         | BFay wrote:
         | I also enter an absurdly old date, and usually I'll try setting
         | an impossible day/month combo like February 31st... sometimes
         | it actually works!
        
           | thescriptkiddie wrote:
           | I always go for January 1st, 1970. It is (nearly) always
           | accepted on the form because it is a perfectly valid date to
           | be born, but I like to imagine that some analyst is pulling
           | their hair out thinking they have a null coalescing bug.
        
             | Tepix wrote:
             | 1970-01-01 is the way to go! The more, the merrier...
        
             | function_seven wrote:
             | My favorite irritating date is "1969-12-31" because now I
             | know I have 2 problems: the coalescing bug and a timezone
             | issue. :)
        
       | MikeTaylor wrote:
       | Usually the best solution is not to ask for date of birth. I
       | guess about one in ten of websites that ask me that actually have
       | a legitimate reason for needing to know.
       | 
       | (In the present case, a UK Government website might well have a
       | legitimate reason.)
        
         | Swenrekcah wrote:
         | I tried to help my boss once to log onto Zoom for a meeting.
         | The site asked for date of birth, and not wanting to give any
         | PII I naturally entered some bullshit but plausible date.
         | 
         | Well Zoom locked him out for some time for trying to lie I
         | guess and that meeting had to be moved to Teams.
        
           | mdavis6890 wrote:
           | This is interesting. What triggered them to think this was a
           | lie? Had your boss previously entered a different birthdate,
           | which they remembered and then compared to?
        
         | [deleted]
        
         | 13of40 wrote:
         | If you're verifying (air quotes) something like whether someone
         | is 21, I wonder if it would make better sense to ask the year
         | of their birth, then ask the month and day only if they
         | answered with the year where it mattered. You don't need to be
         | that granular most of the time, so why put people through the
         | hassle?
        
           | hyperman1 wrote:
           | 21 according to which jurisdiction? Is the USA the only one
           | that counts?
        
           | bombcar wrote:
           | If they really cared, they'd do something more exact than
           | asking for date of birth; it's just a "formality" to comply
           | with some law somewhere.
        
             | viscountchocula wrote:
             | The point is that they can easily comply while asking for
             | less pii.
        
       | [deleted]
        
       | birdman3131 wrote:
       | The one I have seen that I think was the best is a combo of both.
       | Not a web developer so not sure the actual name but it was a text
       | field that filters. So when you click in the text field it does
       | the year drop down but also accepts standard text input. If you
       | then type in 197 it then only shows 1970-1979 in the drop down.
        
       | jjgreen wrote:
       | (2013)
        
       | cabirum wrote:
       | That was pretty light on details. Why havent they tested a date
       | picker widget or used native date pickers on ios/android?
        
         | yohannparis wrote:
         | I will take a wild guess that they try to only use Web APIs
         | that works everywhere and are consistent.
        
           | MikeTaylor wrote:
           | Consistent for someone who uses the same site on lots of
           | different devices and browsers. I wonder how many of those
           | there are?
           | 
           |  _Not_ consistent for someone who uses lots of different
           | sites on one device. There are about seven billion of those.
           | 
           | "Consistent experience across devices" is not just a waste of
           | time, it's actively harmful.
        
         | dsjoblom wrote:
         | Have you tried this in practice? It is extremely awkward to
         | pick a date of birth using a regular date picker. It is worse
         | than all the options mentioned in the article. It is only
         | appropriate for picking dates close to the current date.
        
           | ape4 wrote:
           | Except for babies ;)
        
       | Overtonwindow wrote:
       | In the three button design, what about splitting the year? For
       | example 19/20 0-9/0-9
       | 
       | You wouldn't have to list off all of the years, and no typing
       | which could be helpful for people with disability or mobility
       | concerns.
        
       | joelanman wrote:
       | author here, just to note our current design pattern for this is
       | slightly updated: https://design-
       | system.service.gov.uk/components/date-input/
        
         | Aachen wrote:
         | Very cool to see author responses on an article from 2013!
         | 
         | I was wondering why you chose to use the placeholder attribute
         | to show labels rather than the (afaik recommended) usage of
         | showing example values. The form shows example values, but
         | outside the input fields. Did you test both ways and this
         | turned out to be better after all, or this was just an
         | implementation which worked fine in testing so it stuck?
        
           | joelanman wrote:
           | I think I just didn't realise how poor placeholders are in
           | general at that point, compared to just having visible
           | labels/examples. Placeholders disappear when you start typing
           | and have poor contrast
        
       | DeathArrow wrote:
       | I would try another approach: use drop-downs but modify the
       | typing behavior, so if you type 12 it selects 12,not 2.
       | 
       | That way is easier to use on mobile, faster for all use cases on
       | the desktop.
        
       | hendry wrote:
       | It's 2022 and input=date should be used instead for date pickers
       | on the Web.
       | 
       | https://github.com/alphagov/govuk-design-system-backlog/issu...
        
         | Spivak wrote:
         | The problem is that the web didn't make the right separation
         | between form fields (the composite values you submit) and the
         | actual user facing widgets you use to produce those values.
         | 
         | I want to be able to do things like                   <input
         | type=date widget="calendarpicker">         <input type=date
         | widget="mmddyypicker">         <input type=date
         | widget="mycustomcomponent">
         | 
         | so you're stuck with not great UX if the platform-specific
         | picker sucks for your use-case which for this is absolutely
         | does. If you're born in 1950 on iOS have fun spinning the year
         | wheel for a while instead of just typing in the number.
        
         | dividedbyzero wrote:
         | I find that at least on iOS, selecting a birthdate through that
         | is pretty cumbersome. It's great for dates where you can have a
         | close-ish preset value and where day-of-week matters though.
        
         | ourcat wrote:
         | The cross-browser support and standardisation for `input=date`
         | (and `input=datetime`) has been notoriously poor for years.
         | It's still only listed as 'partially' supported on some
         | browsers on caniuse.
         | 
         | That's why so many people roll their own.
        
         | makeitdouble wrote:
         | The interface looks usually nice, but input=date is horrible to
         | manipulate in many implementations.
         | 
         | On iOS choosing year/month is the rolodex interface, as slow
         | and clunky as usual, especially if you're flipping it for 40~60
         | years.
         | 
         | On android it moves month by month at most, so it's even
         | funnier to swipe for decades.
         | 
         | I think the type=number alternative with validation +
         | confirmation text with the month in letters is a better choice.
        
           | oritsnile wrote:
           | On Android you can also click on the year and it should give
           | you a grid view of years
        
             | makeitdouble wrote:
             | Thanks, I didn't realize the year on the corner was
             | clickable.
             | 
             | On Pixel (android 12), it opens a scrolling list,
             | temporarily replacing the calendar month/day view.
        
             | bouke wrote:
             | But how is that easier than just tapping 4 numbers?
        
               | Tepix wrote:
               | It depends. Perhaps for blind people tapping 4 numbers
               | isn't so easy.
        
           | Tepix wrote:
           | iOS has improved it's date picker which is precisely why you
           | should use input=date in the first place. It may have
           | accessibility (a11y) benefits, too.
        
         | joelanman wrote:
         | author here, for known dates like date of birth it's still
         | easier and faster to just type it in. Also type=date has
         | accessibility problems and the design varies a lot, so people
         | might get a decent experience on one browser/OS and a really
         | poor one on another
        
           | Tepix wrote:
           | Still, if many sites use this standard the users will be used
           | to its UI and the vendor has a chance to improve it for
           | everyone when people complain about it.
        
       ___________________________________________________________________
       (page generated 2022-06-16 23:01 UTC)