Applications that adapt without programming