From 742681dbc3f19b13857ec2484bf0f47393e62729 Mon Sep 17 00:00:00 2001 From: Fernando Perez Date: Fri, 12 Nov 2021 16:43:38 -0800 Subject: [PATCH 01/19] Add JEP for Notebook v7 early draft. This draft was co-edited by most listed co-authors (save Jeremy who wasn't present) during today's Governance call. --- NN-notebook-v7/notebook-v7.md | 120 ++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 NN-notebook-v7/notebook-v7.md diff --git a/NN-notebook-v7/notebook-v7.md b/NN-notebook-v7/notebook-v7.md new file mode 100644 index 00000000..6e9591ef --- /dev/null +++ b/NN-notebook-v7/notebook-v7.md @@ -0,0 +1,120 @@ +--- +title: Jupyter Notebook version 7 +authors: Fernando Pérez (@fperez), Jeremy Tuloup (@jtpio), Sharan Foga (@sharanf), Afshin Darian (@afshin), Brian Granger (@ellisonbg), Sylvain Corlay (@SylvainCorlay), Jason Grout (@jasongrout). +issue-number: NN +pr-number: NN +date-started: 2021-11-12 +--- + +**Note on the status of this document:** this is a very early draft, still not ready even for public vote. It supersedes the existing two open issues [#6210](https://github.com/jupyter/notebook/issues/6210) and [#6220](https://github.com/jupyter/notebook/issues/6220), we aim to collect input and feedback so we can rapidly identify any major remaining concerns and focus energy on implementing this plan. We note that so far feedback on the main plan has been very positive, so we expect to move forward with the main plan, but want to identify specific details and issues that may have been overlooked, to ensure the smoothest transition possible. + + + +# Jupyter Notebook version 7 + +This JEP presents a path forward for the evolution of the Jupyter Notebook application in a way that is technically consistent with the rest of our tools and thus more sustainable, while meeting the needs of our users. + +This document proposes that the next major release of the [Jupyter Notebook](https://jupyter-notebook.readthedocs.io) application, version 7, will be based on the JupyterLab codebase, but will provide an equivalent user experience to the current (v6) application. Jupyter Notebook version 7 ("Notebook v7" henceforth) will achieve this by using the current version of [RetroLab](https://github.com/jupyterlab/retrolab). The following three key ideas are central to this planned transition: + +**The Notebook as a document-centric user experience:** The Jupyter Notebook application offers a _document-centric user experience_. That is, in the Notebook application, the landing page that contains a file manager, running tools tab and a few optional extras, is a launching point into opening standalone, individual documents. This document-centric experience is important for many users, and that is the first key point this proposal aims to preserve. Notebook v7 will be based on a different JavaScript implementation than v6, but _it will preserve the document-centric experience, where each individual notebook opens in a separate browser tab and the visible tools and menus are focused on the open document_. + +**Extensions critical to the Notebook user community:** Furthermore, for many users, certain widely used extensions are critical to their workflow. While we can not port, or commit to every extension in existence (a [full list of community-based extensions is here](https://github.com/ipython-contrib/jupyter_contrib_nbextensions), and [ ](https://jupyterlab-contrib.github.io/migrate_from_classical.html)), we will identify some critical extensions for which, on day 1 of the Notebook v7 release, should work with similar functionality than users currently enjoy. We will engage with the developers of those extensions to identify a concrete technical plan and resources to implement this transition. They are listed below. We will also engage with the broader extension-authoring community to provide resources to ease the transition of their extensions. + +**The body of existing content relying on the Notebook application experience:** Finally, the Notebook v6 community depends the on widely-used educational content (tutorials, textbooks, videos), and these _will not be invalidated_ by the transition. Educators who have such materials online will not need to update their content. While we can not expect a pixel-perfect match between versions 6 and 7 of the Notebook, we will make every effort to ensure that the gap between the visual and operational experience (menu items, available tools and actions, etc.) is small enough that any user can reasonably bridge it without assistance. Their experience should be no different to that of reading an online tutorial based on a previous version of Windows or MacOS, where the visuals or item locations may have changed somewhat in the user's current installation. + +These three concerns will drive our transition; their specific implications are detailed below in the form of concrete user stories. + +## Extensions + +The Notebook ecosystem for extensions is rich and varied, and some of those are critical to major deployments especially in educational contexts. Since the internal APIs of JupyterLab are entirely different from those of v6, existing extensions written for v6 will not work on v7 out of the box. Here we detail the plan for how to minimize the disruption caused by this transition and how to support the community in the process. + +There is a [community repository of unofficial Notebook extensions](https://jupyter-contrib-nbextensions.readthedocs.io), along with [corresponding documentation in JupyterLab](https://jupyterlab-contrib.github.io/migrate_from_classical.html) indicating which of these extensions have analogs or ports in JupyterLab. + +### Critical extensions needed for Notebook v7 + +The following Notebook extensions have been flagged by the community as critical to several major deployments and widely-used workflows. We will work with the extension developers to help port these (or help make new equivalent extensions) for Notebook v7: + +- [Nbgrader](https://github.com/jupyter/nbgrader) +- [RISE](https://github.com/damianavila/RISE) +- [Jupytext](https://github.com/mwouts/jupytext/issues/271) +- File browser tab extensions (IPython Parallel) + +### Extensions whose functionality will be built into Notebook v7 + +The following extensions will have largely equivalent experiences shipping in core Notebook v7. We will need to track whether there are any remaining differences in their functionality that are either regressions, or potentially disrupting or confusing to existing users. + +- [Table of Contents](https://github.com/ipython-contrib/jupyter_contrib_nbextensions/tree/master/src/jupyter_contrib_nbextensions/nbextensions/toc2) +- [Collapsible headings](https://github.com/ipython-contrib/jupyter_contrib_nbextensions/tree/master/src/jupyter_contrib_nbextensions/nbextensions/collapsible_headings) + +## Major new features in Notebook v7 + +In addition to having parity with the Jupyter Notebook user experience and widely-used extensions, Notebook v7 will inherit major new features that have been developed in the JupyterLab project, thus providing automatically a number of improvements to Notebook users as they transition to v7: + +- Debugger +- Real-time collaboration +- Theming and dark mode +- Internationalization +- Improved Accessibility +- Support for many JupyterLab extensions + + +## Technical details + +- RetroLab running on Jupyter Server will be the basis for Notebook v7 +- The current RetroLab repo (https://github.com/jupyterlab/retrolab) will be grafted onto Jupyter Notebook repo (https://github.com/jupyter/notebook) in a PR. +- Notebook v7 will continue to be released as the `notebook` Python package. +- Issues and PRs in the [Notebook repo](https://github.com/jupyter/notebook) will be triaged in this transition. +- Notebook v7 will depend on the Jupyter Server project. + +## Timeline + +We anticipate that Notebook v7 will be released in 2022. + +Jupyter Notebook v6 will be maintained with critical security fixes for two years following the release of Jupyter Notebook v7. + +The [`nbclassic`](https://github.com/jupyterlab/nbclassic) Python package (which provides Jupyter Notebook version 6 on top of Jupyter Server) will also be maintained with critical security fixes for two years following the release of Notebook v7. But upon release of Notebook v7, the default URL route for accessing the classic experience will be served by the new code, and nbclassic will likely use a new route. The details of this transition will be worked out in the coming period. + + +## User Stories (north star, long term) +These user stories are guiding principles for the experience of using Notebook 7, they are not hard deliverables if the JEP is approved. + +- As a user, when I install JupyterLab or Jupyter Notebook, I get both experiences, so I can choose between them as I work. +- As a user, when I start the application using `jupyter notebook` or `jupyter lab` the default view that I see will correspond to notebook or lab respectively. The handler is also updated accordingly to point to that application. +- As a user, when I am using the lab or notebook interface, I can easily move back and forth within the UI using easily discoverable menu items, context menus, buttons, etc. + - Open this document in the notebook interface + - Open this document in the lab interface + - Open this directory in the notebook file browser + - Etc. +- As a user, when I am using Notebook v7, the visual design strongly matches what I am used to in Notebook v6. + - As a user, I want the visual design of the notebook interface to get better over time, so my user experience improves over time. + - As a user, I want the visual design of Notebook and JupyterLab to be closely aligned, so I know that I am using a single, unified experience. + - As a user I want the UI to not change dramatically so that my tutorials, and class material do not get out of date. +- As a user, I want extensions for the file browser page of Notebook to be able to add new tabs that sit alongside the file browser (such as the Running Panel). +- As a user, I want extensions that need a left/right/bottom/status area to work in Notebook, but I want those areas to be entirely hidden by default, so I can have the document oriented notebook experience that I am used to. +- As a user, I want to know all of the great new things I am getting with Notebook v7, so I can make an informed decision to upgrade. +- As a user, I want the most common notebook extensions to work in both the notebook and lab interfaces, so I can move back and forth without missing functionality (see below). +- As a user, I want this user experience to work seamlessly with the [Jupyter Desktop](https://blog.jupyter.org/jupyterlab-desktop-app-now-available-b8b661b17e9a) + - As a user, I can double-click on an `.ipynb` file on my local computer (Mac, Win, Linux) to open the notebook as a single document which I can edit, run, etc. + - As a user, I want to be able to go from that experience, to the full JupyterLab Desktop application, so I can get a more IDE-centric experience, including file management, terminals, and more. + - As a user, I can open notebooks via the command-line or open JupyterLab in a particular directory. + - As a user, I want Jupyter Desktop to let me open my Jupyter editor (with any extensions I may have installed) as a single application and the Jupyter Console. + - As a user, I can use other Jupyter-based tools in the native desktop experience, such as Consoles attached to Notebooks, in their own Native window. + - As a user, I want Jupyter Desktop to be able to authenticate to and connect to any local or remote Jupyter Server, so I can have the same native Desktop experience against remote resources. + + +## Links and resources + +- This PEP was originally posted by @fperez [as a comment in the original discussion opened by @zsailer](https://github.com/jupyter/notebook/issues/6210#issuecomment-957169113). +- The blockers for transitioning Berkeley's Data 8 course to RetroLab are tracked [here](https://github.com/berkeley-dsep-infra/datahub/issues/2422). +- The [community-contributed Notebook extensions have their own repository](https://github.com/ipython-contrib/jupyter_contrib_nbextensions). + +## Questions + +**Q:** what implications does this transition have for the Notebook `.ipynb` format? +**A:** _None_. The file format remains unchanged. This JEP is about the Jupyter Notebook application, not the Jupyter notebook format. + +**Q:** I wrote a Notebook extension that I'd like to update. Where can I find resources and/or support for that? +**A:** We will strive to assist the community throughout the transition to the new extension system. There will be a central location with information on how to port extensions for others to do so in the future. We will also host office hours to assist extension developers. + +**Q:** ... +**A:** ... From 1dfcb9c7d6efbdb5a0781c898f44faca2ead46e3 Mon Sep 17 00:00:00 2001 From: Jason Grout Date: Fri, 12 Nov 2021 22:08:33 -0800 Subject: [PATCH 02/19] Light editing --- NN-notebook-v7/notebook-v7.md | 44 +++++++++++++++++------------------ 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/NN-notebook-v7/notebook-v7.md b/NN-notebook-v7/notebook-v7.md index 6e9591ef..1d7c3a60 100644 --- a/NN-notebook-v7/notebook-v7.md +++ b/NN-notebook-v7/notebook-v7.md @@ -14,30 +14,30 @@ date-started: 2021-11-12 This JEP presents a path forward for the evolution of the Jupyter Notebook application in a way that is technically consistent with the rest of our tools and thus more sustainable, while meeting the needs of our users. -This document proposes that the next major release of the [Jupyter Notebook](https://jupyter-notebook.readthedocs.io) application, version 7, will be based on the JupyterLab codebase, but will provide an equivalent user experience to the current (v6) application. Jupyter Notebook version 7 ("Notebook v7" henceforth) will achieve this by using the current version of [RetroLab](https://github.com/jupyterlab/retrolab). The following three key ideas are central to this planned transition: +This document proposes that the next major release of the [Jupyter Notebook](https://jupyter-notebook.readthedocs.io) application, version 7, will be based on the JupyterLab codebase, but will provide an equivalent user experience to the current (version 6) application. Jupyter Notebook version 7 ("Notebook v7" henceforth) will achieve this by using the current version of [RetroLab](https://github.com/jupyterlab/retrolab). The following three key ideas are central to this planned transition: -**The Notebook as a document-centric user experience:** The Jupyter Notebook application offers a _document-centric user experience_. That is, in the Notebook application, the landing page that contains a file manager, running tools tab and a few optional extras, is a launching point into opening standalone, individual documents. This document-centric experience is important for many users, and that is the first key point this proposal aims to preserve. Notebook v7 will be based on a different JavaScript implementation than v6, but _it will preserve the document-centric experience, where each individual notebook opens in a separate browser tab and the visible tools and menus are focused on the open document_. +**The Notebook as a document-centric user experience:** The Jupyter Notebook application offers a _document-centric user experience_. That is, in the Notebook application, the landing page that contains a file manager, running tools tab, and a few optional extras, is a launching point into opening standalone, individual documents. This document-centric experience is important for many users, and that is the first key point this proposal aims to preserve. Notebook v7 will be based on a different JavaScript implementation than v6, but _it will preserve the document-centric experience, where each individual notebook opens in a separate browser tab and the visible tools and menus are focused on the open document_. -**Extensions critical to the Notebook user community:** Furthermore, for many users, certain widely used extensions are critical to their workflow. While we can not port, or commit to every extension in existence (a [full list of community-based extensions is here](https://github.com/ipython-contrib/jupyter_contrib_nbextensions), and [ ](https://jupyterlab-contrib.github.io/migrate_from_classical.html)), we will identify some critical extensions for which, on day 1 of the Notebook v7 release, should work with similar functionality than users currently enjoy. We will engage with the developers of those extensions to identify a concrete technical plan and resources to implement this transition. They are listed below. We will also engage with the broader extension-authoring community to provide resources to ease the transition of their extensions. +**Extensions critical to the Notebook user community:** Furthermore, for many users, certain widely used extensions are critical to their workflow. While we can not port every Notebook v6 extension ourselves (a list of widely-used community extensions is [here](https://github.com/ipython-contrib/jupyter_contrib_nbextensions)), we will identify some critical extensions (listed below) for which, on day 1 of the Notebook v7 release, should work with similar functionality that users currently enjoy. We will engage with the developers of those extensions to identify a concrete technical plan and resources to implement this transition. We will also engage with the broader extension-authoring community to provide resources to ease the transition of other extensions. -**The body of existing content relying on the Notebook application experience:** Finally, the Notebook v6 community depends the on widely-used educational content (tutorials, textbooks, videos), and these _will not be invalidated_ by the transition. Educators who have such materials online will not need to update their content. While we can not expect a pixel-perfect match between versions 6 and 7 of the Notebook, we will make every effort to ensure that the gap between the visual and operational experience (menu items, available tools and actions, etc.) is small enough that any user can reasonably bridge it without assistance. Their experience should be no different to that of reading an online tutorial based on a previous version of Windows or MacOS, where the visuals or item locations may have changed somewhat in the user's current installation. +**The body of existing content relying on the Notebook application experience:** Finally, the Notebook v6 community depends on widely-used educational content about the core Notebook application (such as tutorials, textbooks, videos), and these _will not be invalidated_ by the transition. Educators who have such materials online will not need to update their content. While we can not expect a pixel-perfect match between versions 6 and 7 of the Notebook, we will make every effort to ensure that the gap between the visual and operational experience (menu items, available tools and actions, etc.) is small enough that any user can reasonably bridge it without assistance. A user's experience applying a Notebook v6 tutorial to Notebook v7 should be no different than that of reading an online tutorial based on a previous version of Windows or MacOS, where the visuals or item locations may have changed somewhat in the user's current installation. These three concerns will drive our transition; their specific implications are detailed below in the form of concrete user stories. ## Extensions -The Notebook ecosystem for extensions is rich and varied, and some of those are critical to major deployments especially in educational contexts. Since the internal APIs of JupyterLab are entirely different from those of v6, existing extensions written for v6 will not work on v7 out of the box. Here we detail the plan for how to minimize the disruption caused by this transition and how to support the community in the process. +The Notebook ecosystem for extensions is rich and varied, and some of those are critical to major deployments, especially in educational and institutional contexts. Since the internal APIs of JupyterLab are entirely different from those of v6, existing extensions written for v6 will not work on v7 out of the box. Here we detail the plan for how to minimize the disruption caused by this transition and how to support the community in the process. -There is a [community repository of unofficial Notebook extensions](https://jupyter-contrib-nbextensions.readthedocs.io), along with [corresponding documentation in JupyterLab](https://jupyterlab-contrib.github.io/migrate_from_classical.html) indicating which of these extensions have analogs or ports in JupyterLab. +There is a [community repository of unofficial Notebook extensions](https://jupyter-contrib-nbextensions.readthedocs.io), along with [corresponding documentation](https://jupyterlab-contrib.github.io/migrate_from_classical.html) indicating which of these extensions have analogs or ports in JupyterLab. ### Critical extensions needed for Notebook v7 -The following Notebook extensions have been flagged by the community as critical to several major deployments and widely-used workflows. We will work with the extension developers to help port these (or help make new equivalent extensions) for Notebook v7: +The following Notebook v6 extensions have been flagged by the community as critical to several major deployments and widely-used workflows. We will work with the extension developers to help port these (or help make new equivalent extensions) for Notebook v7: - [Nbgrader](https://github.com/jupyter/nbgrader) - [RISE](https://github.com/damianavila/RISE) - [Jupytext](https://github.com/mwouts/jupytext/issues/271) -- File browser tab extensions (IPython Parallel) +- IPython Parallel (filebrowser tab) ### Extensions whose functionality will be built into Notebook v7 @@ -48,7 +48,7 @@ The following extensions will have largely equivalent experiences shipping in co ## Major new features in Notebook v7 -In addition to having parity with the Jupyter Notebook user experience and widely-used extensions, Notebook v7 will inherit major new features that have been developed in the JupyterLab project, thus providing automatically a number of improvements to Notebook users as they transition to v7: +In addition to having parity with the Notebook v6 user experience and widely-used extensions, Notebook v7 will inherit major new features that have been developed in the JupyterLab project, thus providing automatically a number of improvements to Notebook users as they transition to v7: - Debugger - Real-time collaboration @@ -57,14 +57,12 @@ In addition to having parity with the Jupyter Notebook user experience and widel - Improved Accessibility - Support for many JupyterLab extensions - ## Technical details -- RetroLab running on Jupyter Server will be the basis for Notebook v7 -- The current RetroLab repo (https://github.com/jupyterlab/retrolab) will be grafted onto Jupyter Notebook repo (https://github.com/jupyter/notebook) in a PR. +- [RetroLab](https://github.com/jupyterlab/retrolab) running on [Jupyter Server](https://github.com/jupyter-server/jupyter_server) will be the basis for Notebook v7. +- The current [RetroLab](https://github.com/jupyterlab/retrolab) commit history will be grafted into the [Jupyter Notebook repository](https://github.com/jupyter/notebook) in a pull request. - Notebook v7 will continue to be released as the `notebook` Python package. - Issues and PRs in the [Notebook repo](https://github.com/jupyter/notebook) will be triaged in this transition. -- Notebook v7 will depend on the Jupyter Server project. ## Timeline @@ -72,15 +70,15 @@ We anticipate that Notebook v7 will be released in 2022. Jupyter Notebook v6 will be maintained with critical security fixes for two years following the release of Jupyter Notebook v7. -The [`nbclassic`](https://github.com/jupyterlab/nbclassic) Python package (which provides Jupyter Notebook version 6 on top of Jupyter Server) will also be maintained with critical security fixes for two years following the release of Notebook v7. But upon release of Notebook v7, the default URL route for accessing the classic experience will be served by the new code, and nbclassic will likely use a new route. The details of this transition will be worked out in the coming period. +The [`nbclassic`](https://github.com/jupyterlab/nbclassic) Python package (which provides Jupyter Notebook version 6 on top of Jupyter Server) will also be maintained with critical security fixes for two years following the release of Notebook v7. However, upon release of Notebook v7, the default URL route for accessing the classic experience will be served by the new code, and nbclassic will likely use a new route. The details of this transition will be worked out in the coming period. -## User Stories (north star, long term) -These user stories are guiding principles for the experience of using Notebook 7, they are not hard deliverables if the JEP is approved. +## User Stories +These user stories are guiding principles for the experience of using Notebook v7. They are not specific deliverables if the JEP is approved. - As a user, when I install JupyterLab or Jupyter Notebook, I get both experiences, so I can choose between them as I work. -- As a user, when I start the application using `jupyter notebook` or `jupyter lab` the default view that I see will correspond to notebook or lab respectively. The handler is also updated accordingly to point to that application. -- As a user, when I am using the lab or notebook interface, I can easily move back and forth within the UI using easily discoverable menu items, context menus, buttons, etc. +- As a user, when I start the application using `jupyter notebook` or `jupyter lab`, the default view that I see will correspond to notebook or lab respectively. The handler is also updated accordingly to point to that application. +- As a user, when I am using the lab or notebook interface, I can easily move back and forth within the UI using easily-discoverable menu items, context menus, buttons, etc. - Open this document in the notebook interface - Open this document in the lab interface - Open this directory in the notebook file browser @@ -88,14 +86,14 @@ These user stories are guiding principles for the experience of using Notebook 7 - As a user, when I am using Notebook v7, the visual design strongly matches what I am used to in Notebook v6. - As a user, I want the visual design of the notebook interface to get better over time, so my user experience improves over time. - As a user, I want the visual design of Notebook and JupyterLab to be closely aligned, so I know that I am using a single, unified experience. - - As a user I want the UI to not change dramatically so that my tutorials, and class material do not get out of date. + - As a user I want the UI to not change dramatically so that my tutorials and class materials do not get out of date. - As a user, I want extensions for the file browser page of Notebook to be able to add new tabs that sit alongside the file browser (such as the Running Panel). -- As a user, I want extensions that need a left/right/bottom/status area to work in Notebook, but I want those areas to be entirely hidden by default, so I can have the document oriented notebook experience that I am used to. +- As a user, I want extensions that need a left/right/bottom/status area to work in Notebook, but I want those areas to be entirely hidden by default, so I can have the document-oriented notebook experience that I am used to. - As a user, I want to know all of the great new things I am getting with Notebook v7, so I can make an informed decision to upgrade. - As a user, I want the most common notebook extensions to work in both the notebook and lab interfaces, so I can move back and forth without missing functionality (see below). - As a user, I want this user experience to work seamlessly with the [Jupyter Desktop](https://blog.jupyter.org/jupyterlab-desktop-app-now-available-b8b661b17e9a) - As a user, I can double-click on an `.ipynb` file on my local computer (Mac, Win, Linux) to open the notebook as a single document which I can edit, run, etc. - - As a user, I want to be able to go from that experience, to the full JupyterLab Desktop application, so I can get a more IDE-centric experience, including file management, terminals, and more. + - As a user, I want to be able to go from the document-centric experience to the full JupyterLab Desktop application, so I can get a more IDE-centric experience, including file management, terminals, and more. - As a user, I can open notebooks via the command-line or open JupyterLab in a particular directory. - As a user, I want Jupyter Desktop to let me open my Jupyter editor (with any extensions I may have installed) as a single application and the Jupyter Console. - As a user, I can use other Jupyter-based tools in the native desktop experience, such as Consoles attached to Notebooks, in their own Native window. @@ -110,8 +108,8 @@ These user stories are guiding principles for the experience of using Notebook 7 ## Questions -**Q:** what implications does this transition have for the Notebook `.ipynb` format? -**A:** _None_. The file format remains unchanged. This JEP is about the Jupyter Notebook application, not the Jupyter notebook format. +**Q:** What implications does this transition have for the notebook `.ipynb` format? +**A:** _None_. The file format remains unchanged. This JEP is about the Jupyter Notebook application, not the Jupyter notebook `.ipynb` file format. **Q:** I wrote a Notebook extension that I'd like to update. Where can I find resources and/or support for that? **A:** We will strive to assist the community throughout the transition to the new extension system. There will be a central location with information on how to port extensions for others to do so in the future. We will also host office hours to assist extension developers. From 8d237f7b0c98228f0d73a0d9b12e27daea910adf Mon Sep 17 00:00:00 2001 From: Sylvain Corlay Date: Sat, 13 Nov 2021 14:32:21 +0100 Subject: [PATCH 03/19] Update NN-notebook-v7/notebook-v7.md Co-authored-by: Jeremy Tuloup --- NN-notebook-v7/notebook-v7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NN-notebook-v7/notebook-v7.md b/NN-notebook-v7/notebook-v7.md index 1d7c3a60..b270c13e 100644 --- a/NN-notebook-v7/notebook-v7.md +++ b/NN-notebook-v7/notebook-v7.md @@ -102,7 +102,7 @@ These user stories are guiding principles for the experience of using Notebook v ## Links and resources -- This PEP was originally posted by @fperez [as a comment in the original discussion opened by @zsailer](https://github.com/jupyter/notebook/issues/6210#issuecomment-957169113). +- This JEP was originally posted by @fperez [as a comment in the original discussion opened by @zsailer](https://github.com/jupyter/notebook/issues/6210#issuecomment-957169113). - The blockers for transitioning Berkeley's Data 8 course to RetroLab are tracked [here](https://github.com/berkeley-dsep-infra/datahub/issues/2422). - The [community-contributed Notebook extensions have their own repository](https://github.com/ipython-contrib/jupyter_contrib_nbextensions). From 80f792470079f84f9b9c4dce0a3eecee4217cc5c Mon Sep 17 00:00:00 2001 From: Sylvain Corlay Date: Sat, 13 Nov 2021 14:32:30 +0100 Subject: [PATCH 04/19] Update NN-notebook-v7/notebook-v7.md Co-authored-by: Jeremy Tuloup --- NN-notebook-v7/notebook-v7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NN-notebook-v7/notebook-v7.md b/NN-notebook-v7/notebook-v7.md index b270c13e..3e017003 100644 --- a/NN-notebook-v7/notebook-v7.md +++ b/NN-notebook-v7/notebook-v7.md @@ -62,7 +62,7 @@ In addition to having parity with the Notebook v6 user experience and widely-use - [RetroLab](https://github.com/jupyterlab/retrolab) running on [Jupyter Server](https://github.com/jupyter-server/jupyter_server) will be the basis for Notebook v7. - The current [RetroLab](https://github.com/jupyterlab/retrolab) commit history will be grafted into the [Jupyter Notebook repository](https://github.com/jupyter/notebook) in a pull request. - Notebook v7 will continue to be released as the `notebook` Python package. -- Issues and PRs in the [Notebook repo](https://github.com/jupyter/notebook) will be triaged in this transition. +- Issues and PRs in the [Notebook repository](https://github.com/jupyter/notebook) will be triaged in this transition. ## Timeline From 90938bd133dd26912076ef14f336d2b3063c32c6 Mon Sep 17 00:00:00 2001 From: Sylvain Corlay Date: Sat, 13 Nov 2021 14:32:40 +0100 Subject: [PATCH 05/19] Update NN-notebook-v7/notebook-v7.md Co-authored-by: Jeremy Tuloup --- NN-notebook-v7/notebook-v7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NN-notebook-v7/notebook-v7.md b/NN-notebook-v7/notebook-v7.md index 3e017003..3e315d4b 100644 --- a/NN-notebook-v7/notebook-v7.md +++ b/NN-notebook-v7/notebook-v7.md @@ -26,7 +26,7 @@ These three concerns will drive our transition; their specific implications are ## Extensions -The Notebook ecosystem for extensions is rich and varied, and some of those are critical to major deployments, especially in educational and institutional contexts. Since the internal APIs of JupyterLab are entirely different from those of v6, existing extensions written for v6 will not work on v7 out of the box. Here we detail the plan for how to minimize the disruption caused by this transition and how to support the community in the process. +The Notebook ecosystem for extensions is rich and varied, and some of those are critical to major deployments, especially in educational and institutional contexts. Since the internal APIs of JupyterLab are entirely different from those of Notebook v6, existing extensions written for v6 will not work on v7 out of the box. Here we detail the plan for how to minimize the disruption caused by this transition and how to support the community in the process. There is a [community repository of unofficial Notebook extensions](https://jupyter-contrib-nbextensions.readthedocs.io), along with [corresponding documentation](https://jupyterlab-contrib.github.io/migrate_from_classical.html) indicating which of these extensions have analogs or ports in JupyterLab. From 81d4dfaa22e9fad7c517fb49d6c32d3f63846e08 Mon Sep 17 00:00:00 2001 From: Afshin Taylor Darian Date: Thu, 18 Nov 2021 00:23:51 +0000 Subject: [PATCH 06/19] Add Zach as an author --- NN-notebook-v7/notebook-v7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NN-notebook-v7/notebook-v7.md b/NN-notebook-v7/notebook-v7.md index 3e315d4b..7fec3c74 100644 --- a/NN-notebook-v7/notebook-v7.md +++ b/NN-notebook-v7/notebook-v7.md @@ -1,6 +1,6 @@ --- title: Jupyter Notebook version 7 -authors: Fernando Pérez (@fperez), Jeremy Tuloup (@jtpio), Sharan Foga (@sharanf), Afshin Darian (@afshin), Brian Granger (@ellisonbg), Sylvain Corlay (@SylvainCorlay), Jason Grout (@jasongrout). +authors: Fernando Pérez (@fperez), Jeremy Tuloup (@jtpio), Sharan Foga (@sharanf), Afshin Darian (@afshin), Brian Granger (@ellisonbg), Sylvain Corlay (@SylvainCorlay), Jason Grout (@jasongrout), Zach Sailer (@Zsailer). issue-number: NN pr-number: NN date-started: 2021-11-12 From cc7b5a73872c9ffbdaaa40e874dbab401222abff Mon Sep 17 00:00:00 2001 From: Sylvain Corlay Date: Thu, 18 Nov 2021 10:42:49 +0100 Subject: [PATCH 07/19] Update NN-notebook-v7/notebook-v7.md Co-authored-by: Jeremy Tuloup --- NN-notebook-v7/notebook-v7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NN-notebook-v7/notebook-v7.md b/NN-notebook-v7/notebook-v7.md index 7fec3c74..41854439 100644 --- a/NN-notebook-v7/notebook-v7.md +++ b/NN-notebook-v7/notebook-v7.md @@ -55,7 +55,7 @@ In addition to having parity with the Notebook v6 user experience and widely-use - Theming and dark mode - Internationalization - Improved Accessibility -- Support for many JupyterLab extensions +- Support for many JupyterLab extensions, including Jupyter LSP (Language Server Protocol) for enhanced code completions ## Technical details From 43253351383a6ed0f306ea55536136fc3dd1aa34 Mon Sep 17 00:00:00 2001 From: Jeremy Tuloup Date: Thu, 18 Nov 2021 15:05:35 +0100 Subject: [PATCH 08/19] Add a note about built-in features in JupyterLab --- NN-notebook-v7/notebook-v7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NN-notebook-v7/notebook-v7.md b/NN-notebook-v7/notebook-v7.md index 41854439..2dda243b 100644 --- a/NN-notebook-v7/notebook-v7.md +++ b/NN-notebook-v7/notebook-v7.md @@ -28,7 +28,7 @@ These three concerns will drive our transition; their specific implications are The Notebook ecosystem for extensions is rich and varied, and some of those are critical to major deployments, especially in educational and institutional contexts. Since the internal APIs of JupyterLab are entirely different from those of Notebook v6, existing extensions written for v6 will not work on v7 out of the box. Here we detail the plan for how to minimize the disruption caused by this transition and how to support the community in the process. -There is a [community repository of unofficial Notebook extensions](https://jupyter-contrib-nbextensions.readthedocs.io), along with [corresponding documentation](https://jupyterlab-contrib.github.io/migrate_from_classical.html) indicating which of these extensions have analogs or ports in JupyterLab. +There is a [community repository of unofficial Notebook extensions](https://jupyter-contrib-nbextensions.readthedocs.io), along with [corresponding documentation](https://jupyterlab-contrib.github.io/migrate_from_classical.html) indicating which of these extensions have analogs or ports in JupyterLab. Some of the functionalities provided by these unofficial Notebook extensions are now built-in features in JupyterLab: code folding, collapsible headings, the keyboard shortcuts editor, the table of contents, and many others. ### Critical extensions needed for Notebook v7 From 19da752546de8e5491013480d77c194fbd1ec259 Mon Sep 17 00:00:00 2001 From: Sylvain Corlay Date: Fri, 19 Nov 2021 19:00:46 +0100 Subject: [PATCH 09/19] Update NN-notebook-v7/notebook-v7.md Co-authored-by: Afshin Taylor Darian --- NN-notebook-v7/notebook-v7.md | 1 - 1 file changed, 1 deletion(-) diff --git a/NN-notebook-v7/notebook-v7.md b/NN-notebook-v7/notebook-v7.md index 2dda243b..4e5e6238 100644 --- a/NN-notebook-v7/notebook-v7.md +++ b/NN-notebook-v7/notebook-v7.md @@ -8,7 +8,6 @@ date-started: 2021-11-12 **Note on the status of this document:** this is a very early draft, still not ready even for public vote. It supersedes the existing two open issues [#6210](https://github.com/jupyter/notebook/issues/6210) and [#6220](https://github.com/jupyter/notebook/issues/6220), we aim to collect input and feedback so we can rapidly identify any major remaining concerns and focus energy on implementing this plan. We note that so far feedback on the main plan has been very positive, so we expect to move forward with the main plan, but want to identify specific details and issues that may have been overlooked, to ensure the smoothest transition possible. - # Jupyter Notebook version 7 From 829efa9a9000c357f3df5b300d4adc239ac5963e Mon Sep 17 00:00:00 2001 From: Afshin Taylor Darian Date: Fri, 19 Nov 2021 18:01:28 +0000 Subject: [PATCH 10/19] Update NN-notebook-v7/notebook-v7.md Co-authored-by: Kevin Goldsmith --- NN-notebook-v7/notebook-v7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NN-notebook-v7/notebook-v7.md b/NN-notebook-v7/notebook-v7.md index 4e5e6238..165d3f11 100644 --- a/NN-notebook-v7/notebook-v7.md +++ b/NN-notebook-v7/notebook-v7.md @@ -1,6 +1,6 @@ --- title: Jupyter Notebook version 7 -authors: Fernando Pérez (@fperez), Jeremy Tuloup (@jtpio), Sharan Foga (@sharanf), Afshin Darian (@afshin), Brian Granger (@ellisonbg), Sylvain Corlay (@SylvainCorlay), Jason Grout (@jasongrout), Zach Sailer (@Zsailer). +authors: Fernando Pérez (@fperez), Jeremy Tuloup (@jtpio), Sharan Foga (@sharanf), Afshin Darian (@afshin), Brian Granger (@ellisonbg), Sylvain Corlay (@SylvainCorlay), Jason Grout (@jasongrout), Zach Sailer (@Zsailer), Kevin Goldsmith (@KevinGoldsmith). issue-number: NN pr-number: NN date-started: 2021-11-12 From 5bdefe0588be7f11c5c18f76f0d413943214cfdb Mon Sep 17 00:00:00 2001 From: Afshin Taylor Darian Date: Fri, 19 Nov 2021 18:01:55 +0000 Subject: [PATCH 11/19] Update NN-notebook-v7/notebook-v7.md Co-authored-by: Sylvain Corlay --- NN-notebook-v7/notebook-v7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NN-notebook-v7/notebook-v7.md b/NN-notebook-v7/notebook-v7.md index 165d3f11..6bc97b7f 100644 --- a/NN-notebook-v7/notebook-v7.md +++ b/NN-notebook-v7/notebook-v7.md @@ -17,7 +17,7 @@ This document proposes that the next major release of the [Jupyter Notebook](htt **The Notebook as a document-centric user experience:** The Jupyter Notebook application offers a _document-centric user experience_. That is, in the Notebook application, the landing page that contains a file manager, running tools tab, and a few optional extras, is a launching point into opening standalone, individual documents. This document-centric experience is important for many users, and that is the first key point this proposal aims to preserve. Notebook v7 will be based on a different JavaScript implementation than v6, but _it will preserve the document-centric experience, where each individual notebook opens in a separate browser tab and the visible tools and menus are focused on the open document_. -**Extensions critical to the Notebook user community:** Furthermore, for many users, certain widely used extensions are critical to their workflow. While we can not port every Notebook v6 extension ourselves (a list of widely-used community extensions is [here](https://github.com/ipython-contrib/jupyter_contrib_nbextensions)), we will identify some critical extensions (listed below) for which, on day 1 of the Notebook v7 release, should work with similar functionality that users currently enjoy. We will engage with the developers of those extensions to identify a concrete technical plan and resources to implement this transition. We will also engage with the broader extension-authoring community to provide resources to ease the transition of other extensions. +**Extensions critical to the Notebook user community:** Furthermore, for many users, certain widely used extensions are critical to their workflow. While we can not port every Notebook v6 extension ourselves (a list of widely-used community extensions is [here](https://github.com/ipython-contrib/jupyter_contrib_nbextensions)), we will identify some critical extensions (listed below) which, on day 1 of the Notebook v7 release, should work with similar functionality that users currently enjoy. We will engage with the developers of those extensions to identify a concrete technical plan and resources to implement this transition. We will also engage with the broader extension-authoring community to provide resources to ease the transition of other extensions. **The body of existing content relying on the Notebook application experience:** Finally, the Notebook v6 community depends on widely-used educational content about the core Notebook application (such as tutorials, textbooks, videos), and these _will not be invalidated_ by the transition. Educators who have such materials online will not need to update their content. While we can not expect a pixel-perfect match between versions 6 and 7 of the Notebook, we will make every effort to ensure that the gap between the visual and operational experience (menu items, available tools and actions, etc.) is small enough that any user can reasonably bridge it without assistance. A user's experience applying a Notebook v6 tutorial to Notebook v7 should be no different than that of reading an online tutorial based on a previous version of Windows or MacOS, where the visuals or item locations may have changed somewhat in the user's current installation. From 6bb9cc8f9f607a2b433c0a7cf44e264090781489 Mon Sep 17 00:00:00 2001 From: Sylvain Corlay Date: Fri, 19 Nov 2021 19:02:28 +0100 Subject: [PATCH 12/19] Update NN-notebook-v7/notebook-v7.md Co-authored-by: Afshin Taylor Darian --- NN-notebook-v7/notebook-v7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NN-notebook-v7/notebook-v7.md b/NN-notebook-v7/notebook-v7.md index 6bc97b7f..a832c05e 100644 --- a/NN-notebook-v7/notebook-v7.md +++ b/NN-notebook-v7/notebook-v7.md @@ -33,7 +33,7 @@ There is a [community repository of unofficial Notebook extensions](https://jupy The following Notebook v6 extensions have been flagged by the community as critical to several major deployments and widely-used workflows. We will work with the extension developers to help port these (or help make new equivalent extensions) for Notebook v7: -- [Nbgrader](https://github.com/jupyter/nbgrader) +- [nbgrader](https://github.com/jupyter/nbgrader) - [RISE](https://github.com/damianavila/RISE) - [Jupytext](https://github.com/mwouts/jupytext/issues/271) - IPython Parallel (filebrowser tab) From 997c724c76e7bc327b4d25c7a6982a458d1a4257 Mon Sep 17 00:00:00 2001 From: Afshin Taylor Darian Date: Fri, 19 Nov 2021 18:06:02 +0000 Subject: [PATCH 13/19] Update NN-notebook-v7/notebook-v7.md --- NN-notebook-v7/notebook-v7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NN-notebook-v7/notebook-v7.md b/NN-notebook-v7/notebook-v7.md index a832c05e..5bcc5425 100644 --- a/NN-notebook-v7/notebook-v7.md +++ b/NN-notebook-v7/notebook-v7.md @@ -40,7 +40,7 @@ The following Notebook v6 extensions have been flagged by the community as criti ### Extensions whose functionality will be built into Notebook v7 -The following extensions will have largely equivalent experiences shipping in core Notebook v7. We will need to track whether there are any remaining differences in their functionality that are either regressions, or potentially disrupting or confusing to existing users. +The following extensions will have largely equivalent experiences shipping in core Notebook v7 and JupyterLab. We will need to track whether there are any remaining differences in their functionality that are either regressions, or potentially disrupting or confusing to existing users. - [Table of Contents](https://github.com/ipython-contrib/jupyter_contrib_nbextensions/tree/master/src/jupyter_contrib_nbextensions/nbextensions/toc2) - [Collapsible headings](https://github.com/ipython-contrib/jupyter_contrib_nbextensions/tree/master/src/jupyter_contrib_nbextensions/nbextensions/collapsible_headings) From 0fc957b110cd456efecbd3719f0f9f865810ddc5 Mon Sep 17 00:00:00 2001 From: Afshin Taylor Darian Date: Fri, 19 Nov 2021 18:28:34 +0000 Subject: [PATCH 14/19] Update NN-notebook-v7/notebook-v7.md Co-authored-by: Brian E. Granger --- NN-notebook-v7/notebook-v7.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/NN-notebook-v7/notebook-v7.md b/NN-notebook-v7/notebook-v7.md index 5bcc5425..7dd20069 100644 --- a/NN-notebook-v7/notebook-v7.md +++ b/NN-notebook-v7/notebook-v7.md @@ -97,7 +97,21 @@ These user stories are guiding principles for the experience of using Notebook v - As a user, I want Jupyter Desktop to let me open my Jupyter editor (with any extensions I may have installed) as a single application and the Jupyter Console. - As a user, I can use other Jupyter-based tools in the native desktop experience, such as Consoles attached to Notebooks, in their own Native window. - As a user, I want Jupyter Desktop to be able to authenticate to and connect to any local or remote Jupyter Server, so I can have the same native Desktop experience against remote resources. - +## Decision making principles + +As we move forward with this plan and begin to make decisions about how to handle the visual design, functionality, and UX of Notebook V7 (how elements are styled, how do they behave, etc.) there will be tension between two paths: + +* **Option A**: Making Notebook V7 work and look exactly like Notebook v6 +* **Option B**: Making Notebook V7 work and look exactly like JupyterLab V4 + +There will always be tradeoffs between these two options. To help us make these tradeoffs, we propose to look at the following questions: + +1. Is Option A or Option B be more accessible? +2. If we were to design this from scratch today, would our design work and look more like Option A or Option B? +3. Is Option A or Option B more maintainable? +4. Is Option A or Option B be more secure? +5. Will Option A confuse or cause friction Jupyter users who work in both Notebook V7 and JupyterLab v4? +6. What is best for future Jupyter users who have never used either any version of Notebook or JupyterLab? ## Links and resources From 455b5900677d2f27de81c5a9be42de390ee15e96 Mon Sep 17 00:00:00 2001 From: Afshin Taylor Darian Date: Fri, 19 Nov 2021 18:32:03 +0000 Subject: [PATCH 15/19] Update NN-notebook-v7/notebook-v7.md --- NN-notebook-v7/notebook-v7.md | 1 + 1 file changed, 1 insertion(+) diff --git a/NN-notebook-v7/notebook-v7.md b/NN-notebook-v7/notebook-v7.md index 7dd20069..6629f9d3 100644 --- a/NN-notebook-v7/notebook-v7.md +++ b/NN-notebook-v7/notebook-v7.md @@ -97,6 +97,7 @@ These user stories are guiding principles for the experience of using Notebook v - As a user, I want Jupyter Desktop to let me open my Jupyter editor (with any extensions I may have installed) as a single application and the Jupyter Console. - As a user, I can use other Jupyter-based tools in the native desktop experience, such as Consoles attached to Notebooks, in their own Native window. - As a user, I want Jupyter Desktop to be able to authenticate to and connect to any local or remote Jupyter Server, so I can have the same native Desktop experience against remote resources. + ## Decision making principles As we move forward with this plan and begin to make decisions about how to handle the visual design, functionality, and UX of Notebook V7 (how elements are styled, how do they behave, etc.) there will be tension between two paths: From 9f249f47bc498076c687544d5acd8ed89d52047d Mon Sep 17 00:00:00 2001 From: Afshin Taylor Darian Date: Fri, 19 Nov 2021 18:41:55 +0000 Subject: [PATCH 16/19] qUpdate NN-notebook-v7/notebook-v7.md Co-authored-by: Zachary Sailer --- NN-notebook-v7/notebook-v7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NN-notebook-v7/notebook-v7.md b/NN-notebook-v7/notebook-v7.md index 6629f9d3..c1064ab2 100644 --- a/NN-notebook-v7/notebook-v7.md +++ b/NN-notebook-v7/notebook-v7.md @@ -69,7 +69,7 @@ We anticipate that Notebook v7 will be released in 2022. Jupyter Notebook v6 will be maintained with critical security fixes for two years following the release of Jupyter Notebook v7. -The [`nbclassic`](https://github.com/jupyterlab/nbclassic) Python package (which provides Jupyter Notebook version 6 on top of Jupyter Server) will also be maintained with critical security fixes for two years following the release of Notebook v7. However, upon release of Notebook v7, the default URL route for accessing the classic experience will be served by the new code, and nbclassic will likely use a new route. The details of this transition will be worked out in the coming period. +The [`nbclassic`](https://github.com/jupyterlab/nbclassic) Python package (which provides Jupyter Notebook version 6 on top of Jupyter Server) will also be maintained with critical security fixes for two years following the release of Notebook v7. ## User Stories From 1a844d3e5c771e70ad844eeecf699a89b9e0d190 Mon Sep 17 00:00:00 2001 From: Fernando Perez Date: Fri, 19 Nov 2021 10:45:01 -0800 Subject: [PATCH 17/19] update to bullets, add experience gap to decision --- NN-notebook-v7/notebook-v7.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/NN-notebook-v7/notebook-v7.md b/NN-notebook-v7/notebook-v7.md index c1064ab2..b2b7f939 100644 --- a/NN-notebook-v7/notebook-v7.md +++ b/NN-notebook-v7/notebook-v7.md @@ -107,12 +107,13 @@ As we move forward with this plan and begin to make decisions about how to handl There will always be tradeoffs between these two options. To help us make these tradeoffs, we propose to look at the following questions: -1. Is Option A or Option B be more accessible? -2. If we were to design this from scratch today, would our design work and look more like Option A or Option B? -3. Is Option A or Option B more maintainable? -4. Is Option A or Option B be more secure? -5. Will Option A confuse or cause friction Jupyter users who work in both Notebook V7 and JupyterLab v4? -6. What is best for future Jupyter users who have never used either any version of Notebook or JupyterLab? +* Is Option A or Option B be more accessible? +* If we were to design this from scratch today, would our design work and look more like Option A or Option B? +* Is Option A or Option B more maintainable? +* Is Option A or Option B be more secure? +* Will Option A confuse or cause friction Jupyter users who work in both Notebook V7 and JupyterLab v4? +* What is best for future Jupyter users who have never used either any version of Notebook or JupyterLab? +* Have we done everything possible to minimize the experience gap for users of Notebook v6 (while recognizing, given other constraints, that we can't always eliminate it completely)? ## Links and resources From eff593b1eece5cf48687fbefaa6d5548016145bc Mon Sep 17 00:00:00 2001 From: Fernando Perez Date: Fri, 19 Nov 2021 10:55:12 -0800 Subject: [PATCH 18/19] Clarify language about transition Co-authored-by: Brian E. Granger --- NN-notebook-v7/notebook-v7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NN-notebook-v7/notebook-v7.md b/NN-notebook-v7/notebook-v7.md index b2b7f939..fced397b 100644 --- a/NN-notebook-v7/notebook-v7.md +++ b/NN-notebook-v7/notebook-v7.md @@ -19,7 +19,7 @@ This document proposes that the next major release of the [Jupyter Notebook](htt **Extensions critical to the Notebook user community:** Furthermore, for many users, certain widely used extensions are critical to their workflow. While we can not port every Notebook v6 extension ourselves (a list of widely-used community extensions is [here](https://github.com/ipython-contrib/jupyter_contrib_nbextensions)), we will identify some critical extensions (listed below) which, on day 1 of the Notebook v7 release, should work with similar functionality that users currently enjoy. We will engage with the developers of those extensions to identify a concrete technical plan and resources to implement this transition. We will also engage with the broader extension-authoring community to provide resources to ease the transition of other extensions. -**The body of existing content relying on the Notebook application experience:** Finally, the Notebook v6 community depends on widely-used educational content about the core Notebook application (such as tutorials, textbooks, videos), and these _will not be invalidated_ by the transition. Educators who have such materials online will not need to update their content. While we can not expect a pixel-perfect match between versions 6 and 7 of the Notebook, we will make every effort to ensure that the gap between the visual and operational experience (menu items, available tools and actions, etc.) is small enough that any user can reasonably bridge it without assistance. A user's experience applying a Notebook v6 tutorial to Notebook v7 should be no different than that of reading an online tutorial based on a previous version of Windows or MacOS, where the visuals or item locations may have changed somewhat in the user's current installation. +**The body of existing content relying on the Notebook application experience:** Finally, the Notebook v6 community depends on widely-used educational content using the core Notebook application (such as tutorials, textbooks, videos), and these _will not be invalidated_ by the transition. Educators who have such materials online will not need to update their content. While we can not expect a pixel-perfect match between versions 6 and 7 of the Notebook, we will make every effort to ensure that the gap between the visual and operational experience (menu items, available tools and actions, etc.) is small enough that any user can reasonably bridge it without assistance. These three concerns will drive our transition; their specific implications are detailed below in the form of concrete user stories. From 7b558bd978f18c5f374b6e788d095ffb78882250 Mon Sep 17 00:00:00 2001 From: Afshin Taylor Darian Date: Fri, 19 Nov 2021 19:01:20 +0000 Subject: [PATCH 19/19] Update NN-notebook-v7/notebook-v7.md --- NN-notebook-v7/notebook-v7.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/NN-notebook-v7/notebook-v7.md b/NN-notebook-v7/notebook-v7.md index fced397b..64dafc2a 100644 --- a/NN-notebook-v7/notebook-v7.md +++ b/NN-notebook-v7/notebook-v7.md @@ -129,5 +129,6 @@ There will always be tradeoffs between these two options. To help us make these **Q:** I wrote a Notebook extension that I'd like to update. Where can I find resources and/or support for that? **A:** We will strive to assist the community throughout the transition to the new extension system. There will be a central location with information on how to port extensions for others to do so in the future. We will also host office hours to assist extension developers. -**Q:** ... +**Q:** What will I need to do to get my JupyterLab extension working with Notebook v7? +**A:** Both JupyterLab and Notebook v7 will use the same extension system and it is our intention to enable extension authors to create extensions that work in both JupyterLab and Notebook v7. We are still working out the technical details of that and will update our documentation with links as more information is available. **A:** ...