-
-
Notifications
You must be signed in to change notification settings - Fork 46
Merge RetroLab with the JupyterLab Simple Interface? #257
Comments
I think this would be an extremely awesome and important step in increasing adoption of JupyterLab in educational settings. There are many places where current JupyterLab is basically a non-starter, and Retrolab is the way in. Having it integrated into JupyterLab itself - with the changes you have proposed - would make my life advocating for this much much much much much easier. |
I think this would be good idea. Easing the pathway to adoption would be very good! |
I already said it on jupyterlab/jupyterlab #9869, but I agree this seems much more robust that JupyterLab's current simple mode. I would see this as a positive change. |
Quick note: I think that the "simple mode" is interesting beyond the notebook UI - and I would find it interesting to keep something like this around. |
+1, even before merge, I'd love for jupyter default installation to have "$ jupyter notebook" show you a screen where you can choose between classic / retrolab, then we can slowly iterate on this screen to nudge users toward more recent codebase. |
FWIW I think this is a great idea. Retrolab is a much more familiar interface for those coming from notebook and it's simplicity is IMO a great feature. For any group considering switching from the notebook interface, I think retrolab is a much easier stepping stone, and it may be the only option for those who don't want to expose people to the complexity of the lab interface (eg, in teaching situations) |
Closing as the JEP proposing to make Notebook v7 based on the current RetroLab has now been merged: jupyter/enhancement-proposals#79 Check out the full description of the JEP to learn more: https://jupyter.org/enhancement-proposals/79-notebook-v7/notebook-v7.html Thanks all! |
Problem
The Simple Interface in JupyterLab has been around for a while, and was improved for the 3.0 release:
RetroLab was developed a couple of weeks before the 3.0 release, back in December 2020. The goal was to develop a notebook UI that looks like the classic notebook, but made with JupyterLab components. The main motivation was this issue: jupyterlab/jupyterlab#8450
However as RetroLab matures and starts looking more and more like the classic notebook, we should consider merging the two efforts to offer a consistent frontend to the users.
Here is a screenshot comparing RetroLab to the Classic Notebook:
Proposed Solution
If we want to unify the Simple Interface and RetroLab, and eventually offer RetroLab as part of the JupyterLab main package, we should consider a few UI, UX and technical details.
Left, right and botton areas
For now RetroLab does not expose any
left
,right
, orbottom
area. This is on purpose, to keep the interface as simple as possible.However the Simple Interface still gives access to these areas. Which can be convenient for example for the Table of Contents or the Debugger.
Ideally RetroLab should keep good defaults: as simple as possible by default. These areas can exist, but should be hidden by default. More advanced users can toggle them on if they want to.
RetroShell
vsLabShell
This is slightly similar to the previous point. For now RetroLab uses a custom shell:
retrolab/packages/application/src/shell.ts
Lines 35 to 191 in 1f86be0
And a custom app:
retrolab/packages/application/src/app.ts
Lines 21 to 145 in 1f86be0
RetroLab already supports the prebuilt JupyterLab extensions: https://github.com/jupyterlab/retrolab#support-for-prebuilt-extensions-. Most of them work just fine. However if for example a third-party extension adds a widget to the left area, nothing happens in RetroLab.
Maybe we should look into using the same shell and app for both lab and retro? This would have the advantage of better compatibility with third-party extensions that expect some areas or component to be available.
Open in a new browser tab
It should be possible to open the notebooks, terminals and the file browser in different browser tabs.
Also this sounds like a minor detail, but there should still not be any splash screen in Retro / Simple Interface. A splash screen indicates this is a heavier app while in RetroLab we only expect to be browsing a "normal" web page.
Seamless switch between JupyterLab and RetroLab / Simple Interface
RetroLab ships with a prebuilt lab extension by default, which adds buttons to the notebook to easily switch between JupyterLab, RetroLab and the Classic Notebook.
In RetroLab:
In JupyterLab:
These are simple buttons, but they already let users easily switch between interfaces with a single click. We should iterate on that idea: #256
More generic way of opening JupyterLab widgets in new browser tabs?
This might be more of a long term experiment. It would be interesting to be able to open arbitrary widgets in new browser tabs. Taking the inspiration from the current RetroLab, but with more widgets than just the notebook, console, terminal and file editor.
Writing this here as something to keep in mind while we iterate on the other items.
Additional context
There have been a lot of discussions in jupyterlab/jupyterlab#9869
Although RetroLab already looks and feels a lot like the classic notebook, a few concerns have also been expressed in jupyter/notebook#6210.
The text was updated successfully, but these errors were encountered: