End-user programming of the future