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

Notebook-only mode: provide a 1 to ~1 equivalent of notebook classic, implemented using jupyterlab api #8450

Closed
telamonian opened this issue May 20, 2020 · 17 comments
Labels
status:Answered The issue has been answered by a community member. status:resolved-locked Closed issues are locked after 30 days inactivity. Please open a new issue for related discussion. tag:Design and UX

Comments

@telamonian
Copy link
Member

As discussed in the 5/20/20 meeting, one perennial feature request for jlab has been a mode that looks and feels exactly the same as notebook classic. Some people don't like the filebrowser, or the side bars, or anything that pulls focus from a single notebook experience, etc. More broadly, there's a huge swath of classic notebook users who currently haven't migrated to jlab but might do so if the UI/UX was basically identical.

There are a number of different ways we could implement such a thing. Some basic sketches:

  1. Hide everything except a single widget (which could be a notebook document widget or anything else) and maybe the menu bar
  2. 1-to-1 emulation of classic notebook, but built using jlab api

Some things to consider:

  1. What should we name this mode? Notebook classic-ish?
  2. Should there be a separate launch command for this mode?
  3. Should there be a separate url?
  4. Should the user be able to dynamically switch into/out of this mode?

pinging @ellisonbg @afshin @jasongrout @vidartf @ajbozarth @lucbouchard1 @nproctor @declanvk

@jtpio
Copy link
Member

jtpio commented May 20, 2020

Missed the call today, but here are some thoughts from prior casual conversations with @afshin about this topic:

  • Having a separate page for the file browser (reusing the existing file browser component), and being able to open single notebooks in separate browser tabs just like the classic notebook would truly recreate the classic notebook experience, instead of having several modes within the same browser tab
  • This classic mode could be launched via the command line with something like jupyter classic, or by changing the URL to /classic (or /lab/classic)
  • The classic notebook is still used a lot during presentation, and to some extent can be considered as a "zen mode" too (especially when the title bar is hidden)
  • It should also be mobile-friendly (see screenshots in Consider making Jupyter Lab mobile friendly #3275)
  • Technically speaking, we could imagine having another application shell with the following areas:

image

  • This would allow some of the existing lab extensions that add components to these areas to also work in this more limited classic mode.

Discourse is also another place where the differences between lab and classic have been discussed. It would be interesting to ask some of the folks there to know what they would expect of a classic mode in lab.

@yuvipanda
Copy link
Contributor

yuvipanda commented Jun 10, 2020

my attempt at doing exactly this: https://github.com/yuvipanda/simplest-notebook

@ellisonbg
Copy link
Contributor

I have opened a new issue that dives into the history, UX design and broader considerations for this: #8567

And a first PR that makes progress towards these ends: #8531

The good news is that we are closer to having this than we thought, and it will be straightforward to get there incrementally.

@vidartf
Copy link
Member

vidartf commented Jun 16, 2020

my attempt at doing exactly this: https://github.com/yuvipanda/simplest-notebook

Yes, that is the look and experience that I would want (and I did know of this from before) ❤️ The current hope is to make such an interface but have it be able to pick up installed lab extensions that work on the notebook, e.g. various ipywidgets extensions, etc. One way of achieving this would be to have this be a special "mode" you could put lab in.

@jtpio
Copy link
Member

jtpio commented Dec 7, 2020

Technically speaking, we could imagine having another application shell with the following areas

image

Currently exploring this idea in https://github.com/jtpio/jupyterlab-classic (still a very early prototype)

With a working Binder to try it out (pinned on a commit): https://mybinder.org/v2/gh/jtpio/jupyterlab-classic/cdc11d709bfb698074c75a47665caac50b3f1670?urlpath=classic/notebooks/binder/example.ipynb

screencast

@ellisonbg
Copy link
Contributor

While this is super impressive work, I think this needs more discussion. To entirely replicate the classic notebook (which has been frozen in time for many year and not itself improved significantly) misses the mark. We got years of feedback about the classic notebook that led us to create JupyterLab. Users and extension authors wanted a more powerful and complex layout system and there are many classic notebook extensions hack around these limitations in painful ways. While there is a lot more work needed, I believe the Simple/Single Document Mode of JupyterLab is a good start in finding the right tradeoffs between the elements of the classic notebook that users miss, and the extensibility and layout that classic notebook users were asking for.

@yuvipanda
Copy link
Contributor

Love this, @jtpio!

@ellisonbg for a lot of use cases, I think having 1:1 replication of classic notebook is a great transition step for folks already used to the UX + docs that point to it. I don't think this will go into JupyterLab classic, but IMO it's important to encourage this kinda work - both to possibly deploy it, but also to make sure that JupyterLab components are truly usable outside of JupyterLab itself.

@echarles
Copy link
Member

echarles commented Dec 8, 2020

IMO it's important to encourage this kinda work

+1

make sure that JupyterLab components are truly usable outside of JupyterLab itself.

+1

@yuvipanda
Copy link
Contributor

As an example, I'm just in a video call where someone is teaching new faculty how to use the notebook, with the classic UI. There's a lot of these, and would need to be updated before they can use JupyterLab, even in single document mode. Having something that's more visually equal will be an easier transition, and then we can move them slowly over afterwards if needed.

@jtpio
Copy link
Member

jtpio commented Dec 14, 2020

Thanks Yuvi!

This is heavily inspired and motivated by your work on the simplest notebook, as well as the work from the cal poly interns on the clarity mode.

I think there is indeed room for both JupyterLab and an alternative distribution like JupyterLab Classic. Users can switch between the two as they wish. Especially since most components are directly reused from JupyterLab.

Some updates:

quick-tour

@paulrutter
Copy link

paulrutter commented Dec 22, 2020

We at BlueConic offer the classic Jupyter UI within our product, to offer the user a nice way of using their profile data with python code and do machine learning and such.
This is exactly the thing we're looking for, as it offers us all the improvements of Jupyterlab, without the UI changing as much.
Some questions about backwards compatibility remain and whether this project is future proof enough to bet on.
I'm interested to know how you think about this?

More information on our usage: https://support.blueconic.com/hc/en-us/articles/360020125234-BlueConic-AI-Workbench

@SylvainCorlay
Copy link
Member

Hi @paulrutter, let me know if you would like to connect with us at @QuantStack to discuss your usecase.

The team comprises 6 core devs of Jupyter and we develop and provide professional support around the Jupyter ecosystem. Along the lines of this "classic notebook" experience, @jtpio recently published "jupyterlab-classic" which provides that kind of experience (see https://github.com/jtpio/jupyterlab-classic/).

@paulrutter
Copy link

@SylvainCorlay We're certainly open for discussing our usecase (and why we need/want something like JupyterLab Classic).
I haven't had the time to check out jupyterlab-classic yet.

@SylvainCorlay
Copy link
Member

@paulrutter sorry I missed your message. Please feel free to reach out to me directly by email. Sending you a message to start a thread right now.

@stonebig
Copy link

stonebig commented Mar 7, 2021

Hi,

With latest version of jupyter eco-system on windows, my Jupyter-notebook fails to opens its main page.
By contrast, Jupyterlab-classic works out-of-the-box.

I hope this transition will come soon.

@jtpio
Copy link
Member

jtpio commented May 26, 2021

Closing in favor of #9869

In the meantime, JupyterLab Classic has been renamed to RetroLab and has been moved to the jupyterlab organization: https://github.com/jupyterlab/retrolab.

It is still installable with pip / mamba / conda for those who want to use it as a standalone application.

@jtpio jtpio closed this as completed May 26, 2021
@jtpio jtpio added status:Answered The issue has been answered by a community member. tag:Design and UX labels May 26, 2021
@github-actions github-actions bot added the status:resolved-locked Closed issues are locked after 30 days inactivity. Please open a new issue for related discussion. label Nov 23, 2021
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 23, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status:Answered The issue has been answered by a community member. status:resolved-locked Closed issues are locked after 30 days inactivity. Please open a new issue for related discussion. tag:Design and UX
Projects
None yet
Development

No branches or pull requests

9 participants