I'm building a mobile form to capture a golf scorecard. There's inherently repetition there (either 9 or 18 holes). Currently the user enters the par via a segment button and the distance via an empty text field. The segment button is quite easy and efficient, but the text field is rather cumbersome.

Any ideas on an efficient (both easy and accurate) way of entering a distance? Perhaps a slider or some other interaction element? Screen grab below for context...

screen grab

  • 5
    I am not sure what problem you are trying to solve here. I would say that the simplest thing for the user is to just type in the 2/3 digits required. Which is what you already have. A slider is fiddly and difficult to be precise, so not a good option. In a really advanced solution you could just have the user select which course they are at, and it would already know all the distances. This would require a lot of effort on your part to set up the DB though, you could also collect user data to build the DB too.
    – musefan
    Aug 27, 2020 at 8:27
  • Thanks. That's helpful. I've tried to think of many different avenues and glad there's agreement that I've selected what seems appropriate. Never hurts to ask though, right? Just in case there's a pattern I haven't thought of.
    – phdj
    Aug 28, 2020 at 0:28
  • You could also try allowing the definition of a course somewhere else in your app. I'm sure it wouldn't take too much time or effort to find the par and distance for holes in some of the more major clubs so that you could offer them as predefined courses and keep building a centralised database from (cleaned and filtered) user entries. Another cool feature might me to hook up the phone's GPS and gyroscope to pick up when a swing is followed by a walk and automatically collect the number of strokes but that would also require a fair amount of testing. Sep 9, 2020 at 8:15

3 Answers 3


like to throw out a suggestion here, although I do recognise that your current design is good enough.

Retaining the layout as per your design, you may like to consider turning the number of holes into a horizontal scroll and the distance into a vertical scroll.

image showing row view of the design

  • If you do go with this solution, I'd recommend that your scroll inputs show a partially revealed number peeking out at the scroll's edge to better indicate to the user that there is more data to be found in a particular direction. Without being primed on the fact that the yards is a scrolling input, I'dn't've known that's the interaction method for that input. I might have been more successful, however, had I seen the bottom edge of "10.0" above, and the top edge of "11.0" below. Mar 5, 2021 at 13:37
  • P.S. I'd blame that triple contraction (I would not haveI'dn't've) on StackExchange's comment character limit, but really I just couldn't pass up the opportunity... ;) Mar 5, 2021 at 13:40

The first user who plays a course should do the manual work of entering the par and yards for each hole. The app should save it and remember its configuration.

Every subsequent user should just tell the app which course they’re playing, and the app should find it and pull it up for them. If they want to edit their instance of the course, they can start with the defaults and make changes.

If the major task is only done once, it’s okay to use input fields.


Tapping in the input, displaying the numeric keypad (the critical part), would make the yardage input the smoothest manual option. OCR scanning of a printed card would be another cool option... but that was not your question.

This design is simple enough to prototype into something working without much effort. You can then try performing some inputs and measure the time and effort to do so. Don't need to save anything, just the interaction with the elements.

Your Answer

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

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