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

Grayed out buttons should explain why they're grayed out #4391

Closed
SyntaxColoring opened this issue Nov 6, 2019 · 4 comments
Closed

Grayed out buttons should explain why they're grayed out #4391

SyntaxColoring opened this issue Nov 6, 2019 · 4 comments
Labels
app Affects the `app` project feature-request A request for a new feature or a change that isn't a bug. May require further triage or scoping. JS Tech Debt robot-svcs Falls under the purview of the Robot Services squad (formerly CPX, Core Platform Experience).

Comments

@SyntaxColoring
Copy link
Contributor

SyntaxColoring commented Nov 6, 2019

Overview

In the screenshot below, the Home and Restart buttons are grayed out because I'm not connected to the robot. However, there is nothing to indicate that that is the reason.

Desired behavior

Any time a button is grayed out in the App, it should have a tooltip (or something) to teach the user what they have to do to un-gray it.

┆Issue is synchronized with this Wrike Task by Unito

@SyntaxColoring SyntaxColoring added app Affects the `app` project feature-request A request for a new feature or a change that isn't a bug. May require further triage or scoping. labels Nov 6, 2019
@mcous mcous added the robot-svcs Falls under the purview of the Robot Services squad (formerly CPX, Core Platform Experience). label Jan 17, 2020
@mcous
Copy link
Contributor

mcous commented Aug 13, 2020

App button audit for tooltips if disabled below. Hopefully this list is fairly exhaustive, but I definitely could've missed some in individual wizards. That being said, these are the big ones and I think what this ticket needs to be concerned with.

General

  • Main navigation bar
    • Well defined tooltips for disable and notification reasons

"Robot" page

  • Connect button
    • Disabled if robot-server unhealthy
  • Update robot button
    • Disabled if update-server unhealthy
    • Disabled if robot up to date
  • Calibrate deck button
    • Disabled if robot-server unhealthy
    • Disabled if RPC API not connected
  • Home all axes button
    • Disabled if robot-server unhealthy
    • Disabled if RPC API not connected
  • Restart robot button
    • Disabled if robot-server unhealthy
    • Disabled if RPC API not connected
  • Lights toggle
    • Disabled if robot-server unhealthy
  • Check calibration button
    • Disabled if robot-server unhealthy
    • Disabled if RPC API not connected
    • Disabled if deck calibration known to be bad
  • Wi-Fi connect selector
    • Disabled if robot-server unhealthy
  • Download logs button
    • Disabled if robot-server unhealthy
  • "Factory reset" button
    • Disabled if robot-server unhealthy
  • Advanced setting toggles
    • Disabled if robot-server unhealthy
  • Update Robot OS from file (note: button disable logic is currently broken: bug: Update robot from file is disabled if update-server is up but robot-server is down #5429)
    • Disabled if robot-server unhealthy

"Pipettes and Modules" page

  • Change pipette button is never disabled (page not available if robot-server down)
  • Pipette settings button is never disabled (button not rendered if robot does not support pipette settings)
  • Module firmware update button
    • Disabled if module up to date
  • Temperature / Thermocycler deactivate button
    • Disabled if RPC API not connected

"Protocols" page

  • Proceed to Calibrate button
    • Disabled if incorrect equipment attached to robot (note: tooltip positioning is a little broken)

"Calibrate" page

  • Pipette items in calibration list
    • Disabled if no pipette specified for mount
  • Tip Rack items
    • Disabled if tiprack has already been calibrated
  • Labware item
    • Disabled if tipracks have not yet been calibrated

"Run" page

  • Run button
    • Disabled if modules are not connected
    • Disabled if door is open
  • Pause/resume button
    • Resume disabled if door is open
  • Cancel button
    • Disabled if cancel is in progress
    • Seems to have some other disable conditions but they're a little unclear
  • Reset run button
    • Disabled if run reset is in progress

"More" page

  • App update button
    • Disabled if up to date
    • Might have other disable conditions

@SyntaxColoring
Copy link
Contributor Author

Oh man, thanks a bunch for that audit.

I actually stumbled upon this ticket recently and lamented not having been more concrete when I wrote it. I guess I thought it was self-explanatory, at the time. 🤦

@SyntaxColoring
Copy link
Contributor Author

SyntaxColoring commented Aug 13, 2020

Also, if it helps prioritize:

Disabled if RPC API not connected

I think these are the ones that I've actually seen customers get confused by most frequently. (The other ones are still important, of course.)

@mcous
Copy link
Contributor

mcous commented Mar 7, 2022

Closing this issue since the app is moving away from disabled buttons in general, and that work will be better tracked in individual feature tickets

@mcous mcous closed this as completed Mar 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
app Affects the `app` project feature-request A request for a new feature or a change that isn't a bug. May require further triage or scoping. JS Tech Debt robot-svcs Falls under the purview of the Robot Services squad (formerly CPX, Core Platform Experience).
Projects
None yet
Development

No branches or pull requests

2 participants