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

Add JEP for Notebook v7 early draft. #1

Merged
merged 20 commits into from
Nov 19, 2021
Merged

Add JEP for Notebook v7 early draft. #1

merged 20 commits into from
Nov 19, 2021

Conversation

fperez
Copy link
Owner

@fperez fperez commented Nov 13, 2021

This draft was co-edited by most listed co-authors (save Jeremy who wasn't present) during today's Governance call.

I'm making this PR here first against my own repo so we have a place for early discussion and feedback from some key folks who weren't there today during the gov call while we drafted this...

In particular:

  • @jtpio - we'd discussed you authoring/co-authoring the JEP, and your input is critical! Since you weren't on the call today and we wanted to avoid delays, we took the opportunity to make some progress, but I'm totally happy supporting you in any capacity. First question is whether you'd still like to be listed as co-author and work on it :) And beyond that, any further input/feedback you may have before we push it as a proper JEP and request a number for it.

  • @Zsailer @kevin-bates: @afshin was on the call today, but we want to make sure that this doesn't blindside you (or anyone else spending time on the v6 notebook repo!). There will be plenty of time for further discussion on it while a JEP draft, but we wanted to give you an early heads-up. Ideally we'd like to move this over from here to a proper JEP repo PR next Wednesday Nov 17 2021, after the Notebook call (I'll try to make that but I'm not sure I can). If you have any objections, obviously let us know and we'll pause, or if you have any changes you'd like to suggest before it becomes a formal JEP draft.

  • Pinging from today's call - @sharanf @afshin @ellisonbg @SylvainCorlay @jasongrout. I've given you all write access to my repo so you can more easily make edits before we make the proper JEP PR next week (assuming there are no objections above from the Notebook folks).

  • Tagging the two open issues #6210 and #6220 in case anyone watching those would like to pitch in early here. Note that we'll move this over to the proper JEP repo next week, but we'll adopt any early feedback before then here.

This draft was co-edited by most listed co-authors (save Jeremy who wasn't
present) during today's Governance call.
@fperez
Copy link
Owner Author

fperez commented Nov 13, 2021

BTW @sharanf @afshin @ellisonbg @SylvainCorlay @jasongrout - feel free to edit at will here and push commits as if we were still working on this morning's hackpad! We can make the process a bit more formal next week once it's on the JEP repo as a proper PR, but for now this should make it just as lightweight, while giving us this thread to record any discussion or take external input.

@jtpio
Copy link
Collaborator

jtpio commented Nov 13, 2021

Thanks @fperez, this looks good to me and I'm happy to be listed as co-author and work on it 👍

SylvainCorlay and others added 3 commits November 13, 2021 14:32
Co-authored-by: Jeremy Tuloup <jeremy.tuloup@gmail.com>
Co-authored-by: Jeremy Tuloup <jeremy.tuloup@gmail.com>
Co-authored-by: Jeremy Tuloup <jeremy.tuloup@gmail.com>
@SylvainCorlay
Copy link
Collaborator

I merged the typo/grammatical suggestions by @jtpio.

@Zsailer
Copy link

Zsailer commented Nov 15, 2021

Under this JEP, there are three “classic” Notebook experiences we’ll support (for 2 years):

  1. RetroLab + Jupyter Server
  2. Notebook 6 JS + NBClassic + Jupyter Server
  3. Notebook 6 JS + Notebook 6 Server

(1) is incompatible with (2) and (3), since the latter two require Notebook <7. Should we list these 3 scenarios and their incompatibilities in this JEP?

Also to confirm, we don’t want to allow users to ever install the Notebook 6 and 7 experiences in the same environment—even via NBClassic—correct?

I’m double checking, since NBClassic will choke if (future) RetroLab is installed. We’ll need to take some care on how we decouple JupyterLab and NBClassic. Today, we would have a circular dependency: Lab -> NBClassic -> Notebook 7 (i.e. RetroLab) -> Lab. If users upgrade to Notebook 7, pip will likely throw a warning about NBClassic incompatibility. I know these are implementation details, but they are subtle areas of friction for users.

@SylvainCorlay
Copy link
Collaborator

Should we list these 3 scenarios and their incompatibilities in this JEP?

I think that this is an implementation detail and we should leave it out of the thread which will probably be very active.

@fperez
Copy link
Owner Author

fperez commented Nov 15, 2021

Should we list these 3 scenarios and their incompatibilities in this JEP?

I think that this is an implementation detail and we should leave it out of the thread which will probably be very active.

We discussed some of this in the last call - I think we should flag the main point, b/c otherwise it will be an immediate question, so it's clear we're not ignoring it. But other than the main contours being that the expected default path is to have nb7 + JupyterLab be the "documents + ide/workbench experience", with nb v6 not being simultaneously deployed, we can leave some of the details for discussion in the implementation (things like potential alternate routes, pypi/conda names, etc).

I think it's fair to say that, just like you may use python 2 and python 3 but need to separate them into their own environments, you may use both nb v6 and v7, but with some separation. How does this sound? I can update accordingly.

@SylvainCorlay
Copy link
Collaborator

SylvainCorlay commented Nov 16, 2021

Should we list these 3 scenarios and their incompatibilities in this JEP?

I think that this is an implementation detail and we should leave it out of the thread which will probably be very active.

We discussed some of this in the last call - I think we should flag the main point, b/c otherwise it will be an immediate question, so it's clear we're not ignoring it.

Expanding on the specific way we plan to address this seems like distraction from the main point of the JEP which is at a much higher level.

The thread following the JEP will probably attract a lot of people and there is a risk of confusing readers if we start getting into the weeds with respect to the notebook server vs the jupyter server.

@jtpio
Copy link
Collaborator

jtpio commented Nov 16, 2021

there are three “classic” Notebook experiences we’ll support (for 2 years):

Thanks @Zsailer for bringing that up 👍

We'll probably face this very soon when we start publishing the notebook 7 pre-releases, so it's good to keep that in mind.

@ellisonbg
Copy link
Collaborator

Thank you everyone for working on this. Things are busy for me leading up to AWS reInvent (week after thanksgiving) but I have been watching the discussion.

A few things have come up for me that I think we should align on in this context before submitting the main JEP PR.

How do we make decision (IOW, what are the principles) in situations where the notebook and JupyterLab offer the exact same user experience or functionality in different ways

Examples of this, include:

  • Visual styling of the notebook document (the document itself, not the UI around it), which includes prompts, typography, spacing, color changes, etc.
  • Differences in interaction design, such as cell/section collapsing and selection, large output collapsing/scrolling, etc.
  • Menu differences, such as different naming of menu items that do the same thing, different top level menu organization structure.

I think our current language makes statements that provide conflicting answers to these questions and there will be significant tradeoffs to be made. How will we approach these decisions? What will guide how we make the tradeoffs?

NN-notebook-v7/notebook-v7.md Show resolved Hide resolved
NN-notebook-v7/notebook-v7.md Show resolved Hide resolved
NN-notebook-v7/notebook-v7.md Show resolved Hide resolved
NN-notebook-v7/notebook-v7.md Outdated Show resolved Hide resolved
- Real-time collaboration
- Theming and dark mode
- Internationalization
- Improved Accessibility

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

out of all the new features, accessibility is the least developed. i'm worried that if miscommunicate these features we might again distance ourselves from the disability community. i think i'm curious about how we make sure accessibility becomes a feature.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- Improved Accessibility
- Improved Web Content Accessibility Guideline compliance

Co-authored-by: Afshin Taylor Darian <git@darian.email>
afshin and others added 3 commits November 19, 2021 18:01
Co-authored-by: Kevin Goldsmith <kevin@unitcircle.com>
Co-authored-by: Sylvain Corlay <sylvain.corlay@gmail.com>
Co-authored-by: Afshin Taylor Darian <git@darian.email>
Co-authored-by: Brian E. Granger <ellisonbg@gmail.com>
@fperez fperez merged commit b068b6b into master Nov 19, 2021
@tonyfast
Copy link

tonyfast commented Nov 19, 2021

@fperez any way to last minute update the accessibility statement?

@afshin
Copy link
Collaborator

afshin commented Nov 20, 2021

@tonyfast:

any way to last minute update the accessibility statement?

The PR is open in [DRAFT] mode so there's time to update it: jupyter#79

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
9 participants