Number of devices
The first thing you should do is determine how many devices you will need to control now and in the near future. Remotes generally can all handle a typical setup such as a TV, AV Receiver, Set Top Box, and Disc Player. In this case, using Logitech Harmony remotes as an example, if you add one more device then you would need to upgrade from the Harmony 300 (with a four device limit) to the Harmony 650 (with a five device limit) at a minimum. So plan out how many devices you think you will have during the life of your remote.Budget
Before you ask “which remote” and list your requirements, make sure you post a budget. There might be a perfect remote out there for you , but if you think spending $50 on a remote is crazy then you will get a bunch of suggestions that would put you into sticker shock. You can get a cheap programmed remote for about $10 or a PC programmable remote for $1000.Batteries
Another separator for remotes is if you want to use standard batteries, which can be alkaline or rechargeable, or have one that uses a rechargeable battery pack. With the battery pack you charge the remote by placing it on a custom cradle or connecting it with a charging cable. The remotes with an LCD screen are typically the ones with the rechargeable battery pack. The time between recharge is dependent on many factors, but at the least they will last a full day and be placed on the charger each night. In my experience I typically get about three days between needing recharged.Interface
Everyone is familiar with buttons on a remote. In addition to buttons, some remotes now include a display that contains what can be called soft buttons or soft keys. Depending on the remote, this display can be a touch screen in the case of a Harmony One/900 or have buttons along the side in the case of the Harmony 880/URC MX-880/980. Buttons allow you to use the remote by touch and not have to look away from the TV to turn the volume up or down.
Touch Screen remote receive their input directly on the screen. This allows for all sorts of customization from button placement to icon styles. Touch Screen remotes do typically have hard buttons in addition to the screen. These buttons are typically for volume +/- and channel +/-. There are now solutions to allow touch screen enabled phones and music players such as the iPhone, iPad, iPod Touch, and Android phones to act as your universal remote. Just be away that one of the drawbacks to using a touch screen remote is that you may have to look at the remote to perform the desired action instead of going by feel when using a hard button remote.Line-of-Sight Issues
If you are planning on hiding your devices in a cabinet, in a closet, or even on another floor then you will need to be able to have to remote communicate without line-of-sight. There are a few methods to accomplish this with the most basic being an IR Extender.IR Extender
An IR Extender uses an IR receiver that is typically on the end of a cable. The other end plugs into a distribution block where it emits IR. You have to route the IR receiver so that it has line-of-sight with the IR signal from your remote. The signal is received and passed through to the distribution block and then emitted via IR from the block. The emitted IR signal can be from an IR flasher built into the block itself, from stick-on emitters that are attached to the block with a cable in the same manner as the IR receiver, or sometimes directly from the block into a device such as an AVR. The IR signal is emitted through all ports of an IR Extender. If you have two identical devices then you will not be able to control them independently with an IR Extender.
The emitters have transparent double-sided tape that you place over the device’s IR receiver. (Tip: if the adhesive no longer sticks then you can use a dab of hot glue) The cables are usually 3.5mm male mono or stereo cables. These can be spliced with CAT5 cable if needed by cutting the cable and connecting each wire to a pair of cables on each end of the CAT5 extension.RF Extender
An RF Extender requires the use of an RF remote. The RF remote is typically matched to the same brand of RF extender. If you get a Harmony RF remote then you need to use a Harmony RF extender. If you get a URC RF remote then you need to use one of their RF extenders. In the case of Harmony their RF remote options are the Harmony 890, 900, 1000, and 1100 with the 890 and 900 including the RF extender with the remote.
The RF Extender receives a signal from the RF remote. The RF Extender then emits the correct IR signal to the device. The emitters are similar to those used for the IR Extender (stick-on, flasher, direct IR input). With most RF Extenders you can specify which port to emit the IR signal. With multiple ports you can have multiple of the same device. The IR signal will be routed to that device and not the other devices. This allows you to control multiples of the same device with a single remote.Extending IR Emitters and Receivers
You can extend the length of the IR emitter and receiver cables by using patch cables or splicing into another type of cable. The simplest way to extend the cable is to use a mono male/female with 3.5mm (1/8") connectors, or 2.5mm in the case of the Harmony 900. These cables can be purchased at most places like Radio Shack and Monoprice.
The custom method is to run a cable, such as CAT5, and splice it into an existing IR cable. You simply pick a color from the CAT5 cable and match it on both ends to the wires in the IR cable. Doing this is destructive to the IR cable since you are cutting it in half. A method that I recently used was to connect a female 3.5mm solder type connector to each end of a CAT5 cable. I then used a 3.5mm male/male mono cable to connect the extender to one end of the CAT5 cable's female connector. Then on the other end I simply connected the existing emitter to the other CAT5 cable's female connector. No IR cable was harmed in the process.
I actually took that method one step further since I had a spare Ethernet port located at the source and destination. For my CAT5 cable I used a spare network patch cable and cut it in half. I connected a 3.5mm female connector to the end of each patch cable, I think I used the blue and orange wires. I then simply plugged the patch cable into the existing pair of wall jacks to complete the circuit. If you don't have an existing unused Ethernet port you could still use the method to terminate your CAT5 cables. If you no longer need to route IR then that cable can be reused for your home network.ProgrammingBuilt-in Database
The most basic form of a universal remote is one with a built-in database of codes. These are accessed by entering a setup mode and entering in a code that corresponds to your device. This is the most limited in that you are stuck with what in already entered into the database.Learning
The learning feature allows you to transmit an IR signal from a remote and learn it into the universal remote. The learned signal is then assigned to a button. A lot universal remotes now include this feature.PC Programming
This is what most users are seeking out and it give a lot of flexibility on the button layout and available codes. The remote will use specific software that is linked to a code database in order to program the remote.Harmony remotes
use an online database with practically any code that you would need. This allows you to program your remote without having to resort to learning codes and it also includes some codes not on the original OEM remote such as discrete codes for power on and off and direct input selection.URC remotes
use a local database that is periodically updated on a server. The software retrieves the updates and stores them on your computer. This allows you to program your remote without needing an internet connection, which is handy for custom installers. However, URC Professional remotes do not ship with the software and it is up to the authorized dealer to provide it to the end user or not.JP1 remotes
can be programmed using a special cable and software. The JP1 remotes are typically very cheap and are sold as only having a built-in database and possibly the learning feature. However, they can be programmed by utilizing a jumper that is located in the battery compartment. Connecting the jumper to a computer with the cable allows you to program the remote using the JP1 software and unlocks the more capability than the remote offers built-in.