I am making caffeine tracking app. Measuring unit is very important for my app. At first I decided to make it as powerful as possible, so on very top of the screen I put control for switching between US and EU units.

screenshot with tab switch: oz, ml and ml small
This screenshot status bar is cleaned with Altershot app.

Users find my UI confusing and bloated. First thing I learned, I don't need "ml small". Than I figure out that all my users always use only one unit: ml or oz and don't switch.

I am working on update 1.1 and I decided to completely remove this control from my application. App will use ml if user located in any region but US. It is important that user can use any language, this will not affect the app. Do you think that people located in US don't ever use ml? Same with people in EU — never using fl oz.

I have three options:

  1. Completely remove this setting and look into locale.
  2. Look into locale but let user change it in Settings app.
  3. Left it as it is on screenshot.
  • You may find some crossover here. In Australia we use mL for just about everything else, but you still find coffee sizes advertised as 8oz, 12 oz etc. So giving the option to choose is still valid.
    – kerr
    Aug 17, 2015 at 1:06
  • I have no idea, what “ml small” was ever intended to mean. There are several definitions of the (fluid) ounce, but only one for the liter and hence milliliter. (Well, for a short period of time the liter was defined based on the mass of water rather than being a proper volumetric measure, but the difference was within measuring tolerance for all non-scientific applications.)
    – Crissov
    Aug 17, 2015 at 8:09
  • @Crissov "ml small" is the same as ml but for extra small cups, for example 30 ml.
    – Yurkevich
    Aug 17, 2015 at 8:11
  • That doesn’t make sense at all, but you learned that already.
    – Crissov
    Aug 17, 2015 at 8:16
  • @Crissov yes I did. If you look on the app I have long list of ml sizes to scroll instead of keyboard input. I decided to make 2 separate lists. Now I will have only one with large step: 5, 10, 15...
    – Yurkevich
    Aug 17, 2015 at 8:18

2 Answers 2


Let the device itself help you

Can your app look at the regional settings on the device, for example as described in Apple's developer library? If so, you could then:

  1. Use the appropriate unit of measure for that region.
  2. If your app has a section for user preferences, bury the ml/oz setting for occasional users who want it.
  3. Also, be sure to log the frequency of use of this setting, so that you feel secure in taking step 4.
  4. In a future release, remove the user setting.

Or you could do steps 1 and 4 immediately, since in general users don't customise their software settings.

For help in implementing this or a similar solution, you could visit StackOverflow.

I hope that helps you move forward.

P.S. In the USA everyone uses fluid ounces for beverages that contain caffeine.

  • I thought Coke bottles were marked in liters in the US, too, or at least the PET ones.
    – Crissov
    Aug 17, 2015 at 8:04
  • @Crissov simple web searched shows that Coke cans has both oz and ml labels.
    – Yurkevich
    Aug 17, 2015 at 9:18
  • I was talking about bottles and I meant they have round metric sizes in the US, too.
    – Crissov
    Aug 17, 2015 at 11:23

Units are good for measuring stuff exactly, and it’s beneficial to have a single and consistent system (hence the system-wide locale setting that you should use). For your use case, however, they probably play a minor role, because no user will actually do any measuring, so exact values and units should be hidden away in Preferences/Settings/Presets!

There is a limited number of caffeinated beverages – coffee, tea, cola, energy drink, and mixed drinks based there upon – and, depending on type, there are also only few common sizes they are consumed by. Each popular variant of coffee, for instance, is served in a more or less standard-sized container, e.g. an espresso cup, coffee mug or latte macchiato glass. Most people prefer certain drinks and containers either by choice or by availability. They usually don’t know the exact size of a glass or (real) cup, but they could read the label of a retail can or bottle, or their (S, M, L, XL, XXL …) take-away cup.

That means the app should supply (localized) presets and it should learn the frequent ones. Users should be able to alter those presets case-by-case or permanently. This probably is better done by increasing or decreasing the predefined amount rather than entering a completely new value.

  • I understand what you're saying, but I can't go with presets strategy. I made a research and there's some apps out there which using this strategy. I found many users including me who are not happy with presets, they want to use their own sizes. My apps allows to create custom presets.
    – Yurkevich
    Aug 17, 2015 at 9:18

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.