For a web application I'm developing my manager has asked me to display the life expectancy of a hardware component. The component will according to the manufacturer handle at least 16 000 000 operations, and is after that in danger of breaking.

I thought I would display it like a percental value going from 100% to 0% as a metaphor for the health of the component. However, there is really no telling if the component will break at 16 000 001 operations or at 30 000 000 operations, pretty much like a light bulb. Meaning that the health could be sitting at 0% for a large portion of its existence, which wouldn't feel that professional... =\

So I would really like to have some input from you guys. Does anyone know of any best practice for circumstances like these or have any other ideas.

If you want me to provide more information then please ask! =)


EDIT: With the input from Ben Brocka I decided to have the health presented as a percentual value dropping from 100% down to 11% and from 10% and down I will present: "At Risk" in red with a tooltip saying "Health is below 10%".

4 Answers 4


Percentages can be very helpful if you have a real threshold to relate them to. For instance my laptop tells me what percentage of charge my battery now holds in relation to the original battery. It's currently at 80%, which I know isn't terrible, but in this case 0% actually means "it is broken"; that's what people are going to expect. While you might encourage people to upgrade their hardware by implying an old device is "broken", don't do it; it's deceptive and it sounds like you're trying to avoid that.

I think the solution here is to use descriptive words. 100% doesn't really mean it's in perfect working order; it means it's "New". 50% doesn't mean it's half broken, it's just more likely to be broken; it's "Used". 0% doesn't mean it no longer works; it's "At Risk". An At Risk component might last for 2 years, but I won't be surprised when it breaks. If my New product breaks I know something was probably wrong.

If the users want specific information about how many operations are left (this is most important if they have any control over how they use the component) then you can give this is a deemphasized bit of info. Display this info on hover or "collapse" it so it's not always in view.

  • 2
    I like that, I'll take it up with my manager and see how he likes the idea of using descriptive words instead. Thanks! Commented Dec 1, 2011 at 14:59
  • 1
    I discussed it with my manager and we decided on a combination of the two. Having the health drop from 100% to 11% and below 11% we will display "At Risk" in red with a tooltip saying "Health is below 10%". I thought that would be pretty good and work around the other confusions. The problem with having descriptive words is that we at least want the health to be displayed in five different stages, having five descriptive words all in "linear correlation" with each other seemed a bit tricky, and possibly not get through to every user. Commented Dec 1, 2011 at 15:43
  • @AndroidHustle five stages with a clear linear relationship would be difficult to achieve; displaying a rough % is a good solution. I like the display of "below x%" which at least solves the problem of giving the impression that the component is literally broken.
    – Zelda
    Commented Dec 1, 2011 at 16:29

You do not have the actual measure of device health, just the number of cycles. Some devices may be at 150% of recommended cycles and still work fine.

Users care about the risk of device failure. You should phrase the warning in those terms, such as:

  • 0%-80% of rated lifetime in cycles: Low failure risk.
  • 80%-120%: Failure risk. Near designed lifespan. Consider replacing.
  • 120%+: High failure risk. Beyond designed lifespan. Replace immediately.

Of course, the exact thresholds depend on the probability of failure over time. This does not only depend on the expected number of cycles before failure but also the expected deviation. Some devices may fail long before or after expected (e.g. lightbulbs), while others fail fairly close to the expected limit (e.g. brakes which wear out).

If you need a continuous indicator, you can still use this approach, for instance:

enter image description here

Mean time between failiures (or perhaps, mean cycles before failiure in this case) is the point in the middle. Since the concepts of MTBF/MCBF may not be familiar, a link or a tooltip are useful.

The indicator has an arrow on the right since there's no limit to how far it could go (300% MTBF is unlikely but happens). Indicator's last position should be just before the arrow.

  • 1
    +1 Very true. I like the way you reasoned around the problem. A problem however was that we wanted the health of the component to be displayed in more than three stages, and forming descriptive words for five stages didn't feel that straightforward Commented Dec 8, 2011 at 12:04
  • @AndroidHustle I added a sample continuous indicator.
    – dbkk
    Commented Dec 10, 2011 at 1:08

It helps if you consider human age. Imagine that nobody dies before 65, but people usually live longer - say 72 on average. But at age 70, their remaining live expectancy might be 75. So, for someone aged 60, you could show them at 60/72 (80%, in green) of their expected life, and at age 70 you'd show them at 70/75 (93%, in orange).

So, to figure out the correct percentage in your case, you want the mortality rate past 16.000.000 operations, and in particular the expected number of operations.

  • That makes sense, and I think it makes more sense when you consider that people do die before 65. If 70/100 people will make it to 65, 50/100 will make it to 72, and 35/100 will make it to 75, the ones who made it to 65 now have a 35/70 chance of reaching 72. Commented Dec 1, 2011 at 17:02
  • Your answer reminded me of the quite nice graphs in this blog post on the mortality curve. The percentage can be displayed as a 'survival rate' - what are the chances you'll make it to tomorrow.
    – icc97
    Commented Jan 26, 2016 at 2:18

What I would do is get a set of icons indicating health status, and show the number of operations left as a popover. Provide a clearly distinguishable (for example with an exclamation mark) icon for below-zero numbers, and optionally, always display a label showing the number of operations if they run below zero.

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.