Source: https://www.emi.ac.ma/bouzoubaa/courses/HCI/Slides/Chapter%201-%20Introduction.pdf