The design of software and user interfaces to accommodate and support the cognitive processes of the user.