While the iMac is a fine computer and a masterpiece of industrial design, it can be very inconvenient and annoying that ALL of the ports and sockets and buttons are on the back.
There are several options to frontside USB accessibility - hubs, “left-angle” extension cables, and some poorly-engineered extensions.
Sabrent’s attractively-packaged HB-IMCU 4-port USB 3.0 hub is the most elegant solution I have seen. It clips very securely to the bottom of the iMac and blends very well with the natural aluminum finish.
Users need to carefully follow instructions - it works fine with all ports on the 21.5” iMac models, but for reasons NOBODY (including Apple) can explain, it only works with certain ports on 27” models. This does not effect functionality, but because it is a little tricky to install and remove, you’ll want to pay attention and get it right the first time.
While there are provisions for an AC adapter, it is not included and only available for separate purchase as an extra. In most cases, it is also unnecessary. I loaded all 4 ports with USB-powered hard drives and flash drives, and everything worked simultaneously without external power. Apparently, some older USB devices are more demanding and Sabrent didn’t want to leave anyone behind.
The closest things I have to complaints might be that when the keyboard is connected through this hub, the iMac won’t wake from sleep mode when I tap a key (no biggie, it wakes when I move the mouse), and the hub doesn’t quite mount flush with bottom of iMac, it’s slightly crooked (unclear whether this is typical, but this is strictly a cosmetic issue).
Sabrent also closely watches its product reviews. When I had problems with their 7-port aluminum hub and posted a negative review, I was contacted by their customer service and received this as a replacement. I've seen a couple of other reviews with similar experiences. While I didn't initiate the contact with their customer service, I have every reason to think they would have been equally conscienscious if I had called them instead.