In Carbide Motion, when a job is running, a “Pause” button is shown to allow the user to pause the currently running job. Once the job is paused, the “Pause” button immediately turns into a “Cancel” button, and the status text becomes a clickable to resume the job. This is poor UI design. Here is a alternate UI scheme that would be a bit nicer:
State: Job Running
Button 1: “Pause” -> Goto state Job Paused
State: Job Paused
Button 1: “Resume” -> Goto state Job Running
Button 2: “Cancel” -> Goto state Job Canceled
The “Pause” and “Resume” buttons should appear in exactly the same place, so that an accidental double-click of the pause button doesn’t terminate the current job and eliminate all of the progress made. Also, “Resume” should be a button, just like “Pause” and “Cancel”, rather than some weird clickable status message.