Bridging the Gap Between Humans and Computers