In the macOS version, why does hovering over the left side of a header or bullet point display all chevrons at once, instead of just one?

This image is from Obsidian. The app only shows the chevron next to the specific bullet point or header that aligns horizontally with the cursor, while Bear displays all of them.

Personally, I’d prefer if Bear displayed only one, but I’m okay with either approach.

I often think about how apps are designed, especially a well-designed one like Bear. So this question comes purely out of curiosity, not as a suggestion for the developers to reconsider anything :grinning:

I am interested to hear what the team says, but from a logical standpoint, it’s simpler (code wise) to just show all or none, rather than following where the cursor is.

The side actions area includes the folding and copy code buttons and possibly more actions in the future. We want the whole area to be recognized as a place to interact with the note content without using the keyboard or a submenu.

4 Likes

Hi! I’d like to add a few points regarding the design decision for the folding feature :slight_smile:

There are a few key reasons we decided to display all the chevrons at once:

  1. Improved Discoverability: Not everyone is aware that headers and lists can be folded, or that this feature exists. By displaying all the chevrons at once, we help new users easily discover this functionality.
  2. Cross-Platform Consistency: On iOS, there’s no cursor, so we can’t display chevrons on hover. Therefore, we must show them all at once. Having both platforms behave the same ensures a consistent experience across devices.
  3. Ease of Use: Keeping the chevrons visible while the mouse moves over the left column makes it easier to click the buttons. It avoids the need to track disappearing icons or guess where they’ll appear.

What we’re implementing is actually slightly more complex than simply showing the chevron on the current line (which isn’t feasible on iOS). This requires calculating additional areas so that the hover function works for subitems as well. You can see it in this debug screenshot:

4 Likes