Project: Spectrum | OSD Menu Refinement


Hi community!

We are back with more updates on Spectrum with OLED. This time we want to cover our OSD development. You will discover some changes we have made to the overall design guidelines, and we welcome all feedback you might have!


Even before developing the electronics to a point where programming testing and features was possible, the new firmware team was already at work building our OSD menu. Fonts, sizes, colors, and content all still need to be adjusted. But though a lot of polish is still required, we’re already a lot closer to our original design that we’ve ever been before. And we’ve even got the menu running on an actual monitor, even though it’s not ours.

First version 02
The programmer’s monitor is both ultra-wide and curved. Imagine how much better it will look on our monitor!

Help text

We have made some improvements to the design of our OSD menu, notably to the help box located at the bottom. It is now thicker to fit more lines of text, because some menu items require a longer description. The directional button icons also have their own line on top of the button description for better separation. And finally, since pressing the joystick always closes OSD, we decided to remove that entry from the help box altogether to reduce clutter and improve focus on the items that do change.

2023-02-20 Spectrum OLED OSD_Standard
This updated design file illustrates how the help text box has changed over the previous iteration.

2023-02-20 Spectrum OLED OSD_Indicator light color
As the selected item in the menu changes, so do the description and control options displayed in the help text box.


In addition to the help box, we’ve also changed the behavior of the information display at the top when using split-screen or picture-in-picture modes. Because the monitor has two active inputs in this mode, the OSD will now display information from both inputs side by side.

2023-02-20 Spectrum OLED OSD_Split screen
Notice the top box shows the current video mode for primary input on the left and secondary input on the right.


Next, we have refined our guidelines for colors in the OSD. The background is true black, which is easy on the eyes and makes great use of OLED technology’s advantage of infinite contrast ratio. For the text, we needed to find the right balance: each text color used needs enough contrast from the background to be readable, but they also need to be distinguishable from each other to illustrate their purpose. We ended up with these colors:

  • Active text (#FFFFFF)
    Primarily used for selected menu items and active elements. We want the active text to take the most attention by having the brightest color, contrasting against the background the most.

  • Inactive text (#7F7F7F)
    Primarily used for menu items that are available, but not currently selected. The secondary color should still be easily readable but dimmer to distinguish itself from the active text.

  • Unavailable text (#3F3F3F)
    Used on unselectable items. Though we try to keep as many settings available as much of the time as possible, sometimes a feature may not be applicable. The tertiary color is the dimmest of our text colors, but still readable against the background.

Language support

We recently ran a survey via e-mail asking our current Spectrum users about what language they use for their OSD. The results show that 88% of our customers have their OSD set to English, 3.1% to German, 2.7% each to Japanese and Spanish, 2.4% to French, and 1.2% to Chinese. (Note that we only surveyed customers who bought directly from our website, which does not ship to China.) There was also notable demand for the addition of Italian.

We asked this question because supporting multiple languages takes up a lot of resources. Not only to translate and maintain the many entries, but also to store them in the monitor’s storage and memory. At this time there are about 200 items in the OSD menu, but with the addition of our help box which ties a help text and three control instructions to each item, this grows the number of data entries to 1000. And that is just for English… Multiplied by the number of supported languages, that number would easily reach over 6000 unique text entries.

2023-02-20 Spectrum OLED OSD_Brightness
Even when a control does nothing, such as pushing the joystick right in this case, that ‘empty’ text still needs to be stored in the monitor. At least it’s easy to translate!

Since we want to provide the best possible experience, but also need to make the best use of the monitor’s storage and memory capacity, we want to take a critical look at our language support. There may be a balanced solution, where the menu items are translated, but the entries in the help box are always in English. This kind of idea greatly reduce the number of additional entries for each language beyond English.

So, the questions we would like to bring up for discussion, especially for those who are not using English for the OSD: are you fine with having the help text box always be displayed in English, regardless of the language setting?

Please let us know what you think!

DOUGH Subscribediscordtwitterfacebookinstagramyoutube


I think the new OSD looks great and has some nice improvements.

In terms of the multi-language OSD. You could theoretically use some universal symbols to represent some menu items next to the text in English and have translations in the manual. There is a possibility that the symbols would take up more space than the text would, but this way if you wanted to add another language it would only take updating the manual.
      Otherwise you would have to make separate firmware versions that include different languages, which sounds like a pain to deal with.

As always, having great DDC/CI & MCCS support will always be ideal for most users so they can change their monitors settings without opening the OSD. The software is already translated and should work as long as they use the standard commands.
      If standard commands are not available for certain features, there can always be work done to port non-standard commands to some software or make your own. As long as you make the commands accessible and have a guide to explain their functionality to developers.

This can lead to space savings in your OSD, but opens up another can of worms entirely. I wonder if people would rather have multi-language support in the OSD with worse DDC/CI compatibility or have a smaller number of languages as long as they could manipulate settings on their computer with better DDC/CI compatibility?


I’m very sad no one else commented on this :cry:. These kind of features are critical to get feedback on.

Please don’t complain too much about the OSD not having exactly what you want if you don’t give feedback when you had the opportunity to do so.

Hi there!

Sorry for not getting back to you on this. I had already drafted a reply but for some reason it was never posted.

Anyways, here it is.

I think we can try this approach. Maybe adding a symbol on the left hand side of the menu item. What do you think?

Our team is working for full support of DDC/CI command. Let’s see!

We do consider making our own app for this purpose.

I am not entirely sure if both are affecting each other directly. At least at this point I have yet to be presented about the possible technical limitations of having more language support.

Exactly. We are currently at the point of development where we can be most flexible. Any further up will be a lot tricky to make adjustments.

Any valuable feedback or points of improvements are most welcome and we need them coming now!

1 Like

Yes, that is what I was thinking.

I was just saying as a theoretical tradeoff. Would people rather have more languages supported in the OSD but with basic DDC/CI compatibility or have a smaller amount of built-in languages but better DDC/CI support for nonstandard features?
The idea being the translations would be in the app instead of the monitor itself. Both have pros and cons, just wanted to know if people were given only one choice what would they prefer.

1 Like