I have had several programmable thermostats over the years and since I added the thermostat to my control4 system I am much happier. I suppose the same can be accomplished with Savant or RTI or Crestron or AMX or whatever. I don't want or need learning or programmable timers for heating or cooling. The problem with the programmable thermostats I have had is that people's schedules change or are not consistant. Sometimes I leave the house at 6 or 7, sometimes 9 or 10. I get home at different times too. So a weekly schedule leaves me freezing cold during the day if I am home or heating an unoccupied home more often than not.
The only thing I think that could improve my event based thermostat programming is if my Android phone could send a signal to my home to adjust the temperature when the phone's GPS or cell location senses that I am a few minutes from home. I read someone is doing that now but can't remember who. This way it would already be warm or cool, no matter when I randomly show up. Though, if you work close to home it could malfunction, I suppose.
I suggest you integrate your thermostat with your automation system and have it heat or cool based on events, not timers. For example, when my security system is armed to 'away', the system knows there will be nobody home so it turns down. If armed to stay, or armed within certain time of day parameters, it can behave differently. Plus all of the cool lighting and other events you can base events on. Tons of fun.
Buying a fancy overhyped thermostat will negate any energy savings. You might make back the cost of the thermostat in 10 years. It's a thermostat. How groundbreaking or awesome could it possibly be? Apple fans seem to love the Nest, but they are typically more concerned about the brand and the look than the useable functionality.
How much do you think you will save anyway? For me it is about comfort as much as savings. I want to be warm (or cool) when I am at home. I won't freeze in the dark worrying about my heating costs. But I don't want to heat or cool an empty house. Now that I have automated everything I don't often make use of the phone app, navigator on the TV or the PC app to adjust the temperature, because I never have to touch the thermostat. It just works. And if it is particularly cold or hot I can remotely access my system and adjust it before I leave for home and it is perfect when I arrive, no matter what time it is. I can even predict exit times based on other household events so that the temperature starts to go down 30 minutes before I'm likely to leave. etc.
There is a better way, but it involves more thoughtful and personalized integration, not just a shiny, pretty, expensive thermostat.
Just my experience.