Architecting the future of client computing