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

Show in editor progress when connecting to a kernel #11161

Closed
rebornix opened this issue Aug 19, 2022 · 2 comments
Closed

Show in editor progress when connecting to a kernel #11161

rebornix opened this issue Aug 19, 2022 · 2 comments
Assignees

Comments

@rebornix
Copy link
Member

Jupyter extension presents all available Jupyter kernel specs, remote Jupyter server and Python environments to users when users open a notebook. The selected kernel doesn't necessarily have all the dependencies installed or might be slow to connect to, meaning when users click the run button on a cell, users are not likely to get execution results immediately. The delay might be seconds, or minutes if it requires downloading of ipykernel or Python extension, etc.

Currently, after users click the run button, we immediately show a pending icon to the cell status bar, indicating the cell is about to run once the extension/kernel is ready. The outline and run all button in the top toolbar will show a spinner too. These are the only two places where we show progress.

Jupyter extension might show a notification when it receives the request to start a kernel. For example, it shows a notification of the ipykernel installation progress for a new Python environment.

image

From the image shown above, inside the notebook editor, there is no clear indicator that we are connecting to the kernel, except the pending icon on the cell status bar.

Proposals

To make the connection state more intuitive, we can explore a few other UX affordances to help users understand what's going on after they click the run button

1. Editor Progress Bar

We can show a progress bar at the top of the notebook editor

image

2. Spinner on Kernel Status Bar

We could turn the icon in the kernel status bar to a spinner, which can give a strong indication that the kernel is running

image

@rebornix rebornix added the bug Issue identified by VS Code Team member as probable bug label Aug 19, 2022
@github-actions github-actions bot added the triage-needed Issue needs to be triaged label Aug 19, 2022
@rebornix rebornix removed bug Issue identified by VS Code Team member as probable bug triage-needed Issue needs to be triaged labels Aug 19, 2022
@rebornix rebornix self-assigned this Aug 19, 2022
@rebornix
Copy link
Member Author

A good example of how we are missing progress in kernel connection is #9640 (comment)

@olguzzar
Copy link

I think this proposal would help an issue that I saw when running through the golden scenario. The kernel was still in the "connecting" state, but that was only apparent if you looked at the bottom status bar. While it was still connecting, I was then able to click "Run all", and "Go To" showed the spinning icon. As a user, this indicates to me that the notebook is actively running cells, when in reality, it's still trying to connect. Adding some sort of visual indicator that the kernel is connecting would be helpful. Additionally, it would be nice to have the action buttons, like Run All, disabled during the connecting phase.

Video recording of this scenario: https://msit.microsoftstream.com/video/79a60840-98dc-a27a-e9b5-f1ed287bbe75?st=149

@rebornix rebornix closed this as completed Dec 6, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 18, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants