The one software feature that I feel needs some work is the screen timeout when on a call. Let's say you're on a call going through a crappy automated system that requires you to press a bunch of options. After long enough the screen will go to sleep....no problem. You just wake it up with the top button. Only issue is that once it's went to sleep during the call and you've woken it up, the timer doesn't reset. Instead you're constantly hitting the top button to rewake it every 5 or so seconds....really annoying. I would prefer it reset the default timer.