내 맘대로 공부
article thumbnail
Published 2023. 2. 17. 18:12
UI & UX Basic Knowledge

📌 UI ( User Interface )

사람들이 컴퓨터와 상호 작용하는 시스템

유저가 사용하고자 하는 소프트웨어나 서비스를 편리하게 이용할 수 있도록 디자인 된 것으로, 흔히들 말하는 UI 디자인은 아이콘에 대한 디자인이나 색감, 그리고 표현과 글씨 폰트로 보여지는 시각 디자인을 말하는 것이다. 이러한 화면상의 그래픽 요소 외에도, 키보드, 마우스 등의 물리적 요소도 컴퓨터와 상호 작용하기 위한 시스템이므로 UI라고 볼 수 있다.

 

 

- 대표적인 UI 디자인 패턴 

대표적인 UI 디자인 패턴이라고 하면 모달, 탭, 태그, 토글, 페이지네이션 등 실생활에서 가장 많이 접한 요소이다.

프론트엔트 개발자라면 필수적으로 알아두어야 할 UI 디자인에 대해 정리가 잘 된 글을 가져왔다. 

 

프론트엔드 개발자라면 반드시 알아두어야 할 32가지의 UI 요소 (번역)

원제 : 32 User Interface Elements For UI Designers프론트엔드 개발자는 유저 인터페이스(UI)에 대해 그 어떤 개발자보다 잘 이해하고 숙지해야 합니다. 디자이너와 소통하며 그들을 이해하고, 때론 스스로

velog.io

 

위 링크에서 소개된 내용 외에도 다양한 UI 디자인이 궁금하다면 아래 링크를 방문해보면 좋을 것 같다. 

 

Design patterns

User Interface Design patterns are recurring solutions that solve common design problems. Design patterns are standard reference points for the experienced user interface designer. Design patterns provide a common language between designers. They allow for

ui-patterns.com

 

- UI 레이아웃

그리드 시스템 (Grid System)

그리드(grid)는 수직, 수평으로 분할된 격자무늬를 뜻하며, 말 그대로 화면을 격자로 나눈 다음 그 격자에 맞춰 콘텐츠를 배치하는 방법으로 UI 구조를 질서정연하게 구성할 수 있도록 도와준다. 웹 디자인 분야에서는 화면을 세로로 몇 개의 영역으로 나눌 것인가에 초점을 맞춘 컬럼 그리드 시스템(Column Grid System)을 사용하며, Margin, Column, Gutter라는 세 가지 요소로 구성되어있다. 

 

  • Margin
    Margin은 이미 알고 있는 margin과 유사하게 화면 양쪽의 여백을 의미한다. 너비를 px 같은 절대 단위를 사용해서 고정 값으로 사용해도 되고, vw, % 같은 상대 단위를 사용하여 유동적으로 설정해도 가능하다.

 

  • Column
    Column은 콘텐츠가 위치하게 될, 세로로 나누어진 영역이다. 컬럼 개수를 임의로 나눌 수도 있지만, 표준적으로 휴대폰에서 4개, 태블릿에서 8개, PC에서는 12개의 컬럼으로 나눈다. 각 디바이스의 화면 크기는 보통 아래 이미지와 같다. 이미지 속 화면 크기의 구분선을 break point라고 하는데, 내가 만들고자 하는 UI가 어디에 속하는지 파악하고 컬럼 개수를 정하면 된다.

    기기마다 화면의 크기가 조금씩 다르고, 브라우저의 크기를 사용자 마음대로 바꿀 수도 있기 때문에 Column은 상대 단위를 사용하여 콘텐츠가 창 크기에 맞춰서 크기가 변하도록 설정하여 반응형으로 만드는 것이 좋다.

 

  • Gutter
    Gutter는 Column 사이의 공간으로, 콘텐츠를 구분한다. Gutter의 간격이 좁을수록 콘텐츠들이 연관성 있어 보이고, 넓을수록 각 콘텐츠가 독립적인 느낌을 준다. 하지만 너무 좁으면 콘텐츠를 구분하기 힘들어지고 답답한 느낌을 준다. 그렇다고 너무 넓으면 콘텐츠가 따로 노는 느낌을 주면서 UI가 어수선해지기떄문에. Gutter는 아무리 넓어도 컬럼 너비보다는 작게 설정하는 것이 바람직하다.


📌 UX ( User Experience ) 

사용자가 어떤 시스템, 제품, 서비스를 직•간접적으로 이용하면서 느끼고 생각하는 총체적 경험

말 그대로 유저가 서비스나 제품을 직접 사용하여 느끼는 것이기에 UX 디자인은 이용하는 이용자가 편리하고 만족을 할 수 있게끔 UI를 디자인하는 것이라 볼 수 있다. 프론트엔드 개발자로써 UI도 중요하지만 좋은 UX에 대해 고민을 하는 것이 더욱 중요한 것 같다.

 

 

- 좋은 UX를 만드는 요소 ( 피터 모빌의 벌집 모형 )

  • 유용성(Useful) : 사용 가능한가?
    제품이나 서비스가 목적에 맞는, 사용 가능한 기능을 제공하고 있는가에 관한 요소
    꼭 목적에 맞지 않더라도, 비실용적이라도 추가적인 기능을 제공하는지도 관련이 있다.
  • 사용성(Usable) : 사용하기 쉬운가?
    제품이 본연의 기능을 제공하는 것을 넘어서 사용하기 쉬운가에 관한 요소.
    기능이 아무리 잘 작동하더라도 사용자가 사용하기 어렵다면 좋은 UX를 제공하기 어렵기에 가능한 단순하면서 직관적이고 사용하기 쉬운 제품이나 서비스를 만들어야 한다. 이 요소는 UI 디자인 패턴과도 연관이 깊다. 자주 쓰이는 패턴들은 사용자들에게도 친숙할 가능성이 높아 사용성을 높여주기 때문이다.

  • 매력성(Desirable) : 매력적인가?
    말 그대로 제품이 사용자들에게 매력적인가에 대한 요소.
    단순히 디자인이 보기에 좋은지부터 시작해서, 이미지, 브랜딩 등의 여러 요소들이 사용자에게 긍정적인 감정을 불러일으킬 수 있는지, 사용자들이 해당 제품이나 서비스를 이용하고 싶어 하는지가 중요하다. 대표적인 예시가 애플로, 제품의 디자인 요소에 공을 들이고 감성 마케팅 전략을 사용한 것이 이 요소와 연관된다.

  • 신뢰성(Credible) : 신뢰할 수 있는가?
    사용자가 제품이나 서비스를 믿고 사용할 수 있는가에 관한 요소.
    결함이 있는 제품을 정상 제품인 것처럼 속여서 판매하거나, 실제 제품이나 서비스를 통해 얻을 수 있는 가치를 과장하여 홍보한다거나, 사용자의 개인 정보를 유출하는 등 사용자의 신뢰성을 떨어뜨리는 일이 없어야 한다. 장기적으로는 믿을 수 있는 브랜드 이미지를 구축하는 것이 바람직하다.
  • 접근성(Accessible) : 접근하기 쉬운가?
    나이, 성별, 장애 여부를 떠나서 누구든지 제품이나 서비스에 접근할 수 있는가에 관한 요소.
    시력이 좋지 않은 고연령자 사용자들을 위한 글자 키우기나 돋보기 기능, 혹은 시각 장애인을 위한 음성 안내 기능 등 누구라도 비슷한 수준의 정보를 얻을 수 있도록 장치를 구비해 놓는 노력 등이 접근성을 높여준다.

  • 검색 가능성(Findable) : 찾기 쉬운가?
    사용자가 원하는 기능이나 정보를 쉽게 찾을 수 있는가에 관한 요소.
    웹 사이트의 경우 사용자가 특정 페이지에 접근하려고 할 때 찾기 힘들다면 좋은 UX를 주기 어렵기 때문에, 내비게이션 바, 정보 검색 기능을 넣거나 콘텐츠를 직관적으로 배치하는 것이 검색 가능성을 높이는 데 도움이 된다.

  • 가치성(Valuable) : 가치를 제공하는가?
    위에서 언급된 모든 요소들을 총합하여 고객에게 가치를 제공하고 있는가에 관한 요소.
    최종적으로 UX를 판단하는 기준이다. 사용자 마다 가치판단기준과 그 정도는 다 다르기에, 특정 제품이 접근성에 모든 노력을 기울였다고 해도, 사용자가 접근성을 전혀 중요하게 생각하지 않는다면 가치를 제공하지 못할 수도 있는 것이다. 따라서 가능한 모든 요소를 고르게 고려하는 것이 좋고, 제품 사용자들이 공통적으로 중요하게 생각하는 요소를 찾아냈다면 그 요소에 집중하는 것도 UX를 효율적으로 개선하는 전략이 될 수 있다.

 

피터 모빌의 벌집 모형은 UX를 위해서 고려해야 할 7가지 요소를 제시해줌과 동시에, 아래 이미지처럼 그래프를 활용하여 UX를 얼마나 고려했는지, 혹은 사용자가 얼마나 좋은 UX를 경험했는지 평가하기 위한 척도로도 사용될 수 있다. 후에 UX를 개선하고자 할 때, 사용자 설문 조사를 통해 개선점을 찾아낼 수도 있다.


📌 UI & UX의 관계

UI와 UX는 서로 상호작용을 하며 떼어놓을 수가 없는 관계 속에 존재한다.

하지만, 좋은 UX가 좋은 UI를 의미하거나, 좋은 UI가 항상 좋은 UX를 보장하지는 않는다. 기본 계산기 애플리케이션을 생각해 봤을 때, 특별히 보기 싫다거나, 보기 좋은 디자인의 UI는 아니지만, 계산기의 기능을 제대로 한다면, UX는 훌륭하다고 할 수 있다. 이것이 바로 꼭 좋은 UX가 좋은 UI를 의미하지 않음을 보여주는 예시이다. 반대로, 누가 봐도 세련되고 보기 좋은 UI의 계산기가 있다고 할 때, 입력한 숫자가 아닌 다른 숫자가 화면에 뜨거나, 계산 결과값이 제대로 나오지 않는다면? UI가 아무리 보기 좋아도 UX는 좋지 않을 것이다. 이는 좋은 UI가 좋은 UX를 보장하지 않음을 보여주는 예시로 두 가지가 서로 상호작용하는 역할을 하지만 무조건적으로 비례하는 관계는 아님을 기억하고, 항상 깊게 고민해봐야한다.

 

'Basic Knowledge' 카테고리의 다른 글

[Node.js] SOP와 CORS에 대해  (0) 2023.02.08
profile

내 맘대로 공부

@곰도리도리잼

잘못된 정보가 있다면 알려주세요 🧸