I think there are a couple of nuggets of useful information in this article, but most of it is asking more a more developer friendly future, not a user centered future. The reason there are apps to control your keyboard color is that's what people want. They don't want the specs of the SPI interface so that they can program their own daemon to talk to it. The reason that different HID device vendors don't share the same app is "why would they ever". Why would you go through the trouble to create the "Universal HID LED color Consortium" with the associated meetings and hack fests to insure interoperability?