spyder-ide / ux-improvements

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

UI organization (toolbars and panes) #23

Open isabela-pf opened 3 years ago

isabela-pf commented 3 years ago

In a few meetings, we’ve discussed questions of how major areas of Spyder’s UI are placed and interact with each other. This issue serves to document those discussions and explore potential solutions. We are focusing mainly on toolbars/buttons and default pane placements (especially the upper right one where lots of panes live together).

Problems

Potential solutions

Things to consider

With this many problems and the high impact of changing main organizing principles of Spyder in mind, this will take a good bit of thought (and hopefully testing). As always, feedback is appreciated! Have I missed a problem or consideration? Do you have an idea for a solution? Please chime in.

isabela-pf commented 3 years ago

I’m working on mocking up a variety of options for dealing with the main toolbar since it has a mix of levels of information (some parts are for all of Spyder, others more closely associated with specific panes or activities). This is a similar train of thought as to what I brought up to make more room for buttons that affect all of Spyder in early #8, but also more comprehensive.

Even though I’m not posting mockups yet, I surveyed a few members of the Spyder team about their associations (both on a pane and use case level) with all the items in the main toolbar. It’s a small sample, but it’s helping me get a few different perspectives about the main areas of Spyder interact with each other and different work flows. Here are a few patterns I’m seeing working through that:

Side note: in other meetings, we’ve also discussed the place of the additional main toolbars (found in the main menu) that hide several useful features. Though we’ve been discussing them as separate issues, the choices go together and will probably converge soon.

isabela-pf commented 3 years ago

Here’s a few more thoughts on how this is progressing. Right now, I’m still focused on the feedback I got from some of the Spyder team members with particular focus on how they relate options currently in the main toolbar to the rest of Spyder’s panes (not diving too much into activity/workflow association yet). Since I ran a kind of card sort, I’m presenting where each button was sorted most often both as a list and with the icons grouped visually like they are from a true card sort. A few of these were very close, but it’s only sorting between the editor and console that almost or actually ties.

Popular sorting results

All of Spyder

2popularvote

I would not recommend allowing the popular results to be directly used as choices for toolbar placement. Still, here’s what that could look like in a simplified Spyder’s interface:

3popularvoteui

(It actually looks a good bit like the mockup in #8 that prompted this discussion a while ago.)

Individual sorting

I’m not listing these all out to save time. I wanted to include each sort because I think it is interesting to see them side by side rather than just what ended up being chosen most (because no individual actually made the most popular toolbar results).

Participant 1

4

Participant 2

5

Participant 3

6

Participant 4

7

Participant 5

8

Participant 6

9 png

Since these give us a more detailed understanding of possible in-team connections between features, toolbar buttons, panes, and how they might be grouped, my next thoughts will be around experimenting with how Spyder shows this content. This should also begin referencing the activity type part of the survey, too. I’ve already started sketching some potential toolbar or toolbar-like experiences other than that currently in Spyder or the one mocked up above.

isabela-pf commented 3 years ago

Time to get a little wild! This week was experimenting with possible ideas for what to do with Spyder’s toolbars. All of these ideas are experiments to get us talking, not necessarily recommendations. There are a few different concepts we could choose to work around. And apologies in advance for how similar all the mockups look at first glance; we're working with details here.

First, here are a few changes that are (or are supposed to be, I make mistakes) in all the mockups:

  1. Keep the same amount of toolbars and reorganize what is there. This means the main toolbar and what panes already have them.

  2. Reorganize the existing toolbars and add more where relevant, particularly letting the editor and console have their own toolbars since they are major parts of the interface with features closely tied to them.

I’ve done some mockups (like above), but here's another idea.

20
  1. Give every pane a toolbar, even if some of them would be more empty than others. Many of the panes that go to the upper right by default already do this to some degree. This also might let options/buttons be more spread out across relevant places rather than having a few very full toolbars.

Using the variable explorer as an example, here’s a how that could look.

13
  1. Use less conventional “toolbars.” I think it is unlikely we will choose this direction, but I want to bring it up anyways.

My main thought right now is to group features that rely on/are only useable based on cursor placement and selection. (I haven’t given it deep enough thought on the interaction and I also can see a lot of problems with this example already.)

14
  1. Have only one toolbar and have it change based on which pane is active. I could see this causing some problems, but I’m still at the point I want to propose a lot of different ideas I don’t think the team has discussed yet. For example:

    15 22 23
  2. Being able to switch between toolbars grouped by which features are commonly used in similar tasks. This could be used in combination with some of the above options, too. A simple example is the debugging buttons.

    16 16-1