Haven't read every post, but if the only reason to take a picture of the physical remote is to compare it to a stored database of remotes, it seems like an unecessary step. Seems to me you could just look up the device model or the remote model and select them from a list.
Furthermore, that would still mean different display screens for each remote. That's not optimal. You really want to create one remote screen that combines the functionality from different remotes. Some of my remotes control more than one device, but each one tends to be missing one or two functions that the original remote had. For example, my Sony TV remote can control my cable box, but it doesn't have a Favorites button that works with the cable box. My receiver remote can turn the Blu-ray player on and off and it can navigate menus, but you can't start and stop the disc from playing.
In addition, like some of the programmable universal remote apps that are available today, you want to be able to program sequences, like "close the shades, turn on the TV, turn to HDMI Input 1, turn on the receiver, switch it to TV."
So if the matching to existing remote is just a first step, that's a great idea, but you still need to be able to add more buttons/functionality to it.
If you want to spend your life programming, there are some nifty software solutions out there that will work on iPhone/iPad, but then you have to pay for the software and pay for the IR box. For free, I can already use my iPhone to control some (but not all) of my devices, but there's a separate app for each device, which is a pain. As someone else pointed out, you can do a lot via the network (although you usually can't turn devices on). Apple needs to pull this all together and do it inexpensively. If I have to spend $200-$300, I'll just continue to use the crappy remotes I already have. When the iPhone 5 is released, I'll probably dedicate my 3G as a remote device, but there's still disadvantages to that, including relatively short battery life as compared to a physical remote, having to switch between apps, not being able to shut devices off unless I also buy an IR box, etc.
Furthermore, that would still mean different display screens for each remote. That's not optimal. You really want to create one remote screen that combines the functionality from different remotes. Some of my remotes control more than one device, but each one tends to be missing one or two functions that the original remote had. For example, my Sony TV remote can control my cable box, but it doesn't have a Favorites button that works with the cable box. My receiver remote can turn the Blu-ray player on and off and it can navigate menus, but you can't start and stop the disc from playing.
In addition, like some of the programmable universal remote apps that are available today, you want to be able to program sequences, like "close the shades, turn on the TV, turn to HDMI Input 1, turn on the receiver, switch it to TV."
So if the matching to existing remote is just a first step, that's a great idea, but you still need to be able to add more buttons/functionality to it.
If you want to spend your life programming, there are some nifty software solutions out there that will work on iPhone/iPad, but then you have to pay for the software and pay for the IR box. For free, I can already use my iPhone to control some (but not all) of my devices, but there's a separate app for each device, which is a pain. As someone else pointed out, you can do a lot via the network (although you usually can't turn devices on). Apple needs to pull this all together and do it inexpensively. If I have to spend $200-$300, I'll just continue to use the crappy remotes I already have. When the iPhone 5 is released, I'll probably dedicate my 3G as a remote device, but there's still disadvantages to that, including relatively short battery life as compared to a physical remote, having to switch between apps, not being able to shut devices off unless I also buy an IR box, etc.