-
Notifications
You must be signed in to change notification settings - Fork 21
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
META - Design a better JupyterLab launcher #255
Comments
Thanks for opening this issue! We've discussed this a few times, but I did not realize we already had this issue to point folks to. :) cc @dharhas - so you're notified of activity as this overlaps slightly with discussions in Nebari/JATIC spaces |
I would like to address this in the next JATIC increment. |
Specific requests that have come up:
Also relevant: Adding notebook "favorites" in the sidebar will be available in nebari soon From @dharhas : |
From @krassowski : I know that this issue is about redesign, but I will also leave some implementation notes that might help with planning:
Searching for recently used files/notebooks would be easy to implement and might be accepted in JupyterLab core. Searching for arbitrary file on the server which may have hundreds of thousands of files will have a high maintenance cost because it has performance implications (and increases surface for denial of service attacks). It feels to me that general purpose "search for a notebook" might be better placed in the file browser rather than launcher. However, searching for a tile in the launcher sounds like be a good idea, especially if the search box was hidden by default (e.g. only showing when user clicks on a discrete search icon or presses a key combo). This is because most users will not benefit from a new search box (most will only have a few tiles), but some users with many kernel tiles (or even the "recently used file tiles" if we decide to include those) will.
This can be implemented in jupyterlab-nebari-mode extension by replacing (extending) the default provider of A basic search function could be contributed to the JupyterLab core by rewriting the default selection dialog. However, some advanced users are strongly opinionated on the existing sections in the kernel selection list so it would be easier to contribute back an improvement which does not change that too much. For reference, this is the existing kernel selection dialog:
For reference this refers to PR jupyterlab/jupyterlab#15483
For reference, this refers to PR jupyterlab/jupyterlab#15946 On the launcher itself, there are two upstream tickets in JupyterLab already:
On the last point, it is worth considering if we should allow users to just drag widgets around the launcher to customize the layout it to their liking, especially if we are adding more optional things. |
random thoughts. One confusion I have seen in new users is that they expect the launcher to be a file-browser when they see lots of Jupyter icons (one for each python enviornment) they mistake it for a list of their Jupyter notebooks. The two things I use the most in the launcher is
Things I have never used:
We have had a client who customized the launcher to include shortcuts to favorites or example folders. Specifically for Jupyter I feel like we need a two step launcher -> 1. Select Jupyter, 2. Choose environment |
I'm following up with a summary of the feedback the last round of mockups received for record-keeping purposes. Let me know if you have any questions!
|
We are going to pause here on design iterations and work on implementation. Once we get a POC in place and have some user experience to work with, we may revisit design. Thanks @isabela-pf for the great work! |
Regarding the kernel selector there is also some designs in jupyterlab/jupyterlab#14717 but I don't think they get us closer to what we want to achieve. |
A brief update for anyone following:
Kernel selection dialog is partially implemented:
Not sure whether to go for
One blocker on using more metadata from conda is the PR to conda-nb-kernels being stuck. |
Should we move this issue over to the implementation repo - https://github.com/nebari-dev/jupyterlab-new-launcher/ |
Probably but since they are in different orgs, we can't do a "transfer". We'd just have to create a new issue and copy the relevant info. |
Yes, it's tempting to go this way as it is also less work but then we need to rethink the "Always start the preferred button" checkbox and buttons.
Yes, it was merged today: anaconda/nb_conda_kernels#262
The namespace will be available as a column. I guess you are suggesting having a filter by environment above the table, or in context menu over column? |
I was responding to your "Select Kernel" UI. I wasn't aware that would be part of this work, but if it is, I thought I'd share the designs we had for that. If the namespace will be available as a column there as well, that will work too. |
@dharhas can you confirm if this is part of it or not? |
Yes, we need this component as well. |
I think this is a good time to evaluate the initial implementation (you can try it on binder: https://mybinder.org/v2/gh/nebari-dev/jupyterlab-new-launcher/main?urlpath=lab), start opening individual issues over on https://github.com/nebari-dev/jupyterlab-new-launcher and maybe close this issue. The next step for me is to investigate improvements specific to conda-store (which columns to show, whether to split some metadata into multiple columns, think about filtering by environment etc) and implement changes based on feedback. |
I agree! Great work! |
Moving discussion over to nebari-dev/jupyterlab-launchpad#4 and closing this one! |
Background
The JupyterLab launcher works well for traditional workflows where users work locally, more likely within a conda environment (or similar). Thus they'd end up with a handful of kernels (at most).
However, once that workflow breaks, as is what conda-store enables: local or remote development with many available kernels, the launcher becomes unusable by most folks:
Tasks
The text was updated successfully, but these errors were encountered: