> It should be compiled to a DLL Oh?
> 4\. Multi-threading ready with clear rules what can be done in a background > thread and what not and how to communicate between threads. I think the lib should just have a boolean `inBackgroundThread: bool` parameter for those backgroundable proc. For UI most thing should be main thread for responsiveness. > 6\. This can imply that it works well on embedded devices, but also and more > importantly that it can be used in security critical applications. Are there even GUIs that are cleared for mission-critical applications? > Nice to have: > > 7\. If you only work with the very high level APIs and restrict yourself to > certain widgets, make it so that it supports a textmode UI as well. If I were to write a UI library, given how hard and time-consuming it is to wrote UI libs, I would instead start with text first, especially because most people using Nim in productions are using it for CLI-based tools. Once those are made **very** appealing, upgrade to GUI. There is a lot to do with text-based UI already, status-bar, progress-bars, see <https://github.com/Textualize/rich> which IMO is the based console UI, and certainly the one with best docs, I've seen.