My various other devices, like the amp, the Playstation, the cable box, etc. also have remote controls. None of them need to be visible, because they don't have an actual interface I need to look at. But the amp and the cable box both have to be put somewhere visible anyway, because their remote controls are infra-red 80s tech, and so they need to be pointed directly at the receiver to work.
The PlayStation remote, at least, works over Bluetooth, pretending to be a PlayStation controller, so it can work even if there's something directly in front of the device itself. But even this is proprietary.
And this made me think - nowadays all of my major devices are attached to my network, either over WiFi or plugged in directly. Why, then, don't they have a nice simple standard interface for setting values and getting statuses from an app? Something simple and text based would allow any device to return a list of values with things like "current channel", "available channels", "volume", "brightness", etc. and also allow them to be set. Any app could then work with this to act as a remote control - and you could even script events to make devices work together. "Turn on the TV, Turn on the Amp, Change the Amp to the DVD channel, turn on the DVD player, Start DVD playing" should be a trivial thing to tell your devices to do nowadays. But clearly nobody cares enough to make it happen.
Original post on Dreamwidth - there are comments there.