Introducing Palettes
in classic startup tradition, we launched TRMNL with hard-coded values like "800x480" pixel dimensions across both the frontend and backend rendering pipeline.
paying down this technical debt was a blast (/s) and we learned a lot along the way. for example, as BYOD took off we realized: displays have a lot of specs! we publish those parameters in the Models API, making them accessible to BYOS clients for easy parity.
https://usetrmnl.com/api/models
but another aspect of displays and devices is their capabilities, and more importantly what an end-user wants to do with their display, regardless of its capabilities.
this may sound counter-intuitive, so let's take an example. suppose your e-ink display supports up to 7 colors, but requires 25 seconds to load, and you want the menu at your coffee shop to cycle every 30 seconds. wouldn't it be nice to render that menu in black and white, reducing the refresh time to < 1 second, but after closing hours show something in full color?
thus we created color palettes, yet another public API anyone can consume.
https://usetrmnl.com/api/palettes
thanks to this abstraction, any TRMNL device running FW1.6.X+ may specify which colors their content is rendered in, on a per item basis.
get started:
https://help.usetrmnl.com/en/articles/12985974-understanding-color-palettes