One of our principles is that the same engineers should design the hardware and the software. We believe this has big advantages over the more traditional approach where hardware engineers design the hardware, and software engineers design the software. The hardware can be designed to be “software friendly”, and the software can really make best use of the hardware. For example we do a lot of inferred sensing, where software can infer the state of the hardware without needing dedicated hardware sensors. This requires very close coupling of hardware and software design.
The same goes for human interfaces such as front panels and web pages. We’re not very good graphic designers (which is why we employed a web designer to develop this website), but we like to be closely involved in the design of such things. I have a pet hate for user interfaces that have been designed by specification, with a typically poor relationship between the user experience and what is actually going on inside the machine.
So I enjoyed reading this article – good to know we’re not alone!