I have a
Lux Geo Thermostat.
Cheaper than the Nest, most of the features. Also comes in black or white (I think the Nest is black only?).
Very easy to program, and has a geo-fence feature that I really like (I work an odd schedule, so can't program for it perfectly, plus the wife and kids come and go etc).
When all our phones are out of a specific range (can be set per phone) it will turn on "away" mode, which will adjust the temperature to your selected preset level to save energy when not home. When you come back within the range, it will kick back to your set temp.
The phone/tablet interface is simple to use, and you can control multiple thermostats (Lux brand only) from the same interface, so if you have 2 units in the house (or 2 homes), you can control it from the same screen.
I just got my brother in law to get one for his lake house (he uses his neighbors wifi (with permission) to connect since he does not have internet there). Makes it so much easier to set the temp to cool off before getting there, and make sure it was set back to correct temp when guests leave if he is not there.
You can also lock the wall control so you can only adjust it from the app, as well as it having an "auto" mode that will change from heat to cool based on temperatures you select.
The only con is power (as is most wifi thermostats). If you do not have a c-wire for power, you can use batteries or USB plug. I was using batteries to power mine, but it was going through even good batteries at 2 per month. I ended up running a USB plug to it and it works great and does not look that bad.
For ~$100, I am very satisfied. I have been using programmable thermostats for 10+ years, but this gives me much more flexibility and does save me money in the long run.