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

Notebooks UI #101600

Closed
joaomoreno opened this issue Jul 2, 2020 · 8 comments
Closed

Notebooks UI #101600

joaomoreno opened this issue Jul 2, 2020 · 8 comments
Assignees
Labels
notebook under-discussion Issue is under discussion for relevance, priority, approach ux User experience issues
Milestone

Comments

@joaomoreno
Copy link
Member

Sorry for filing such a kitchen sink issue...

Some comments on the current UI:

  • We're being too generous in using padding in this view. There is sooooo much whitespace for so little information.
  • Indentation looks broken: text editors should be left aligned with paragraphs. I see that we're making space for that play action, but why isn't that action simply inside the right side action bar? At best, you could still align the editor with the paragraphs and just outdent the action, just like paragraph twisties are outdented.
  • There still is no text indentation inside the editors Notebook input cell has no left padding #99363
  • There is an entire page of whitespace if I scroll all the way down. This makes no sense in a non-text editor view. It feels very weird.
  • Selecting a row makes it appear like it popped out of the screen with the eerie shadow
  • Why does every cell have a status bar? This takes up so much expensive vertical space and even creates screen cheese (see below). Why not put those actions inside the action bar?

image

recording (1)

cc @lszomoru @bpasero @misolori

@roblourens
Copy link
Member

I agree re: whitespace, it's come up in other issues too.

@rebornix do you know which editor setting messes up the editor padding? Even with "editor.glyphMargin": false it's correct for me.

editor.scrollBeyondLastLine controls scrolling past the end of the notebook

Sorry I'm not sure what screen cheese you're talking about in the second image

@miguelsolorio
Copy link
Contributor

We're being too generous in using padding in this view. There is sooooo much whitespace for so little information.

We keep seeing this come up and it's for a couple of different reasons:

  • Each cell has 8px of top/bottom padding for when the cell is selected/hovered
  • Between each cell there is a 32px toolbar for adding new cells

So that means that between each cell we have 48px of padding. I think the biggest gain here is to iterate on the new cell toolbar and see if there are ways to reduce that. I'll also tweak the margins on the others where I can.

Indentation looks broken: text editors should be left aligned with paragraphs. I see that we're making space for that play action, but why isn't that action simply inside the right side action bar? At best, you could still align the editor with the paragraphs and just outdent the action, just like paragraph twisties are outdented.

In the previous iterations we had issues with code and text cells being part of the same vertical path and having a hard time telling the difference between them. So in this iteration we decided to indent them to improve the visual hierarchy. We could tweak the margins so that it isn't so large but still keep the indentation.

Selecting a row makes it appear like it popped out of the screen with the eerie shadow

We've gotten mixed reactions to this, some love it and others hate it. You can turn it off by setting "notebook.focusedCellShadow": "#0000".

Why does every cell have a status bar? This takes up so much expensive vertical space and even creates screen cheese (see below). Why not put those actions inside the action bar?

This is an essential part of notebooks to determine how long a cell took to run, the results, errors, and other useful meta data. I agree that this feels a bit much when you haven't ran any cells and I wold like to see us hide this by default and then have it appear when you run a cell. Also, the language picker is only really meaningful until you have multiple languages, so I wonder if we could hide this unless we detect more than once language? @rebornix @roblourens thoughts here?

@miguelsolorio
Copy link
Contributor

Pushing some updates to address the large amounts of whitespace:

  • Reduced left/top/bottom margins and padding
  • Made the new cell toolbar a little shorter

Frame 3

@miguelsolorio
Copy link
Contributor

Showed this during standup and the team said 👏 how 👏 low 👏 can 👏 you 👏 go 👏 so I trimmed it some more:

Frame 6

@joaomoreno
Copy link
Member Author

editor.scrollBeyondLastLine controls scrolling past the end of the notebook

Again, I really don't think this makes any sense in this editor paradigm. I don't feel like I'm scrolling around the viewport of a document model: I feel like I'm scrolling an actual document, so going past its end resonates really badly in my brain. 🤔 Kind of like scrolling past the last page of a Word document. Or scrolling beyond the end of a web page.

Why does every cell have a status bar? This takes up so much expensive vertical space and even creates screen cheese (see below). Why not put those actions inside the action bar?

This is an essential part of notebooks to determine how long a cell took to run, the results, errors, and other useful meta data.

OK, let's say we need a status bar, no argument there. But let's style it differently. Why does it have to feel like it's a part of the editor? The cheese is the floating horizontal scrollbar, in the animated GIF: it's just there floating around, not docked to any edge. Simply coloring the background of the status bar would do wonders. Even a top border.

I agree that this feels a bit much when you haven't ran any cells and I wold like to see us hide this by default and then have it appear when you run a cell.Also, the language picker is only really meaningful until you have multiple languages, so I wonder if we could hide this unless we detect more than once language? @rebornix @roblourens thoughts here?

👍

Between each cell there is a 32px toolbar for adding new cells

This is clearly something we should push down to under 10px. All we really need here is a 1px horizontal line and a floating action bar, appearing on hover, to the left where the left-padding is.

In the previous iterations we had issues with code and text cells being part of the same vertical path and having a hard time telling the difference between them. So in this iteration we decided to indent them to improve the visual hierarchy. We could tweak the margins so that it isn't so large but still keep the indentation.

I thought they already look so different, given the editor border and font change?

Showed this during standup and the team said 👏 how 👏 low 👏 can 👏 you 👏 go 👏 so I trimmed it some more:

🔥, though with the decreased padding, the focus decoration (top and bottom border & shadow) looks even more dramatic. I'd really love to see a non-3D approach here.

gjsjohnmurray pushed a commit to gjsjohnmurray/vscode that referenced this issue Jul 3, 2020
gjsjohnmurray pushed a commit to gjsjohnmurray/vscode that referenced this issue Jul 3, 2020
@roblourens
Copy link
Member

Regarding scrolling past the last line, personally I like it, and it matches other notebooks, but it probably makes sense to add a separate setting for it.

@rebornix rebornix added notebook under-discussion Issue is under discussion for relevance, priority, approach labels Jul 6, 2020
@rebornix rebornix added this to the July 2020 milestone Jul 6, 2020
@rebornix rebornix added the ux User experience issues label Jul 6, 2020
@rebornix
Copy link
Member

rebornix commented Jul 6, 2020

There still is no text indentation inside the editors #99363

Already fixed in master and the root cause is "editor.folding": false ;(

There is an entire page of whitespace if I scroll all the way down. This makes no sense in a non-text editor view. It feels very weird.

We can add a new settings for it. The purposes of supporting this are

  • allow you to focus the last cell right in the middle of the screen
  • no up/down UI shifting when you execute the last cell or clear outputs of a cell, when the document is smaller than one viewport.

@miguelsolorio
Copy link
Contributor

I believe we've addressed most of these issues, below is a comparison from May's release (from when you original postd this) vs July's upcoming release:

  • We've removed the shadows
  • We've reduced the overall padding/margin
  • Adding a new cell is no longer in a 32px bar

image

If there are additional issues feel free to create one for each one so we can better track them all 😄

@github-actions github-actions bot locked and limited conversation to collaborators Sep 18, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
notebook under-discussion Issue is under discussion for relevance, priority, approach ux User experience issues
Projects
None yet
Development

No branches or pull requests

4 participants