When the Harmony remote works, it works well
until the batteries run out which happens way too often
And unfortunately I found my Harmony remote one of the most schizophrenic devices i've ever owned
It was dead out of the box as it needed internet access just to get the remote working in a basic sence - a real PITA. Combine this with the fact that a central database often had device ir codes wrongly changed, by some other person, resulting in my configuration being screwed up. Such screw ups to my configuration did happen simply by reconnecting my remote to my pc to make a simple non ir code tweek like changing backlight timeout period (which still required a connection to the server). And these sort of configurastion screw ups happened all too often.
Adding to such annoyances was the problem of one way ir communication that often occured because the remote wasn't pointed correctly or someone walked past while the remote was sending ir commands or someone placed the remote down after pressing a macro button. Such actions resulted in one or more ir commands being lost with the outcome being that the macro didn't do what it was set up to do. Then the poor operator was forced to answer a set of yes/no questions to get back on track.
Logitech did sell some RF harmony remotes which didn't have such line of sight issues as they came with a basestation containing a spiders web of ir transmitters but these were stupidly expensive and still had the above database corruption issues...
Conrast this to PS3 bluetooth remote which i use instaed of my Harmony (now in a draw). The PS3 remote worked out of the box without needing internet connection, is not line of sight critical (even for the ir part as it has very good ir strength) and can be set up to work with a multitude of other devices (tvs, amps, etc). It doesn't have macro capability or backlighting though the batteries do last much longer than my Harmony remote ever did...
So for me, the ideal remote would use bluetooth signaling to a basestation thus avoiding line of sight issues. The basestatation would have the smarts and a bunch of ir transmitters and also bluetooth transmitters connected to it. The indvidual ir transmitters would be wired to and assigned to the other ir devices (tv, amp, dvd, xbmc box) while the bt transitters would be assigned to a ps3. The basestation would receive the remote bt button presses and convert them to ir or bt or even usb command(s) as appropriate/desired. The basestation should also have an ir receiver so that it can learn ir codes from other remotes...
The basestation whould be able to interpret a single button press as a 'maco' that would blast out appropriate ir/bt codes to teh appropriate devices. Obviously the basestation would be connected to a pc for programing and assigning the bt button codes to ir/bt codes or macros containing ir/bt codes... By placing the smarts in the basestation, it should be possible to design the remote to consume the minimum of power while the basestation would be powered via an adapter.
Heck, is should be possible to simplify the basestation by designing an ir blasters and an ir receiver that is placed within the htpc itself which could also contain commodity bt modules. By incorporating the logic within the pc, this would bring down the basestation hardware costs to a minimum. The basestation software/drivers could be an opensource project (if one does not already exist). The tricky part is to have the bt remote work in the same way as the ps3 bt remote does w.r.t. the way it powers on the ps3 and how it optimizes connection and power usage. Obviously the basestation would be powered on by the remote and subsequently able to power on the other needed devices. If the basestation is an integral part of the htpc, then this must be powered up by the remote even if you want to watch broadcast tv which may not normally need the htpc to be on (time to buy some turner cards isn't it
)... or else you will need a separate basestation to avoid this use case...
Add backlighting and a rechargable battery to a remote which should be no bigger than is comfortable to hold in one hand while adding a cradle for charging wouldn't go astray. This would be a big improvement in what i've seen w.r.t. remotes so far (either cheap and 1/2 useful remotes or expensive and 1/2 useful remotes)...
Finally the software should use a local database of 'learnt codes' that i could choose to upload/download to/from a central database, much like freedb was a community driven database (is it still used/updated)...
But i guess your only looking at a simple ir remote