I installed the block heater on my 2012. It is the OEM Subaru part and costs around $35 online.
Installation involves draining the coolant and unbolting the exhaust, so unless you've done it before, it will take more than 20 minutes.
I keep my car garaged, but run the block heater on a timer anyway. Instant heat is nice in the morning, and so is reduced wear. My commute involves an early uphill merge, which would mean full throttle pulls on a cold engine.
A few things to watch out for...
-You need a very large allen socket (and probably a breaker bar) to remove the stock plug. Check the directions and make sure you have it before starting the job.
-Clearance between the plug/wire and exhaust manifold is very tight, so the block heater's orientation matters. Test fit the exhaust and rotate the heater so the wire clears the manifold.
-Use anaerobic (not RTV, not silicone) sealant on the threads of the heater. Not much torque is required for a watertight seal.
-If the car sits for a while and the coolant temperature disagrees with the other temperature sensors repeatedly, the ECU will assume the coolant temperature sensor is defective, set the CEL, light the VDC indicator and disable cruise control. The CEL is easy to clear with an OBDII tool, and has no lasting consequence. It's just a minor annoyance.
-Don't use a cheater plug. A GFCI outlet or add-on would be a good idea.