I have one of the Philips wake-up lights[0] which gradually brightens its lamp over 30 minutes before playing some optional bird-chirping.
The gradual light-up feature gives it an edge over the sharp turn-on of a lamp plugged into a timer, but I'm often lying on my side with my back to the lamp, in which case the bird-chirping wakes me instead of the light.
I'm thinking of running a cord from the Philips's bulb socket to the bulb in a floor lamp which I can position above my head (instead of to one side, like the Philips).
I've recently connected my bedside lights (on each side of my bed) to a dimmable X10 socket. Using the programmable controller, they gradually brighten over 20 mins when all lights in the room turn on and my alarm goes off.
Felt it was more fun, less intrusive, and as cheap (ish) to roll my own solution.
It's a long way from the old days of a radio on full-volume static or alarm clock thrown under the middle of my bed!
[0] http://amzn.com/B003XN4RIC