What the need to do is provide a common programming
API, and let
third parties develop the UI software. That way, they'd get support
across more OS's, you could use the same UI on different models, and
they still can keep their programming algorithms proprietary.
This still has many of the same problems as completely proprietary
programming interfaces.
Notably, it ties the user to x86 hardware (since you _know_ nobody's
going to bother providing the proprietary part for anything else) and
it requires placing a great deal of trust in the company, since it
involves handing control over to foreign binaries.
Also, you need a well-defined API not only for the layer interface
_above_ the proprietary code but also the layer interface _below_ the
proprietary code, or else you've not helped the OS situation any
because you're stuck with whatever OS they've chosen to write their
proprietary code atop. (And, as above, you _know_ that's going to be
Windows.)
To the best of my knowledge (from 6 months ago) no one
has a GUI
interface for a non-Windows platform. There's no excuse for this, if
they would adopt a open API for device selection, programming,
verfication, etc.
I don't think even that would help much - see above.
The only fixes I can see are (1) to scrap the whole proprietary
software bit or (2) to use a p-code engine to run the proprietary
portion of the software.
/~\ The ASCII der Mouse
\ / Ribbon Campaign
X Against HTML mouse(a)rodents.montreal.qc.ca
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B