Skip to content

Consider revamping Harp operator icons, label prefixes, or suffixes for readability #120

Description

@banchan86

Description

Just writing down some notes and ideas we had during a discussion on the readability of Bonsai Harp operators during Bonsai DCM 2026-07-30.

The initial question was about word and character limits for Bonsai operator names and readability problems for devices with especially long device names or registers. For instance, for operators from the Harp.TimestampGeneratorGen3 package, the device name essentially fills the entire text box, making it impossible to read the register names (these are two different messages: BatteryThresholdLow and BatteryThresholdHigh).

Image

Admittedly, this is quite a rare edge case, and the Timestamp Generator Gen3 has the longest device name currently. However, the current labelling pattern of DeviceName.Register for most of the operators also poses other readability problems. For instance, these four different operators (FilterRegister, CreateMessage, Format, Parse) are named the same.

Image

People experienced with Bonsai and Harp learn to use either the surrounding nodes or the colours to disambiguate these different operators, but it can be quite unintuitive for newcomers and also a bit hard to follow along with for tutorials (the name of the operator as it appears in the example workflow image is different from how it appears in the toolbox).

Proposals

We discussed various ideas to address these issues:

  • Adding an extra line to the operator textbox to display longer names or additional prefix/suffixes.
  • Changing the icons (not sure what this covers, device specific icons?)
  • Surfacing the fully qualified name of the operator on hover or somewhere else
  • Dropping the DeviceName prefix and adding the operator class instead.

Surfacing the fully qualified name of the operator would also solve other readability issues for Bonsai operators in general, so I will raise a separate proposal for that.

I did a quick mock-up of the last option; this is how a CreateMessage for Harp SoundCard currently appears:
Image

And if we replace the prefix:
Image

Additional Context

One reason why the DeviceName was added to the operator label was that it does not show up if you click on the operator and check the property panel description, so if we drop it from the label we need to add it there:

Image

Also worth noting that the GroupByRegister and GetDeviceMetadata operators omit the DeviceName from the label; it only appears in the description.

Image

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions