I've always wondered at the UI of alarm clocks. It seems like they gave up after "let's make the snooze button big!"
Now what I'd really like is a programmable alarm clock, allowing me to encode an optimal awakening algorithm. "at volume x, play song y. If snooze button is not pressed yet, double volume and play The Safety Dance."