Just looking at a kickstarter project called BLYNK. It looks like it takes virtually all the programming out of a project. Just load a standard sketch on the arduino no matter what you have connected. Then use your smartphone to connect to their server and dragNdrop your interface together.
I am a bit stunned. Not sure what to think.