I'm making a fencing scorekeeping Android app with an emphasis on design and simplicity (i.e. just showing the essentials). As such, I'm trying to avoid dedicated buttons for functions, but am using taps on the indicators to perform a function. For example, a tap on a fencer's score adds a point, and tapping on the timer starts/stops the count down.

Here's a screenshot of the app in it's current state:

I want to add score editing functionality, but I'm not sure what the best way to do it would be. Scores in fencing only go up, so the editing would only really be necessary to undo an accidental click or something along those lines. I have come up with a few options which I consider to be the best ways to add editing functionality, but I need advice on picking one (or a better alternative).

Option 1: tap to add score, long-click to subtract

Option 2: tap to add score, long-click to pop-up number picker (like this one: )

Option 3: swipe up to add score, swipe down to subtract (maybe tap adds score)

Option 4: tap on top of score to add, bottom to subtract (invisible buttons)

Editing from another screen (that could be accessed from the overflow menu) is an option, but I think it's too tedious to correct an error that way. I should note that I have a reset option in the overflow menu (and a settings button that does nothing yet).

The issue I have with long-click is that it's not really obvious. Sure, similar apps do it, but it's not always clear, and many high-quality apps are moving away from burying functions behind long-clicks. The advantage of the picker over just subtracting a point is that the user can rapidly skip a number of points in either direction if they accidentally reset or start using the app after a number of points have already occurred. The downside is that removing a single point requires an extra click. Swiping by itself is not the best option in my opinion because tapping on the score buttons also stops the time and swiping is much more difficult to do precisely (and without looking) than tapping is. Adding a tap function on top of swiping just seems redundant. The benefit with swiping is that it's a semi-obvious action and there will be an animation when the score changes.

If I pick option 2, I'll be able to do the same thing for the timer (long-press to edit with a picker).

More experienced UX designers, what are your thoughts? Am I approaching this the wrong way?

  • @DirkvB Won't that clutter the UI? Also, it's giving a minor function equal weight with the most important function in the app. Maybe I'm not visualizing what you mean, though.
    – ethanmad
    Commented Jul 30, 2014 at 1:04
  • What about a button/menu setting to undo the last score change? After all it's not commonly going to be needed and you want to communicate to the scorer that the feature is provided to fix mistakes? Commented Jul 30, 2014 at 1:39
  • @Sidnioulz I think that's a really good way to do it; it's obvious, simple, and only an option when it's necessary. Thanks! Which do you think is better: Gmail-like undo toast or a dedicated button in the overflow menu?
    – ethanmad
    Commented Jul 30, 2014 at 2:06
  • Never developed on phones so I wouldn't know ;) I just thought I should mention undos... But intuitively, it depends on your users: do they notice a score mistake immediately or do they e.g., double tap or tap by accident without noticing and notice only later? Commented Jul 30, 2014 at 9:53
  • Also if errors are frequent and scores are only incremented one by one, you could change tap into double tap to add one point. Commented Jul 30, 2014 at 9:54

4 Answers 4


Taps are easy to do accidentally. A good swipe with some kind of tangible feedback (maybe a vibration) would help for getting a solid confirmation that you recorded the point, even if you don't look down.

So I would use swiping, and focus on horizontal instead of vertical (right to add to right player, left to add to left player). To take away a point you could make it a two step process: swipe down to engage a "take away mode" (there would be some visual feedback...glowing scores and the UI changes) and then do the swipe in the direction of the player to take the point away from.

For feedback, configurable settings for alerts (audible/vibration). Perhaps default to one vibration when a point is added, and two when one is subtracted. Also: a timer indicating how long ago a point was recorded could help someone who wondered "did I just record a point or not?" who looked down at the phone. Possibly a visualization of some kind showing the timeline of points at a glance.

When cupping the phone in one hand and swiping with the thumb, a horizontal movement doesn't have to be balanced against a concern for shoving the phone out of the cup shape of your hand. I think it feels more comfortable as a motion. Also, phones are thinner than they are tall...making it less ambiguous that you have a shorter range of motion to complete the swipe. Taking points away is presumably rare so a two step process should be all right.

  • Thanks! I hadn't thought of a horizontal swipe. I was thinking of adding a score breakdown. I'll try to implement both things and see how the fit. Any other thoughts or complaints?
    – ethanmad
    Commented Jul 30, 2014 at 0:54
  • @ethanmad Looking at your picture more closely I see you have two scores...in which case I think a horizontal swipe left should add to the left player and a horizontal swipe right should add to the right player (one vibration feedback, audio alert if enabled). Taking away a point could be a two step operation of a swipe down followed by a swipe in the direction of the player to ding (two vibration feedback, audio alert if enabled). Commented Jul 30, 2014 at 1:01
  • It's true that there are two scores, and I like that way of adding scores. Subtracting is a little weird, but it's not so bad. How do you recommend I implement time editing?
    – ethanmad
    Commented Jul 30, 2014 at 1:15
  • @ethanmad A general facility for editing the history (going back in time and inserting a point, for instance) sounds like overkill. I'd think being able to view the history as a list would be enough...and if there was an error in scoring, compensating through adding/removing points in the main interface would be sufficient. Often the best apps stay simple. Commented Jul 30, 2014 at 1:28
  • I only meant a list, not anything more complicated.
    – ethanmad
    Commented Jul 30, 2014 at 1:46

Perhaps after you complete a tap, a small pop-up from the bottom appears for a few moments and includes a button allowing you to undo the tap.

e.g. "Point added. [undo]"

This keeps the interface clean but provides a means to undo mistakes and minus the score.

Alternatively I vote for option 3. Dividing the screen into two vertical halves so the left hand side vertical swipe controls the left hand score and vice versa for the right.

  • That's exactly what I've been doing recently. I like this because it also tells the user what happened last. Not sure if it's necessary, but I think they're helpful.
    – ethanmad
    Commented Nov 27, 2014 at 9:32

Here's my thoughts.

Assumptions - The person taking score knows all the ins and outs of fencing etc. I'll also assume that they will be using this application frequently so let's say they peak as users pretty quickly, due to limited functionality.

I'd be more drawn to option 1. Reasons being adding a score is the primary use case of the app, and giving equal prominence to subtracting the score will detract from the main focus. If you were concerned about affordance of the remove option you could have this appear on completion of adding functionality, which would make it more obvious. Try not to make this function too intrusive though.

For another interaction method you could consider a swipe either way to add points, as this may prove quicker as the hit area will be bigger so less precision is required. For removing, holding down on an area relative to that player could remove the point, like your option 1.


Here is how I would solve the problem of scoring a fencing match using a smartphone

1. Make the timer section clearly separate from everything else

By separating the timer section at the top from the rest of the screen it is easier to see it at a glance and becomes a clear hit area for starting, stopping, resetting the time.

  • tap to start or stop the timer.
  • tap+hold to reset everything after confirmation. Confirmation is okay in cases of hold operations that are hardly ever done on accident (i.e. hold operations are very deliberate)

2. This leaves most of the screen open for swipe input

Swipes are harder to do accidentally than clicks. By allowing a user to swipe anywhere on the screen they can keep score without even looking!

  • swipe left +1 to the guy on the left with short single pulse vibration as confirmation

  • swipe right +1 to the guy on the right with short double pulse vibration as confirmation

  • swipe multiple fingers either direction double one of the actions above

  • tap+hold on a number -1 with a longer vibration to confirm this rare undo action

3. Guide first time users through these interactions

When launching the app for the first time new users will need to be taught how to do all the simple functions above. Luckily there aren't very many so I would introduce all the actions above in the order listed. Don't do this every time the app is launched because that would be annoying. Once you know the system it is actually really intuitive and easy to remember. Add a "How do I use this?" link to the action menu in the upper right so that users can run the tutorial anytime they want.

Sounds like a cool app. Good luck!

  • the undo suggestions are usually good UX but I wouldn't use them in your case for the same reason I wouldn't use taps for anything other than starting or stopping the timer. A tap interaction requires looking at the screen and targeting a very specific spot -- not easy especially while trying to keep track of two guys poking each other with a foil -- :)
    – DaveAlger
    Commented Feb 26, 2015 at 20:43

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.