UI(User Interface, 사용자 인터페이스)는 사람들이 컴퓨터와 상호 작용하는 시스템을 의미한다. 보통 UI라고 하면 떠오르는 화면상의 그래픽 요소 외에도, 키보드, 마우스 등의 물리적 요소도 컴퓨터와 상호 작용하기 위한 시스템이므로 UI라고 볼 수 있다.
GUI는 사용자가 그래픽을 통해 컴퓨터와 정보를 교환하는 작업 환경을 말한다. GUI의 예시는 우리가 보는 운영체제(Window, Mac OS)의 화면, 혹은 애플리케이션 화면이 있다. 프론트엔드 개발자로서의 UI는 대부분 이 GUI를 의미한다.
UX(User Experience, 사용자 경험)의 사전적 의미는 사용자가 어떤 시스템, 제품, 서비스를 직•간접적으로 이용하면서 느끼고 생각하는 총체적 경험이다. 제품, 서비스 그 자체에 대한 경험은 물론, 홍보, 접근성, 사후 처리 등 직간접적으로 관련된 모든 경험을 사용자 경험이라고 할 수 있다. 말 그대로 총체적 경험인 것이다.
UX는 UI를 포함한다. 또한 좋은 UX가 좋은 UI를 의미하거나, 좋은 UI가 항상 좋은 UX를 보장하지는 않는다.
기본 계산기 애플리케이션을 생각해 보자. 특별히 보기 싫다거나, 보기 좋은 디자인의 UI는 아니다. 오히려 투박하다면 투박한 디자인이다. 하지만 계산기의 기능을 제대로 제공한다는 점에서 UX는 훌륭하다. 꼭 좋은 UX가 좋은 UI를 의미하지 않음을 보여준다.
반대로, 누가 봐도 세련되고 보기 좋은 UI의 계산기가 있다고 생각해 보자. 그런데 입력한 숫자가 아닌 다른 숫자가 화면에 뜨거나, 계산 결괏값이 제대로 나오지 않는다면 어떨까? UI가 아무리 보기 좋아도 UX는 좋지 않을 것이다. 이는 좋은 UI가 좋은 UX를 보장하지 않음을 보여준다.