Human Computer Interaction 개론 (김진우 저) : 4장

- 분명 기능이 있기는 한데, 도무지 어떻게 사용하는지 알 수 없는 디지털 제품들이 있다. 특히 제품을 사면서 종업원의 설명을 들었을 때는 사용 방법을 알았는데 혼자 하려고 하니 도무지 기억이 안나는 경우가 있다. 그 이유는 무엇일까?
- 사용자는 한글 문장을 입력한다고 생각하고 열심히 키보드를 쳤는데, 시스템이 영문으로 지정되어 있는 경우가 많다. 어떻게 시스템을 설계해야 이런 오류를 방지할 수 있을까?
- 닌텐도 Wii와 같은 게임기를 쉽게 다루기 위한 조건과 세탁기 같은 가전 제품을 쉽게 사용하기 위한 조건은 다르다. 사용하는 데 편리하면 그만인데 시스템에 따라 조건이 달라지는 이유는 무엇일까?

1. 사용성의 정의와 중요성

1.1 사용성의 정의

  • 협의 : 수행하는 과정이 얼마나 효율적인가 (과정)
    • 효용성과 대비되는 정의 : 시스템이 목적으로 하는 기능을 수행할 수 있는지 없는지 결정 (결과)
    • 효용성과 사용성이 합쳐져서 전체적인 유용성을 구성
  • 광의 : 시스템이 사용자의 목적을 달성해 주느냐에 대한 유용성과 시스템에 대한 사용자의 첫인상, 사용자의 능력에 따른 시스템의 적응화 정도 등 편리성 외에 많은 요소를 포함
    • 가장 포괄적인 의미의 사용성은 사용품질
      • 사회적, 물리적, 기술적 환경 등을 포함한 다양한 실제 사용환경에서
      • 사용자가 느끼는 효율성, 효과성, 만족도를 포함하는 총체적인 품질
  • 사용성 국제 표준 ISO9241-11 : 효과성, 효율성, 만족을 포괄하는 개념이라 규정
    • 효과성 : 시스템이 사용자의 목적을 얼마나 충실하게 달성하는지를 의미하기도 하고, 사용자의 과업 수행의 정확성과 수행 완수 여부를 뜻한다.
    • 효율성 : 사용자가 과업을 달성하기 위해 투입한 자원과 그 효과 간의 관계; 사용 시간이나 학습 시간으로 측정
    • 만족 : 사용자가 시스템을 사용하면서 주관적으로 본인이 기대했던 것에 비해 얼마나 만족했는지를 의미

책에서는 다음과 같이 정의하고자 함

사용자가 특정 맥락에서 특정 목표를 달성하기 위해 디지털 시슽엠을 전반적으로 편리하게 이용할 수 있는 정도

1.2 사용성의 중요성

  • HCI 관련 학회나 저널에서도 시스템의 가장 핵심적인 경쟁력이 사용성에서 나오고 있음을 강조한 연구가 많음
  • 제공된 기능이 이용하기 어려워 시스템을 충분히 사용할 수 없다고 느낀다면, 아무리 많은 기능이 제공될지라도 사용자는 그 시스템을 더 이상 사용하지 않음
  • 사용도가 높은 시스템일수록 사용자가 좀 더 효과적으로 과업을 수행하고 생산성이 향상된다
  • 사용성의 차이에 따라 성공과 실패가 갈리는 경우 존재
    • ex. 애플의 아이패드와 아마존의 킨들

2. 사용성의 속성

  • 기본적 차원 : 효율성, 정확성
  • 부수적 차원 : 의미성, 유연성, 일관성

2.1 효율성의 차원

효율성(efficiency) 은 사용자가 주어진 과업을 얼마나 효율적으로 달성할 수 있는지와 관련된 사용성의 속성을 의미한다.

  • 반응성(responsiveness) : 사용자의 행동에 대한 시스템의 반응 속도와 관련된 속성으로, 시스템의 반응 속도는 안정적으로 빨라야 함. 이와 관련된 개념은 지체이다. (시간)
    • 시스템 지체(system delay) : 해야할 작업에 비해 사용하고 있는 시스템의 메모리가 부족하거나 프로세서의 속도가 늦어 시스템 자체에서 발생하는 지체
    • 네트워크 지체(network delay) : 네트워크의 부하로 발생하는 지체
    • 해결책
      • 가장 좋은 방법은 더 많은 프로세서와 더 많은 메모리 장착, 더 빠른 인터넷 접속 환경을 확보
      • 예산 및 기술적 이유로 불가능
      • 시스템의 상태를 사용자가 이해하기 쉽게 보여 줌으로써 체감 반응성을 향상 시킬 수 있음
      • 경고 메시지 등의 부가적인 정보를 제공
  • 단축성(minimal action) : 사용자가 자신이 원하는 과업을 간단하게 마무리할 수 있는 정도를 의미 (절차)
    • 단축키
    • 단축경로 : 자주 사용하는 정보, 기능이나 키를 좀 더 쉽게 접할 수 있는 곳에 배치
      • 너무 많으면 심성모형 수립 과정에 지장

2.2 정확성의 차원

정확성(accuracy) 은 사람들이 시스템을 사용하면서 저지르는 오류와 관련된 사용성의 속성이다.

  • 사전 방지성(error prevention) : 사람들이 오류를 저지를 수 있는 가능성을 미연에 제거하거나 줄여 줌으로써 시스템을 사용하면서 범하는 실수를 사전에 방지
    • 균형성의 법칙 : 어떤 행위가 복구하기 어려울수록 애초에 그 행위를 저지르는 것 자체도 어려워야 한다
    • 사전심사 : 시스템의 현재 상태를 사전에 심사해 실행할 수 있는 항목만 사용자에게 보여주는 것 (클릭을 아에 불가능하게 변경)
  • 오류 발생 감지성(error detection) : 미연에 방지하는 것이 좋지만, 못했을 경우 최대한 사용자가 빨리 인식하고 조치를 취할 수 있어야 함
    • 지속성의 효과(persisteny effect) : 오류의 발생 사실을 시각적 또는 청각적으로 강조
  • 오류 회복성(error recovery) : 사용자 자신이 과거에 저질렀던 오류를 정정할 수 있게 하는 속성
    • 후방 오류 회복성(backward error recovery) : 사용자가 과거에 저질렀던 오류의 효과를 취소하고 오류를 저지르기 전의 상태로 돌아가는 것
      • 얼마나 많은 단계를 취소할 수 있을지가 중요; 사용자도 전부 기억은 불가; 적절한 범위 필요
      • 취소의 취소, 시스템의 중복 취소 등을 명확하게 해야함
    • 전방 오류 회복성(forward error recovery) : 사용자가 이미 범한 오류를 취소 할 수는 없지만 이전의 상태로 다시 돌아갈 수 있는 길을 제공
      • 얼마나 근원적인 상태까지 가능?
      • 기본값 복원
      • 최근값 복원

2.3 의미성의 차원

의미성(meaningfulness) 은 시스템을 사용하면서 사용자가 보고 싶은 정보나 실행하고 싶은 기능이 사용자에게 제공되어야 한다는 것이다.

  • 변화제시성(honesty) : 시스템의 내부 상태가 변화했을 떄 그 변화된 상태를 사용자가 감지할 수 있게 제공하는 속성을 의미 (오류 발생 감지성의 확장)
    • 즉시성(immedicay) : 변화가 발생한 그 즉시 변화된 시스템의 상태를 사용자가 별도의 작업을 하지 않더라도 사용자에게 제공 (직조작 스타일에 필요)
    • 부가성(eventuality) : 사용자가 변화된 상태를 보고 싶다는 의사를 부가적으로 명백하게 밝힐 떄 시스템이 현재의 상태를 사용자에게 제공
  • 이해가능성(understandability) : 물리적으로 전달된 정보를 실제로 사용자가 이해할 수 있어야 한다는 것
    • 가독성 : 정보를 제대로 읽을 수 있게 해줌
    • 논리성 : 사용자가 보기에 정보가 제공되는 순서나 구조가 논리적이라고 생각할 수 있어야 함
  • 학습성(learnability) : 초보 사용자가 시스템에 대해 어느 정도 수준의 지식을 취득하는 것이 얼마나 쉬운지를 의미
    1. 초보자가 시스템의 작동 원리와 작동 방법을 쉽게 이해할 수 있는 사용자 매뉴얼 제공 (정확한 심성모형 구축 가능)
    2. 시스템의 특성에 따라 상이한 수준의 최종 목표를 가진다.
    3. 기억가능성(rememberability) : 이전에 사용하던 시스템을 다시 사용할 때 얼마나 쉽게 예전에 달성했던 수준에 도달할 수 있는가가 중요

2.4 유연성의 차원

유연성(flexibility) 은 시스템을 통해 사용자가 원하는 작업을 원하는 방식으로 진행할 수 있도록 하는 사용성의 속성을 포함하고 있다.

  • 사용자 주도권(user pre-emptiveness) : 사용자가 자신이 원하는 대로 시스템과 상호작용할 수 있게 하는 시스템 속성
    • 시스템 설계 시 논리적 연결이 없는 상호작용 모드(mode) 없애는 것
    • 과업 전이성(task migrateability) : 시스템과 사용자 사이에 통제권을 유연하게 주고받을 수 있게 하는 것
    • 적절하게 사용자에게 주도권을 주는 것이 효율적일 수 있음
  • 대체성(substitutivity) : 사용자가 시스템을 사용하면서 특정 작업을 하기 원할때에 그 작업을 수행할 수 있는 방법이 두 가지 이상이어서상황에 따라 적절한 방법을 선택할 수 있게 하는 시스템의 속성
    • 입력대체성(input substitutivity) : 시스템에 사용자가 원하는 사항을 두 가지 이상의 방법으로 입력할 수 있게 하는 시스템의 속성
    • 출력대체성(output substitutivity) : 시스템의 출력 상황을 여러 가지 조건에서 볼 수 있도록 하는 시스템의 속성
    • 너무 많은 대안을 제시하면 어떤 경우가 적절한지가 불명확하여 나쁜 영향을 미칠 수 있음
  • 다중성(multi-threading) : 사용자가 한꺼번에 두 개 이상의 작업을 동시에 수행할 쑤 있도록 하는 시스템의 속성
    • 동시적 다중성(concurrent multi-threading) : 동시적으로 사용가능
    • 교차적 다중성(sequental multithreading) : 특정 시점에서 보면 한 가지 작업만 가능하나, 동시적으로 가능
    • 다중성이 많으면 업무의 사용성의 저해, 선택적 제공이 필요
  • 개인화(personalization) : 사용자의 취향이나 특성에 따라 시스템의 상태를 변화시킬 수 있는 속성; 사용자의 주체에 따라 분류
    • 응용성(adaptability) : 사용자가 자신의 상황이나 취향에 따라 시스템의 특성을 바꾸는 속성을 의미
    • 적응성(adaptivity) : 시스템이 주도권을 가지고 시스템을 개인의 취향에 맞추어 가는 경우 (추천시스템)
    • 적응성의 경우, 사용자에게 명시적인 동의가 없이 변경하면 심성모형을 구축하는데 나쁜 영향
  • 연결성(connectablitiy) : 시스템 간의 연결이얼마나 쉬운지
    • 연동성(linkage) : 하나의 제품이 다른 제품과 얼마나 쉽게 연결될 수 있는지를 의미 (하드웨어)
    • 호환성(compatibiltiy) : 한 시스템에서 사용하던 기능이나 콘텐츠가 얼마나 쉽고 편리하게 다른 시스템으로 이동될 수 있는지를 의미 (소프트웨어)

2.5 일관성의 차원

일관성(consistency) 이란 시스템의 정보나 기능이 다른 대상과 비슷한 모습이나 유사한 역할을 가지는 것을 의미한다.

  • 예측 가능성(predictability) : 사용자가 자신이 과거에 시스템과 상호작용한 경험에 비추어 자기가 어떤 행동을 하면 그 결과가 어떻게 되리라는 것을 예측할 수 있게 하는 시스템의 속성
    • 일관된 명령체계 : ctrl+c, ctrl+v 등 일관된 사용방법
    • 정보의 향기(information scent) : 시스템에서 미리 정보를 제시 (tooltip 등)
  • 친숙성(familiarity) : 사람들이 실제 세상에서 가지고 있었던 경험을 바탕으로 시스템을 사용하는 데 필요한 지식을 습득할 수 있게 하는 시스템의 속성
    • 용어 : 전문용어가 아닌 일상용어 사용
    • 모습 : 익숙한 현실 객체의 모양을 유지 (ex. 계산기와 온라인 계산기)
    • 직관성(affordance) : 행동의 유도 (ex. 링크를 파란색에 밑줄로 표시하여 클릭 유도)
  • 일반화 가능성(generalizability) : 사용자가 과거에 사용한 명령어나 메뉴를 새로운 상황에서도 사용할 수 있도록 하는 시스템 속성
    • 시스템 내부의 일관성 : 비슷한 효과는 비슷한 절차를 거치도록
    • 시스템 간의 일관성 : 서로 다른 회사의 비슷한 서비스의 경우, 비슷한 포맷 유지 (라인, 카카오톡 등)

3. 사용자 속성 간의 상충관계

초보자와 전문가의 학습 곡선은 매우 다르다. 초보자 중심의 시스템의 경우, 초기 진입장벽이 낮은 대신 전문성이 부족하다. 반면 전문가 중심의 시스템의 경우, 초기 진입장벽이 높은 대신 전문성 및 효율성이 높다.

이렇게 학습성과 효율성 간의 상충관계만 아니라. 오류 회복성과 효율성, 단축성과 이해가능성, 사용자 주도권과 학습성, 개인화와 사용자 주도권 간에도 상충관게가 존재한다. 또한 학습맥락에 따라 새로운 종류의 상충관계가 생긴다.

이러한 상충관계를 효과적으로 대처하는 한 가지 방법은 다중적 시스템의 제공이다. 이런 다중적 시스템을 개발할 때는 다음과 같은 주의점이 있다.

  1. 초보자가 시스템을 사용할 때는 이러한 촉진기가 사용 과정에 명시적으로 나타나는 것을 최소화해야 한다.
  2. 다중적 시스템을 개발할 때 언제 초보자의 모드에서 전문가의 모드로 전환되게 할 것인지 결정하는 것이 중요하다.
  3. 누가 모드를 전환시켜 줄 것인가도 중요하다. 일반적으로는 사용자에게 명시하고 권한을 주는게 더 바람직하다고 알려져있다.

4. 핵심 속성의 선정

모든 속성을 만족하는 시스템을 설계하는 것은 불가능하고 그럴 필요도 없다. 사용자가 과업 또는 사용 맥락에 대한 이해가 있다는 전제하에 가치모형에 따라 어떤 속성이 핵심 속성이 될 수 있는지 제시한다.

4.1 기능적 가치를 제공하는 시스템에서 중요한 핵심 사용 속성

정보 검색을 목표로 하는 사이트

  • 단축성
  • 사전 방지성 및 오류 회복성

4.2 유희적 가치를 제공하는 시스템에서 중요한 핵심 사용 속성

영화, 음악, 게임 등의 콘텐츠

  • 변화제시성
  • 대체성과 다중성

4.3 사회적 가치를 제공하는 시스템에서 중요한 핵심 사용 속성

카페나 온라인 기부 서비스, 소셜네트워크 서비스

  • 친숙성
  • 일반화 가능성

4.4 개인적 가치를 제공하는 시스템에서 중요한 핵심 사용 속성

미니룸 또는 미니홈피(화석..)

  • 개인화
  • 주도성

Leave a Comment