spyder-ide / ux-improvements

Discussion about UX improvements for Spyder 5 and beyond
4 stars 2 forks source link

Change margins and size of buttons #28

Closed juanis2112 closed 3 years ago

juanis2112 commented 3 years ago

Here I will be posting the list of icons that we use with their corresponding toolbars so @isabela-pf can help us with some mockups for the spacing, margins and sizes of the icons in all our toolbars.

juanis2112 commented 3 years ago

I'll try to have the list by the end of next week so that you can start with the mockups @isabela-pf :)

juanis2112 commented 3 years ago

We need to decide on margins and sizes of icons in:

isabela-pf commented 3 years ago

After trying different options, I this seems like them most feasible option based on the space Spyder has available and the number of elements we're trying to keep on screen. I think Spyder is primarily using relative units, but I'll be listing measurements as the pixels I've been working with. (Please ignore the icons, I didn't take the time to track down all the different ones hence the number of save icons in this mockup. šŸ™ƒ)

0-6

Broken down, this is

Main toolbar

Icon size 24x24 Button size (clickable region) 44x44 Spacing between buttons (horizontal) 10px Toolbar height 64px

Screen Shot 2020-12-10 at 12 00 16 PM

Pane toolbars

Icon size 16x16 Button size (clickable region) 44 wide x 26 tall Spacing between buttons (horizontal) 8px Toolbar height 46px

Screen Shot 2020-12-10 at 12 06 33 PM

Context and hamburger menus

Icon size 16x16 Clickable area height 30px (width varies based on menu)

Screen Shot 2020-12-10 at 12 13 21 PM
juanis2112 commented 3 years ago

We will like to see a mockup with smaller icons and less vertical width for the main toolbar. (Maybe try the same size of the other toolbars)

isabela-pf commented 3 years ago

I'm back with more mockups based on meeting feedback. Hooray! We didn't talk about the context and hamburger menus, so these mockups change only the main and pane toolbars.

Matching toolbar specifications

What if there was only one set of toolbar specifications for all the toolbars (main and pane) in Spyder? This is the option we were most interested in the meeting. It takes the pane toolbar specs from the last set of mockups and applies it to all. To make it easy to find, here are those specs again:

Icon size 16x16 Button size (clickable region) 44 wide x 26 tall Spacing between buttons (horizontal) 8px Toolbar height 46px

Screen Shot 2020-12-10 at 12 06 33 PM 1-8 16x44 8s

Pros:

Cons:

Full-toolbar buttons

Make the full area of the toolbar be clickable button areas. This sets margins on all sides to 0. Even though this ended up not being our best option when discussed, I was still curious to see what it might look like since it does solve some of the problems we identified. I also think this should apply to both main and pane toolbars if we like this approach.

Icon size 16x16 Button size (clickable region) 44 wide x 44 tall Spacing between buttons (horizontal) 0 Toolbar height 44px

Screen Shot 2020-12-18 at 11 13 29 AM 1-9 16x44 0s

Pros:

Cons:

Full-toolbar buttons with spacing

This is the same as the prior option, but it adds a little bit of space between buttons.

Icon size 16x16 Button size (clickable region) 44 wide x 44 tall Spacing between buttons (horizontal) 8 Toolbar height 44px

Screen Shot 2020-12-18 at 11 14 03 AM 1-10 16x44 8s

There's some repeated pros and cons, but it's easier to compare them side by side by repeating them.

Pros:

Cons:

isabela-pf commented 3 years ago

Two weeks ago, the feedback I got was to explore each of our main options a little further. Hereā€™s the next round of ideas! (Note: The context and hamburger menu has still not changed any of its sizes from the first option.)

20px main toolbar.

Back to having the main and pane toolbars having different specs because having ones based on 16px icons felt too small. The specifications are as follows

Main toolbar

Icon size 20x20 Button size (clickable region) 44 wide x 30 tall Spacing between buttons (horizontal) 8px Toolbar height 46px

2-11labeled

Pane toolbars

Icon size 16x16 Button size (clickable region) 44 wide x 26 tall Spacing between buttons (horizontal) 8px Toolbar height 46px

2-11labeled2 2-11 20x44 8s16x44 8s

Full-toolbar buttons

One of the biggest cons of the last iteration was the use of color for the pressed state with Spyderā€™s multi-colored icons. This version works with the grays proposed in #13 to have hover and pressed states that work better with all the icons. The specifications are the same as the last round, but theyā€™ve been copied below for easy comparison.

Main toolbar

Icon size 20x20 Button size (clickable region) 44 wide x 44 tall Spacing between buttons (horizontal) 8 Toolbar height 44px

2-17labeled

Pane toolbars

Icon size 16x16 Button size (clickable region) 44 wide x 44 tall Spacing between buttons (horizontal) 8 Toolbar height 44px

2-17labeled2

In the end, I couldnā€™t choose between two color options and decided it was better to post than to keep thinking about it. The big difference is whether or not we want to use transparency for the hover state. Iā€™m not sure if this is a good idea even though we do use transparency elsewhere right now.

Without transparency

2-12 20x44 8s16x44 8s

Main toolbar background: Gray 30 #37414F Main toolbar hover state: Gray 40 #455364 Main toolbar pressed state: Gray 50 #54687A Pane toolbar background: Gray 10 #19232D Pane toolbar hover state: Gray 20 #262E38 Pane toolbar pressed state (including hamburger menu): Gray 30 #37414F

With transparency

2-17 20x44 8s16x44 8s

Main toolbar background: Gray 20 #262E38 Main toolbar hover state: Gray 40 #455364 at 50% opacity Main toolbar pressed state: Gray 40 #455364 Pane toolbar background: Gray 10 #19232D Pane toolbar hover state: Gray 30 #37414F at 50% opacity Pane toolbar pressed state (including hamburger menu): Gray 30 #37414F

juanis2112 commented 3 years ago

After meeting:

isabela-pf commented 3 years ago

Iā€™m glad weā€™re making progress, but I still have a few more new things to show in these specifications. I think weā€™re closer though! Since I forgot to mention last time, the reason some icons have a small gray outline around them is that I donā€™t have all these icons as SVGs, so please ignore it for now.

First, the pane toolbar hasnā€™t changed from the last iteration. Below are the specifications again for reference. I did make them be 44px tall since thereā€™s no need to be 2px off without the margins around each button.

Pane toolbars

Icon size 16x16 Button size (clickable region) 44 wide x 44 tall Spacing between buttons (horizontal) 8 Toolbar height 44px

2-17labeled2

Second, the context menu has not changed either. It seems like we are fine with this direction.

Context and hamburger menus

Icon size 16x16 Clickable area height 30px (width varies based on menu)

Screen Shot 2020-12-10 at 12 13 21 PM

Main toolbar

All the changes have been experiments in the main toolbar on how to meet the constraints from the above comment.

There need to be six consecutive colors to make there be no toolbar overlap because all of these areas have the potential to interact. Because of this, I made the main toolbar significantly lighter (it still passes contrast standards). These mockups use:

The biggest problem Iā€™m now having is the size/shape of the clickable area. I prefer squares, but with a 64 tall toolbar 64x64 clickable area does not have enough space for all the icons in the main toolbar, even without space in between. vertical). Hereā€™s an example to illustrate what Iā€™m talking about.

64x64 area

3-25

We can make this a rectangle, but I donā€™t like the look and I donā€™t think thatā€™s expected (I see horizontal rectangles, but not vertical). Hereā€™s an example to illustrate what Iā€™m talking about.

44x64 area

3-18

I also tried scaling the top toolbar down a little to see what the minimum we could make it and still have it fit. 50x50px clickable areas is the smallest with 8px spacing in between (chosen because I think having inactive space between buttons is an accessibility recommendation and 8px is a common amount I am seeing). I think this looks a little too small, but Iā€™m interested in hearing what other people think of this problem.

50x50 area

3-24
isabela-pf commented 3 years ago

One more note! I think we should have a different approach to what happens when the toolbar gets too long. Right now, it just prevents users from making the application any smaller like this:

spyder

But what happens if they have a smaller screen to start with? This is relevant now because more spacing like this means longer toolbars that might not fit for some users. I think we should consider using a ā€œmoreā€ ā€¦ icon to stock overflowed buttons. Here's an example of the Google Docs behavior:

docs

isabela-pf commented 3 years ago

We had a lot of ideas at our last meeting to review the above mockups, but with the number of constraints we are working with in Spyder we didnā€™t make a final decision for the main toolbar. First, I want to summarize a few options that I still see as viable that meet both Spyderā€™s goals and accessibility recommendations.

4-29labeled 4-31labeled

I hope this helps provide more clarity for our next discussion!

juanis2112 commented 3 years ago

We are finally going with the last option and add tooltip with full path in the working directory. Please @isabela-pf post the specifications here :)

isabela-pf commented 3 years ago

Main toolbar:

Icon size 24x24 Button size (clickable region) 54 wide x 54 tall Spacing between buttons (horizontal) 8px Toolbar height 54px Icons Gray 140 #FAFAFA Background Gray 40 #455364 Hover Gray 50 #54687A Pressed Gray 60 #60798B

Screen Shot 2021-01-28 at 4 10 07 PM

Pane toolbars

Icon size 16x16 Button size (clickable region) 44 wide x 44 tall Spacing between buttons (horizontal) 8px Toolbar height 44px Icons Gray 140 #FAFAFA Background Gray 10 #19232D Hover Gray 20 #262E38 Pressed Gray 30 #37414F

Screen Shot 2021-01-28 at 4 10 32 PM

Menus:

Icon size 16x16 Clickable area height 30px (width varies based on menu) Text 14pt Icons/text Gray 140 #FAFAFA Background Gray 30 #37414F Hover Gray 40 #455364 Pressed Gray 50 #54687A

Screen Shot 2021-01-28 at 4 11 04 PM

All together, this should look like:

5-32 Labeled

I think I caught all the details, but please let me know if something seems missing. Congrats on another part of Spyder 5 decided! šŸŽ‰

juanis2112 commented 3 years ago

Closing https://github.com/spyder-ide/spyder/pull/14933