9

I am making a health and fitness app and I want to know the age of the user using the app. What will be the best way to go about this?

Currently I am debating between using a slider to select the age or just a date-picker to choose a date of birth. I like the slider option because, personally, I find choosing a date through a normal date-picker very cumbersome. However, I haven’t seen many apps use a slider to select age.

Not sure which one to go with, any tips? I am obviously open to any other creative and ideas that allow the user to input their age in an easy manner.

11
  • 4
    Do you want the user to select a range: 20 - 25, etc? Do you want an exact age: 20 y/o or 19? How important is accuracy to your app (what if the age is lets say 9 months off)?
    – Igorek
    Oct 18, 2015 at 4:08
  • 1
    I assume you could also get this particular info with social logins (i.e. Facebook).
    – Crissov
    Oct 18, 2015 at 8:36
  • 2
    I will need an exact age and not the range, but the accuracy is not that critical. I can do with it being nine months off. Oct 18, 2015 at 11:04
  • If these are the only choices, then go with the slider. But also include a spin box or text box for people who need to type. In the months that follow, this age will be accurate plus/minus 1 year, and since you say accuracy isn't critical, you can steer clear of the actual and perceived privacy- and security risks that a specific date brings with it.
    – JeromeR
    Oct 18, 2015 at 23:45
  • If a website or app asks me my date of birth, and I can't think of a good reason that it really needs it, I lie. Whether or not your app actually transmits the user's personal data off their own device, they may not trust it not to. Just ask for their age.
    – nekomatic
    Oct 19, 2015 at 9:28

8 Answers 8

13

Using a slider requires the user to move a pointer back and forth along the line until they get the right age. The range is probably 0-100, and depending on its length, its resolution might be tight. I could get all pedantic about switching between keyboard and mouse and supporting users who have motor-skill problems, but I won't here.

You want an easy way for users to enter their age? Give them a text field and have them type it in.

4
  • 2
    Have you run any usability tests for similar use cases & solution? What I've learned in the past that "free for all" text fields will either give you different data in different formats ('young', '20 y/o' or '19' and so on) OR frustrate the user with validation rules.
    – Igorek
    Nov 3, 2015 at 14:02
  • I don't recall any testers in my usability tests entering anything weird in fields that weren't clearly labeled. And, when implemented well, labels and in-line errors can prevent frustration. Nov 3, 2015 at 14:55
  • Fair enough and you might be right with this particular example. The issue I am referring to came up in qualitative studies we've done with a large tester pool. Even in situations with properly labeled fields and with well worded error messages some users were typing in values which they though were more clear than the expected value by the system.
    – Igorek
    Nov 3, 2015 at 16:06
  • Interesting findings, Igorek. I've never tested the issue specifically. My tests have all been more general, using few subjects. But still, I don't remember seeing subjects making weird entries in form fields. I bet the test environment keeps people on the straight and narrow. Nov 3, 2015 at 18:31
7

A standard date-picker is cumbersome, as you note, because you have to click backwards through years or get a gigantic dropdown with 100 options. It also assumes you care about what day of the week that date was on 30 years ago.

I had to tackle this problem a while back and came up with this solution:

enter image description here

My approach is outlined at http://www.ericstoltz.com/2015/03/03/happy-birth-date-to-you/

2
  • 3
    I like the general gist but I think it is confusing that the numbers go left-to-right but the months go top-to-bottom. (Even though I understand why.)
    – Inca
    Nov 22, 2015 at 13:20
  • How does this test? Are users confused by the combination of left-to-right and top-to-bottom flow?
    – JeromeR
    Nov 22, 2015 at 15:53
5

Since age accuracy is not very important, you may want to consider the following layout.

I am assuming multi-device experience and I am assuming you want to support ages over 100 (if not, you can remove the last selector).

Key points:

  1. A drop down of 100+ elements is tough to navigate and select, you have to be precise with your scrolling
  2. A slider - same concept, it's might be difficult to select accurate year also a slider may imply that someone will die at a predefined point (which I am sure you don't want to imply and you don't want that point to be around 100 - 150, even if thats the truth)
  3. If you want more accurate understanding of the age, you could ask an optional question about their zodiac sign. I believe that is not an intrusive question and is not considered sensitive PII
  4. Date picker may seem like a good option however you will still ask the user to select the year they were born (a slider or a dropdown pattern is still overly complex given the range of years)
  5. Third selector could activate and deactivate depending on a value you specify in the first selector.

Age Selector

8
  • 2
    I think it would be less intrusive to just ask them their age and the month of their birth. There are just as many months as zodiac signs, and the ranges are a lot clearer. More people will intuitively know their birth month than zodiac sign.
    – Cosmic
    Oct 28, 2015 at 16:06
  • True, however some people may not want to reveal the actual month because its considered sensitive PII. I agree that most of people would know the month but not their zodiac sign (that is why that question is optional)
    – Igorek
    Oct 28, 2015 at 16:10
  • 1
    Seems a bit sneaky. If you know their zodiac sign, you know their birth month with a 50% probability. Better I think to ask them their birth month but make it optional.
    – Cosmic
    Oct 28, 2015 at 16:12
  • :) I am not going to argue against it. Both are good options in my opinion
    – Igorek
    Oct 28, 2015 at 16:16
  • 1
    Also, never thought about the angle that the slider might have an implication of the tautology of our lives coming to an end. Oct 29, 2015 at 5:51
3

Here's my thoughts:

  • Considering the fact that you want just the user's “current age” and not their “date of birth,” a Slider would be a much fun way to input age rather than typing.

  • A Date Picker would be cumbersome and an overkill since you're not going for accuracy.

Suggestion:

What would be even more fun than a slider would be a Wheel. Loop - Music Player implements the wheel as a volume control, which works really well.

I'd imagine the number to be in the middle of the wheel and the rate of increase/decrease would be determined by the dialing speed of the wheel. To make it even more user friendly, you can make it snap around the age-range of your target users.

Having said that, a wheel will take up so much more space than a slider, so whether you use it or not would depend on what other elements you have in the screen.

Good luck!

2
  • Be sure to include a text box, as well, in case the slider doesn't give sufficient accuracy on a touch screen for people with large fingers. (It's fair to assume that everyone using a touch screen has large fingers.)
    – JeromeR
    Oct 18, 2015 at 23:42
  • @JeromeR Or just add 2 buttons for [+] and [ - ] underneath the slider. If people have issues with a slider, pulling up a keyboard with small touch-targest isn't the best idea ;) Nov 30, 2015 at 19:22
2

I eventually settled with using a NumberPicker. Attaching drafts of what I intend to use:

The calendar image is clickable

On clicking the calendar, a dialog box opens up with just the valid range of birth years:

enter image description here

2
  • So... why is the first image even there? That tap on the calendar is unnecessary. Nov 30, 2015 at 19:16
  • The tap is unnecessary indeed. I just thought this work flow had more aesthetic sense. Dec 1, 2015 at 1:31
0

data for one session

If you are going to discard the data after the session then a slider is a simple way to grab age. If you are using age groups I would recommend a more simple pattern such as radio button behaviour (but styled).

Do make sure that you can differentiate between not answered and a specified age (don't use 0 as a psuedo-null specially if users may be entering on behalf of a 6 month old child: equally don't use 01/01/1900 as a null value).

But if you want to use the age data in the future storing age at time of data entry is dangerous. (Some time ago this person was 27 is useless. On the 1/8/2016 this person was between 25 and 30 is not much better)

age in the future

If you want to use the age data in the future then DOB is by far the easiest model. Everyone knows theirs but many users have to think about exact age - people worry less about it after 40; just like you stopped worrying about the 1/2 and 3/4s during your teens.

Just make sure you localise for Americans and YYYY-MM-DD cultures. In limited UI's (wearables in our case) we used the YYYY-MM-DD format to avoid confusion between mm-dd and dd-mm when we did not know the locale and to minimise leap year issues for the user.

2
  • I feel that "dangerous" is an overly dramatic use of the word, in the context of fitness. When the user enters the age of 27, the system knows two things: the age and the date. So the system will also know that 365 days later the user will be 28. Yes, there are large error bars on this measurement: plus or minus 364 days. But knowing someone's age plus or minus a year may be entirely sufficient for the site's or app's purpose.
    – JeromeR
    Oct 18, 2015 at 23:40
  • 1
    Yes that's very true. However, I have seen enough cases where people have just stored the age with no timestamp (estimated year of birth); hence the hyperbole. You would never make a mistake like but many do.
    – Aidan
    Oct 19, 2015 at 7:42
0

If you enter age keep in mind that there quite a number of countries where how old you are is counted differently.

  • In the west most people are 0 at birth
  • In Asia some people are 1 at birth
  • Some people are 0 until Chinese New Years and they are 1.

If you aren't okay with being off by 1 year you should probably ask for a date. Or have a year slider and then propose when they were born to allow them to adjust.

-4

Year of Born

I would recommend a spinner with labels of "five year period", e.g. 1991 to 1995. This will allow for the analysis of user data across several years of user entry.

1
  • That doesn't really meet the requirements, and you can probably do better analysis if you have more accurate data in the first place.
    – Midas
    Oct 21, 2015 at 12:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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