Problem

  • The new toolbar takes up too much screen-estate.
  • Its size alone draws too much attention on it and away from the actual page content.
  • As if the size wasn't enough already, it further draws away attention by its chrome. (background colors, icons, etc.pp.)

Before

toolbar-chrome-before.png

After

toolbar-chrome-after.png

Attached patch is a proof of concept fix. Obviously, the icons need to be redone to work on dark background.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

Bojhan’s picture

Category: bug » task
Priority: Major » Normal

Disagreeing with the design is not a bug. I would largely agree with your problem statements, however they do lack argumentation when it comes to the visual side. Lack of argumentation on the visual side, is generally what gets us these problems in the first place :)

It is my understanding, post freeze we visually clean up all the stuff that was cramped into core. I'm making no active stride to do that now, but would encourage others to do so if they feel like it.

This is something tkolery should provide context upon, as I wasn't involved in these decisions around size, icons etc.

tkoleary’s picture

The size of the icons and the bar is optimized to best practices for touch devices (in fact it's a little on the small side for them). I don't think we should make any changes until we see usability data from Dharmesh on this. Until then it's just a battle of opinions.

moshe weitzman’s picture

We should consider tightening up the toolbar on non-touch devices. I think it is perfectly fine for it to vary based on touch-api.

sun’s picture

Status: Needs review » Closed (won't fix)

Wrongly assumed there'd be some hope to eliminate admin_menu for D8. Not interested in uphill battles.

David_Rothstein’s picture

Status: Closed (won't fix) » Active

Not sure why this was closed but it seems very legit to tighten it up (maybe just when in the horizontal orientation, rather than specifically checking for touch devices? - if you have a small touch device you won't be using the horizontal orientation anyway).

Just personal preference, but I also like the (D7-style) gray for the bottom bar more than the white. It draws less attention, and if your site has a white background, like many do, a white toolbar seems especially problematic.

james.elliott’s picture

FileSize
18.35 KB
15.28 KB

I agree with David_Rothstein that doing a check for touch would be the ideal way to determine the spacing and size of the toolbar. An example of this behavior working well can be found in Office 2013. If I right click I get a menu with tight spacing. If instead I use touch and hold to right click I get a spaced out menu that is adjusted for touch optimization.

Mouse
Right click

Touch
Touch

jessebeach’s picture

I'm on board.

Wim Leers’s picture

#6: woah, that's a *stellar* example! Thanks for posting that!

tkoleary’s picture

@james.elliott yeah, that's awesome. thanks

sun’s picture

@james.elliott: That's indeed a good example for doing it right, thanks!

@David_Rothstein:

I also like the (D7-style) gray for the bottom bar more than the white. It draws less attention, and if your site has a white background, like many do, a white toolbar seems especially problematic.

I agree. It's not only the background color of the website. The Toolbar additionally competes with the browser's native chrome.

The job of an administrative toolbar is to achieve a [web] application experience within a [native browser] application experience. Clearly separating the two, and in addition, clearly separating it from the actual web page.

By using high-contrast colors, that fundamental goal is not achieved: The main line items and secondary line items visually appear as separate units, which do not have a relationship.

One of the first things that every baby/child learns is: Red ball belongs into red bin, green ball belongs into green bin, white into white, and black into black. The current toolbar requires every human to re-evaluate visual 101 basics, because white belongs to black.

An administrative toolbar needs to present a single visual unit, with its own application specific chrome, under all possible circumstances.

And unless dealing with thick fingers, the toolbar has to be as small and compact as possible. The term "toolbar" sufficiently clarifies on its own linguistically:

A toolbar is a tool bar, and not the primary interaction.

Consider a wall, a nail, and you. You only need a hammer if the wall and the nail aren't both designed in a way that enables you to do what you want. Now change the primary interaction, replace nail with pin and it's almost guaranteed that you do not need a hammer.

You do not need a tool if an action can be performed without the tool. Consequently, a tool must stay a tool, and a toolbar must not be more dominant than a toolbox. How often do you need a hammer?

Bojhan’s picture

Issue summary: View changes

I am not really sure about this, can we get some actual working code? Because the resizing probably involves some magic.

Although I am not sure about the color analogy. There is little visual connection between the active tab and the menu bar below - thats more the problem, than the actual colouring.

Wim Leers’s picture

Title: Toolbar is too large and involves too much chrome » Toolbar is too large and involves too much chrome: make it spacious on touch interaction, condensed on pointer interaction
Issue tags: +Usability

Looking at the (awesome!) screenshots in #6, I'm thinking this will have to be deferred to 8.1.0, where it would be a nice usability-enhancing feature.

Also clarifying the title, by appending make it spacious on touch interaction, condensed on pointer interaction. Which also points out one fundamental problem: what is the default state going to be? Some devices support both pointer- and touch-based interaction (like the example in #6 shows). So either we default to condensed, but then it's bad for touch interactions, or we default to touch, but then it's bad for pointer interactions.

I propose that if we can reliably detect whether a device supports ONLY pointer interactions, then we can default to a condensed toolbar, otherwise we must default to the current toolbar, otherwise touch interactions would be too painful. Which begs the question: what if you're on a touch-capable device but are using a pointer device? Changing the toolbar's visuals after the user has interacted already seems … jarring.

Which IMHO indicates that we should do this:

  • detect if a device does not support touch interaction, and if so, render the toolbar condensed, and keep it condensed
  • otherwise, keep everything as-is

Thoughts?

Version: 8.0.x-dev » 8.1.x-dev

Drupal 8.0.6 was released on April 6 and is the final bugfix release for the Drupal 8.0.x series. Drupal 8.0.x will not receive any further development aside from security fixes. Drupal 8.1.0-rc1 is now available and sites should prepare to update to 8.1.0.

Bug reports should be targeted against the 8.1.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.2.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.1.x-dev » 8.2.x-dev

Drupal 8.1.9 was released on September 7 and is the final bugfix release for the Drupal 8.1.x series. Drupal 8.1.x will not receive any further development aside from security fixes. Drupal 8.2.0-rc1 is now available and sites should prepare to upgrade to 8.2.0.

Bug reports should be targeted against the 8.2.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.3.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.2.x-dev » 8.3.x-dev

Drupal 8.2.6 was released on February 1, 2017 and is the final full bugfix release for the Drupal 8.2.x series. Drupal 8.2.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.3.0 on April 5, 2017. (Drupal 8.3.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.3.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.4.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.3.x-dev » 8.4.x-dev

Drupal 8.3.6 was released on August 2, 2017 and is the final full bugfix release for the Drupal 8.3.x series. Drupal 8.3.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.4.0 on October 4, 2017. (Drupal 8.4.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.4.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.5.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.4.x-dev » 8.5.x-dev

Drupal 8.4.4 was released on January 3, 2018 and is the final full bugfix release for the Drupal 8.4.x series. Drupal 8.4.x will not receive any further development aside from critical and security fixes. Sites should prepare to update to 8.5.0 on March 7, 2018. (Drupal 8.5.0-alpha1 is available for testing.)

Bug reports should be targeted against the 8.5.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.6.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.5.x-dev » 8.6.x-dev

Drupal 8.5.6 was released on August 1, 2018 and is the final bugfix release for the Drupal 8.5.x series. Drupal 8.5.x will not receive any further development aside from security fixes. Sites should prepare to update to 8.6.0 on September 5, 2018. (Drupal 8.6.0-rc1 is available for testing.)

Bug reports should be targeted against the 8.6.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.7.x-dev branch. For more information see the Drupal 8 minor version schedule and the Allowed changes during the Drupal 8 release cycle.

Version: 8.6.x-dev » 8.8.x-dev

Drupal 8.6.x will not receive any further development aside from security fixes. Bug reports should be targeted against the 8.8.x-dev branch from now on, and new development or disruptive changes should be targeted against the 8.9.x-dev branch. For more information see the Drupal 8 and 9 minor version schedule and the Allowed changes during the Drupal 8 and 9 release cycles.

nod_’s picture

Version: 8.8.x-dev » 9.1.x-dev

Version: 9.1.x-dev » 9.2.x-dev

Drupal 9.1.0-alpha1 will be released the week of October 19, 2020, which means new developments and disruptive changes should now be targeted for the 9.2.x-dev branch. For more information see the Drupal 9 minor version schedule and the Allowed changes during the Drupal 9 release cycle.

Version: 9.2.x-dev » 9.3.x-dev

Drupal 9.2.0-alpha1 will be released the week of May 3, 2021, which means new developments and disruptive changes should now be targeted for the 9.3.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.3.x-dev » 9.4.x-dev

Drupal 9.3.0-rc1 was released on November 26, 2021, which means new developments and disruptive changes should now be targeted for the 9.4.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.4.x-dev » 9.5.x-dev

Drupal 9.4.0-alpha1 was released on May 6, 2022, which means new developments and disruptive changes should now be targeted for the 9.5.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 9.5.x-dev » 10.1.x-dev

Drupal 9.5.0-beta2 and Drupal 10.0.0-beta2 were released on September 29, 2022, which means new developments and disruptive changes should now be targeted for the 10.1.x-dev branch. For more information see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.

Version: 10.1.x-dev » 11.x-dev

Drupal core is moving towards using a “main” branch. As an interim step, a new 11.x branch has been opened, as Drupal.org infrastructure cannot currently fully support a branch named main. New developments and disruptive changes should now be targeted for the 11.x branch, which currently accepts only minor-version allowed changes. For more information, see the Drupal core minor version schedule and the Allowed changes during the Drupal core release cycle.