Just brain dumping here; maybe an issue isn't the best place for this sort of discussion. As a new user with slow equipment facing driver crashes, when I click a button, it's difficult to tell whether:
The operation has completed successfully and all the changes have been drawn
Background op finished ok but screen still drawing changes
Op finished ok but there were no changes to draw
App is still receiving data from instrument
Request has not yet been answered by instrument
Request has failed or been rejected by the instrument
Request has timed out
The application has hung or is looping in the background
The scope has crashed
Usually, the only feedback I have is limited to:
There's a new curve on my screen
The tooltip didn't vanish when I moved the mouse away from the button (app is probably looping or hung)
Scope is blinking angrily (either transmitting or crashed/bugged)
Trace data from SCPISocketTransport on the console shows varied data (probably still working on the request) or is looping rapidly (hang)
With the understanding that crashes should become less common and interactions generally more seamless as bugs are worked out, there are a couple of ideas that come to mind:
Add a visual hint such as the "hourglass next to the cursor" sort of deal, when the app is waiting to hear back, receiving data, or otherwise "thinking"
Design some system to monitor transport metrics and detect anomalies that suggest something has crashed, and report that back to the user somehow (sounds kinda complex, and hopefully becomes less useful as baseline reliability improves)
Just brain dumping here; maybe an issue isn't the best place for this sort of discussion. As a new user with slow equipment facing driver crashes, when I click a button, it's difficult to tell whether:
Usually, the only feedback I have is limited to:
With the understanding that crashes should become less common and interactions generally more seamless as bugs are worked out, there are a couple of ideas that come to mind: