Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove discard functionality from the ChemMaster #34092

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

sowelipililimute
Copy link
Contributor

@sowelipililimute sowelipililimute commented Dec 28, 2024

About the PR

The ChemMaster no longer has the ability to discard chemicals.

Why / Balance

This duplicates other methods of discarding chemicals, including the drain conventionally given to chemistry labs.

Any problems it solves are miniscule compared to the severe UI error that is having:

  • a destructive action
  • with no confirmation of the destructive action
  • attached to a mode
  • that is capable of changing without the user looking at it
  • with no explicit indication that a completed action was destructive

In plainer words, the way discard in the UI works encourages irreversible mistakes via a bad UI design, and in enough ways that it would require a restructuring of how the ChemMaster UI works to eliminate these mistakes.

Instead of adding a band-aid solution such as a "Are you Sure?" dialogue or attempting to improve the UI, I took a step back and realised that this functionality doesn't solve many problems for chemists - unlike other features of the ChemMaster that are mostly unique to it at round-start, the discard functionality has a litany of alternatives, including but not limited to:

  • dump it in a drain
  • dump it on the floor and have it evaporate
  • dump it on the floor with space cleaner
  • put the chemical in a container and send it to disposals

Recommended Reading On UI Design

As always, the Nielsen-Norman group is the gold standard for introductory articles to these concepts:

Bruce Tognazzini also has some good elaboration on guidelines and examinations of specific examples:

If you're more into published books, Don Norman has an entire chapter on design and user errors in his seminal work The Design Of Everyday Things titled Human Error? No, Bad Design, which opens with:

Most industrial accidents are caused by human error: estimates range between 75 and 95 percent. How is it that so many people are so incompetent? Answer: They aren’t. It’s a design problem. If the number of accidents blamed upon human error were 1 to 5 percent, I might believe that people were at fault. But when the percentage is so high, then clearly other factors must be involved. When something happens this frequently, there must be another underlying factor.

When a bridge collapses, we analyze the incident to find the causes of the collapse and reformulate the design rules to ensure that form of accident will never happen again. When we discover that electronic equipment is malfunctioning because it is responding to unavoidable electrical noise, we redesign the circuits to be more tolerant of the noise. But when an accident is thought to be caused by people, we blame them and then continue to do things just as we have always done.

Physical limitations are well understood by designers; mental limitations are greatly misunderstood. We should treat all failures in the same way: find the fundamental causes and redesign the system so that these can no longer lead to problems. We design equipment that requires people to be fully alert and attentive for hours, or to remember archaic, confusing procedures even if they are only used infrequently, sometimes only once in a lifetime. We put people in boring environments with nothing to do for hours on end, until suddenly they must respond quickly and accurately. Or we subject them to complex, high- workload environments, where they are continually interrupted while having to do multiple tasks simultaneously. Then we wonder why there is failure.

Even worse is that when I talk to the designers and administrators of these systems, they admit that they too have nodded off while supposedly working. Some even admit to falling asleep for an instant while driving. They admit to turning the wrong stove burners on or off in their homes, and to other small but significant errors. Yet when their workers do this, they blame them for “human error.” And when employees or customers have similar issues, they are blamed for not following the directions properly, or for not being fully alert and attentive.

Technical details

Removed all of the UI, functionality, and translation strings associated with the mode functionality in the ChemMaster.

Media

grafik

Requirements

Breaking changes

Changelog

🆑

  • remove: Removed Discard mode from ChemMaster

This duplicates other methods of discarding chemicals, including
the drain conventionally given to chemistry labs.

Any problems it solves are miniscule compared to the severe UI error
that is having a destructive action without confirmation attached
to a mode, the most common source of user error.
@github-actions github-actions bot added S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. Changes: UI Changes: Might require knowledge of UI design or code. size/S Denotes a PR that changes 10-99 lines. labels Dec 28, 2024
@K-Dynamic
Copy link
Contributor

This is based, but my only issue is that people will transfer to the ChemMaster buffer considering its infinite storage.

@beck-thompson beck-thompson added P3: Standard Priority: Default priority for repository items. D3: Low Difficulty: Some codebase knowledge required. S: Needs Review Status: Requires additional reviews before being fully accepted T: Balance Change Type: Balance changes through direct value changes, or changes to mechanics that affect it A: Medical Area: Medical department, including Chemistry T: UI / UX Improvement Type: UI and player facing interactive graphical interfaces and removed S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. labels Dec 28, 2024
@github-actions github-actions bot added the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted label Feb 27, 2025
Copy link
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: Medical Area: Medical department, including Chemistry Changes: UI Changes: Might require knowledge of UI design or code. D3: Low Difficulty: Some codebase knowledge required. P3: Standard Priority: Default priority for repository items. S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted S: Needs Review Status: Requires additional reviews before being fully accepted size/S Denotes a PR that changes 10-99 lines. T: Balance Change Type: Balance changes through direct value changes, or changes to mechanics that affect it T: UI / UX Improvement Type: UI and player facing interactive graphical interfaces
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants