We have several video fitness programs with difficulties related to the intensity of the workouts. When categorizing them by difficulty "Easy" and "Hard" are clearly communicated by these terms but this leaves a large number of programs as "Medium" which doesn't account for those that can be modified to be easy-medium or can progress from medium to hard.

This difficulty categorization's primary goal is to, alongside other information, allow users to know "at a glance" if a program is right for them or not.


  1. Does it provide a better user experience to introduce a range system (easy = 1-2, medium 2-4, hard = 4-5) or does the complication for users comparing programs outweigh the benefit?

  2. Would "Difficulty: [ ] [X] [X] [X] [ ]" be enough to communicate that this program oscillates between the upper tier of easy and the lower tier of hard or would more context be needed?

  3. Is it better for users to keep it to Easy, Medium, Hard where no "processing of concept" is needed with the caveat that the range of intensity in "Medium" is not very explicit?

Other factors to consider for the difficulty system are that it will be:

  • Used to filter the programs.
  • Applied to workouts (which are the units inside the programs).
  • Used universally from mobile devices to TV platforms.

Help is appreciated, thanks beforehand :)

  • What would be an example of an increased intensity? More reps or a harder type of a pushup?
    – Mervin
    Commented Mar 25, 2014 at 17:33
  • I'd say a harder type of pushup. Things like amount of reps or the weights you use are user-dependent and obviously very modifiable.
    – eduardorh
    Commented Mar 25, 2014 at 17:38

5 Answers 5


What about a range slider? You could use a single pointer for easy, medium and difficult. For programs that can vary, show a split pointer showing the range.

range sliders

  • Thanks, this is also something we've considered. I think a big upside of the way you're presenting it is that it'd work for both programs (right) and workouts (left).
    – eduardorh
    Commented Mar 25, 2014 at 20:56

I think you could word it better, to make it clearer what the goals are,(I'm assuming you want people to advance through your system).

instead of:   easy, medium, hard

do:           Beginner, Intermediate, Advanced

To me the words here say enough without any explicit rating system, you will also need to make sure that it's easy to tell which workouts are which, one solution would be to color code each level of difficulty possibly with a badge.

  • Thanks Derek. We've considered that, it doesn't solve the issue with the "moderate" ones having such a wide range.
    – eduardorh
    Commented Mar 25, 2014 at 17:49

I would suggest a layout like this


download bmml source – Wireframes created with Balsamiq Mockups

This allows you to specify the level of difficulty (which would be by showing a progress bar) and the generic effort or intensity associated with the exercise by a simple text.

I'll update this answer with some visual examples if I get some.


A five "star" system for difficulty would help people understand the system at a glance due to familiarity of leveled rating systems for other services/activities on the internet.

Yelp: Sort by price

Yelp Sort By Price

Amazon: Search by reviews

Amazon: Reviews

This would give you the opportunity to have not just 'Easy' and 'Hard' but also Medium, and easy-medium, medium-hard.

I do not think that a star would be a great indicator of difficulty, but depending on the 'playful' nature of your interface, you could make the 5 levels a shape that corresponds to fitness, such as a weight or something.


What to do if you feel like there is too many items in the bucket? Split it into two. But, how can you do it for "easy-medium-hard" which are clearly (you think so) distinguished from each other?

The answer is:

  1. Add more grouping values
  2. Switch from easy-medium-hard to another rating system (and try to find a way to make it more clear)

For me it seems like you may use "weeks" (or maybe "months") of training as points which you can give to any video, i.e. every video will be annotated with numbers 1-9 (for example) which means "how many month a visitor should train before to be able to do this workout". Number of months both clear to the user and also gives him a more precise direction of training (from sessions for 1 month to 2nd and so on).

You may try to group these stars into top level groups (novice = 1-3 stars, beginner = 4-6, athlete = 7-9) so your visitors will move not only from "month to month" but also toward a more generic achievment.

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.