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 available kernels rather than languages in Create New Blank Notebook UI #5155

Closed
davidanthoff opened this issue Mar 13, 2021 · 7 comments
Labels
feature-request Request for new features or functionality language-any Area covering general issues geared to supporting any language (not just Python) notebook-getting-started

Comments

@davidanthoff
Copy link

@DonJayamanne helped us "register" the Julia extension with the Jupyter extension so that we show up in the new notebook UI, which is great!

Currently the UI looks like this:

image

Is that essentially showing a list of extensions? It doesn't look like a list of kernels or languages?

I think ideally the UI that would show up would show a list of kernels, right? Because one can always infer the correct language if a user has made a kernel choice. That would also correspond to how this is handled in Jupyter Lab:

image

and nteract:

image

@claudiaregio
Copy link
Contributor

@DonJayamanne Last we discussed this you mentioned generating the full list of kernels available could take ~10s.
Would we cut down on the generation time of the list of kernels if it is selected after a user picks the extension?
Create new nb -> ext -> kernel list available to user + supported by extension

@davidanthoff
Copy link
Author

Are there specific kernel types where it would take so long to generate the concrete list of kernels? I think on the Julia side of things we could probably return that list very fast, I would imagine that we would create the list of kernels we can provide at startup of our extension, so that if the Jupyter extension then queried for that list we could return it more or less instantanious.

But I imagine that for example when it comes to the remote server scenario, it might get slow? Maybe a UI design could be that the first top level list shows all the kernels that can be listed quickly (local kernelspecs and kernels provided by other extensions), and then there is a final entry "Remote kernels..." that would then open another sub list, and would be slower?

I do think it would be nice if we had a UI story here that mimics the other Jupyter clients and is not too deeply nested to generate a new notebook. I just seems quite cumbersome for a user to go through new nb->extension->kernel selection, just to create a new notebook, when the same operation is really quite direct in both Jupyter Lab and nteract...

@claudiaregio
Copy link
Contributor

claudiaregio commented Mar 13, 2021

@davidanthoff I'll wait for Don to respond regarding the technical questions but I agree. The original plan was to surface the available kernels but given the amount of time it would take to generate that full list, users may think something was broken. The next best thing was to surface the extension (which for now seemed like a good temporary solution since the extension name matched the language - .NET, Julia - and seemed intuitive enough for users. Very doubtful they read the full description of the drop down menu option, once they see the name they recognize they click that option)

@greazer greazer added this to the May 2021 Release milestone Apr 1, 2021
@greazer greazer modified the milestones: May 2021 Release, June 2021 Release Apr 23, 2021
@DavidKutu DavidKutu self-assigned this May 5, 2021
@DonJayamanne
Copy link
Contributor

Enumerating kernels can be very slow (specially when we look for python interpreters).
Also in the case of remote, we get kernels from a remote API call.
Hence displaying the list of kernels in the Create Blank Notebook might not be the best option.

At least not until we can guarantee it will be fast (very fast), at least under 2-3s. any longer, then the user would dismiss the propmt all together and move onto another approach.

@DonJayamanne
Copy link
Contributor

@claudiaregio I'd suggest we park this issue for now (I know you have another start page that you're workign on as well). its an unnecessary risk (blocking UI that could result in a poor/slow UX).

@claudiaregio
Copy link
Contributor

@DonJayamanne agreed

@DonJayamanne DonJayamanne removed this from the June 2021 Release milestone May 11, 2021
@greazer greazer added the language-any Area covering general issues geared to supporting any language (not just Python) label Aug 4, 2021
@greazer greazer added feature-request Request for new features or functionality and removed enhancement labels May 4, 2022
@DonJayamanne
Copy link
Contributor

Closing this issue as this command has since been removed.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 1, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
feature-request Request for new features or functionality language-any Area covering general issues geared to supporting any language (not just Python) notebook-getting-started
Projects
None yet
Development

No branches or pull requests

6 participants