This document discusses implementation support for human-computer interaction, including:
1. It describes different layers of development tools like windowing systems, interaction toolkits, and user interface management systems that bring programming closer to the user's perspective.
2. Windowing systems provide device independence and resource sharing to support simultaneous user tasks, while interaction toolkits provide programming with interaction objects to promote consistency.
3. User interface management systems add another level above toolkits and focus on separating application semantics from presentation to improve portability, reusability, and customizability.