การโต้ตอบระหว่างผู้ใช้กับโปรแกรม เป็นกระบวนการต่อเนื่อง ที่ผู้ใช้ติดต่อสื่อสารกับโปรแกรม ด้วยการให้ข้อมูลในรูปแบบต่างๆ ซึ่งทําให้เกิดเหตุการณ์ในโปรแกรม ตามลักษณะการให้ข้อมูลนั้น เมื่อโปรแกรมรับรู้และตรวจจับเหตุการณ์ที่เกิดขึ้น ก็สามารถตอบสนองต่อเหตุการณ์นั้นๆ ได้ตามที่ได้เขียนโปรแกรมเอาไว้การโต้ตอบระหว่างผู้ใช้กับโปรแกรม เป็นเหตุการณ์แบบหนึ่งที่อาจเกิดเมื่อใดก็ได้ เกิดชั่วครั้งชั่วคราวก็ได้ เกิดอย่างต่อเนื่องก็ได้ หรือไม่เกิดเลยก็ได้ ขึ้นกับการออกแบบและชนิดของโปรแกรม เช่น โปรแกรมแอนิเมชั่น ที่ผู้ใช้อาจดูอย่างเดียว ไม่โต้ตอบกับโปรแกรมเลย โปรแกรมตอบโจทย์คณิตศาสตร์ที่ผู้ใช้ต้องตอบคําถามกับโปรแกรม ด้วยการคลิกเมาส์หรือกดคีย์เลือกคําตอบ หรือโปรแกรมเกม ที่ผู้ใช้ต้องโต้ตอบกับโปรแกรมตลอดเวลา เป็นต้น
การออกแบบช่องทางการติดต่อระหว่างโปรแกรมกับผู้ใช้ (User interface design) โปรแกรมรับรู้การติดต่อ เมื่อได้รับข้อมูลจากผู้ใช้ แต่จะตอบสนองเฉพาะสิ่งที่โปรแกรมสนใจ ซึ่งต้องถูกเขียนโปรแกรมไว้ล่วงหน้ามาแล้ว เช่น เขียนโปรแกรมให้รับรู้และตอบสนองต่อการกดคีย์ x ถ้าผู้ใช้กดคีย์ x โปรแกรมก็จะตอบสนองตามที่ได้เขียนโปรแกรมไว้ แต่ถ้าผู้ใช้กดคีย์ y ซึ่งโปรแกรมไม่รับรู้การกดคีย์ y จึงไม่ทําอะไรตอบสนอง
การรับรู้และตอบสนองต่อการกดคีย์ x เป็นการสร้างช่องทางให้ผู้ใช้ติดต่อสื่อสารกับโปรแกรมในขณะที่การกดคีย์ y ไม่ได้เป็นช่องทางติดต่อระหว่างผู้ใช้กับโปรแกรม นอกจากผู้ใช้จะสามารถติดต่อโปรแกรมผ่านอุปกรณ์ต่างๆ ของคอมพิวเตอร์ (เมาส์ คีย์บอร์ด ไมโครโฟน) ได้แล้ว การสร้างตัวละครขึ้นมา เพื่อเป็นอีกช่องทางหนึ่งให้ผู้ใช้ติดต่อกับโปรแกรมโดยเฉพาะ ก็สามารถทําได้ โดยตัวละครเหล่านี้จะอยู่กับที่ คล้ายปุม พร้อมจะทำงานเมื่อผู้ใช้คลิกที่ตัวละครเหล่านี้