I am building a software design tool (think KiCAD, Fusion360, Cadence, etc) in a fairly new domain. I am looking for books that discuss how one can better design such tools? What capabilities and features are useful to build? How to design the UX? Any recommendations?