jupyter / notebook

Jupyter Interactive Notebook
https://jupyter-notebook.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
11.69k stars 4.93k forks source link

Have a more consistent UX between Notebook v7 and v6 in the file manager. #6397

Open fperez opened 2 years ago

fperez commented 2 years ago

Problem

For users transitioning from Classic to Lab-based tools while seeking to keep their existing experience (such as we are looking for in berkeley-dsep-infra/datahub#2422), having a consistent UX from Classic to Retro is very important. In our case it's doubly so given the introductory educational context.

To facilitate this, the Retro file manager should match the UX of classic as closely as possible. A few things come to mind from a quick check, but a more thorough audit should be done:

This list is just a start from a quick review, but overall having as close UX parity as possible in retro would help us tremendously in considering the move of our courses to Retro.

Thanks!!

jtpio commented 2 years ago

Thanks @fperez for raising these points.

A rework of the file browser has been a long standing issue in JupyterLab. Ideally many of the items mentioned above and in jupyter/notebook#6396 could be implemented in JupyterLab so Retro could just consume the package, and optionally make some minor tweaks.

fperez commented 2 years ago

I realize this is a tricky one b/c it may require a lot of reimplementation that doesn't seem particularly interesting, just to meet a particular UX that happens to be now ingrained in people's habit from a decade of usage. But I think it's an important one for us to provide a path forward to the community, so hopefully we can make progress on it. Thanks for your efforts!!

tonyfast commented 2 years ago

to track the nearness between the file managers, i put together side by side comparisons. i'm sharing the comparison below from this original hackmd comparing retro and classic

to me, the file/help menu at the top is a great addition from retrolab. some of the sections right now lack anything to click on, but with some curating this is going to be a great new feature.

file browser

header

header additions

header omissions

files/running tab

file/running additions

file/running omissions

file browser

file browser additions

file browser omissions

fperez commented 2 years ago

Thanks @tonyfast for these comparsions! I want to highlight a point you make about some of the new features coming from Retro: that's awesome and we should not be shy about keeping those! We want to make sure that things don't change in ways that break existing habits/documentation gratuitously, but improvements to the usage and experience are very much welcome, and expected as they would be in any version update!

These can be seen as much as improvements coming from RetroLab as coming with the new version 7 of the notebook :)

jtpio commented 2 years ago

Thanks @tonyfast for these comparisons :+1:

some of the sections right now lack anything to click on, but with some curating this is going to be a great new feature.

https://github.com/jupyterlab/retrolab/pull/289 should help remove some noise from these menus, and lay the foundation to more easily customize the menu entries and their order by editing the settings file:

https://github.com/jupyterlab/retrolab/blob/3b9b2bb17c6a87946bb3100a9210bb43eb32b2ce/packages/application-extension/schema/menus.json#L1-L24

gabalafou commented 2 years ago

Hey, dropping in out of the blue. @tonyfast pointed me to this issue and said go! :smile:

File checkboxes

So I thought before writing too much code, it might be a good idea to throw up some work I've done so that we can get an initial reaction:

http://gabalafou.com:8888/lab password hints: starts with an i, was predecessor to jupyter, but all in lowercase this time

screen shot of the file browser, this time with checkboxes next to the files

Most of the UX decisions come from the Windows file browser, like using control + up/down keys; hiding the checkbox unless hovering; and more.

What works:

Broken:

The code is up on my fork, for the curious, but it is far from ready for review.

My goal is to try to get a sense of whether or not this interaction is worth spending the time to put into good code, as opposed to the slap dash code in my fork. Or if we want a completely different interaction.

fperez commented 2 years ago

I just wanted to say that UX-wise, I love this, and I hope it makes its way into lab proper, not just retro! This makes it much easier for new users to discover how to do multi-file operations, particularly for non-contiguous selections.

Thanks for the work pointing in this direction!

gabalafou commented 2 years ago

That's encouraging. (Impressive turnaround, much appreciated, thank you!)

Do you think these next steps make sense?

  1. Fix the known issues with the demo, then show it to the community at the Wednesday JupyterLab team meeting to see if it's generally well received. If so, then
  2. Make the code more readable/testable/sustainable and put it up for review
fperez commented 2 years ago

I can't speak for the team, but to be honest, unless you're "in the zone" with this code right now and have free time, I don't think it's critical to do much right now before feedback. I do think showing it next week at the Lab meeting would be ideal, and based on that (or other feedback you might get here in the interim), then you'll know if the idea has legs.

I personally love it, but I don't want you to burn time on it if the rest of the team prefers a different direction.

For the sake of feedback, some reasons I like it:

I hope this helps support the idea, thanks again for the great work!

jtpio commented 2 years ago

File checkboxes

For reference there is now a PR opened in the JupyterLab repo: https://github.com/jupyterlab/jupyterlab/pull/12299

This looks great, thanks @gabalafou for starting it!

jtpio commented 2 years ago

Some incremental improvements to the file browser toolbar coming in https://github.com/jupyter/notebook/pull/6336:

image

gutow commented 2 years ago

Please add: "Close and Shutdown notebook" does not exit the browser tab, but should.

fperez commented 2 years ago

Thanks for that catch @gutow, agreed; this is an important part of the daily UX for notebook v6 users.

jtpio commented 1 year ago

Some more incremental improvements landed in 7.0.0a15:

image

andrii-i commented 1 year ago

Taking in account that we have 2 release blocking issues left, I wanted to align on what has to be done to release Notebook 7. Equivalent UX vs Notebook 6 is an big part of JEP 79. Would you say we have achieved sufficient consistency for the release and can address remaining points post-release?

andrii-i commented 1 year ago