세상에 나쁜 설정은 없다
디지털 기기를 쓰는 사람이라면 누구든 설정 앱에서 헤맨 기억이 있을 것이다. 벨소리를 바꾸고 싶어서, 밝기를 바꾸고 싶어서, 카카오톡 알림을 끄고 싶어서, 배경화면을 바꾸고 싶어서 혹은 와이파이를 연결하거나, 블루투스 스피커를 연결하기 위해 설정 앱을 켜고 생각한다. 어디로 가야 하죠…?
일단 뭐가 많아도 너무 많고, 각 메뉴에서 무엇을 할 수 있는지 직관적으로 알기 어렵다 보니 막막함이 앞선다. 처음부터 끝의 끝까지 스크롤을 오르락내리락하고, 이 메뉴, 저 메뉴 들락거리며 뭐가 있는지 헤매는 과정은 설정 미로에 들어온 여행자에게는 필수 코스다.
설정하려는 항목까지 가는 길은 험난하지만, 정작 설정을 바꾸는 일은 몹시 간단하다. 버튼 몇 번 누르면 알림을 끌 수도 있고, 벨소리를 바꿀 수도 있으며, 밝기를 올리고, 어제 찍은 바다 사진으로 배경화면을 바꿀 수 있다. 우리는 빠르게 할 일을 끝내고 다시는 돌아오지 않을 사람처럼 냉정하게 돌아선다.
대부분의 설정은 보통 한 번 바꾸고 나면 다시 바꿀 일이 없다. 사실 한 번도 바꿀까 말까 한다. 그런데, 어느 날 갑자기 설정을 다시 바꾸고 싶으면 어떻게 될까? 이미 한 번 해봤으니 이번에는 헤매지 않고 잘 찾아갈 수 있을 거라는 마음으로 설정 앱을 켜고 생각한다. 어디로 가야 하죠… 또?
사용자는 설정 앱 안에서 다시 한번 우왕좌왕하며 설정을 바꾸고 생각한다. 설정은 왜 이렇게 어렵고, 복잡하고, 불친절한 걸까? 설정은 꼭 있어야 하는 걸까? 조금 더 쉽고, 간단하게 만드는 방법은 없을까? 오늘은 차량 설정 앱 담당자로 설정 미로에서 헤매면서 알게 된 설정 앱에 대해서, 그리고 설정 앱의 UX를 개선할 수 있는 방법들을 조금 이야기해보려고 한다.
설정은 사용자에게 특정 기능의 동작 방식에 대한 선택권을 주어 사용자가 원하는 방식으로 제품을 이용할 수 있도록 도와주는 기능이다. 제품의 기능과 하드웨어 특성, 판매 지역 등에 따라 설정할 수 있는 범위가 다르며, 제품과 기능에 따라 설정 방식 또한 다르다.
화면이 없는 라디오에서는 밝기 설정을 제공할 수 없으며, 스피커가 없는 모니터에서는 음량 설정을 제공할 수 없다. 조도 센서가 없는 TV는 자동으로 화면 밝기를 조절할 수 없으며, 국내에서 판매하는 자동차에는 보통 기본 언어로 한글과 영어만 지원한다. 자동차에서도 햅틱 센서가 탑재된 경우에만 햅틱 센서의 강도를 조절할 수 있다.
최근에 나온 제품 대부분은 소프트웨어에서 설정을 변경할 수 있지만, 자동차는 시트의 위치나 높이를 조절하거나, 전기차의 회생 제동 단계를 설정하거나, 드라이브 모드를 변경할 때 여전히 하드웨어 버튼을 이용하고 있다. 아이폰도 제품 왼쪽 상단에 있는 스위치로 무음 모드를 설정할 수 있다.
설정하는 과정 자체는 사용자의 상당한 시간과 노력을 요구하지만, 결과적으로 더 좋은 사용자 경험을 제공할 수 있다는 점에서 제품을 설계하는 사람 입장에서는 꽤 유용하게 사용되며, 사용자의 니즈를 시스템이 정확하게 파악하기 힘든 경우에도 설정을 제공하여 보다 나은 사용자 경험을 제공할 수 있게 해 준다.
그러나 항상 설정을 제공하는 게 능사는 아니다. TV 리모컨이나 라디오에서 제공하던 EQ 기능에서 살펴볼 수 있듯 사용자가 무엇을 좋아할지 모르니 선택권을 넘겨주는 것은 개발비는 개발비대로 드는데 제품에 대한 접근성은 오히려 떨어져서 차라리 아무런 설정도 제공하지 않는 것보다 못한 결과를 불러올 수 있다.
그래서 설정은 적으면 적을수록 좋다고 생각한다. 설정은 최후의 보루로 두고, 설정을 제공하지 않는 방법을 최대한 고려해야 하며, 제품의 타깃이 전문가나 고급 사용자가 아닌 경우 필요한 최소한의 설정만 남기고 모두 빼도 괜찮다고 본다. 그러면 설정은 언제 어떻게 제공하면 좋을까?
모든 제품 혹은 서비스는 사용자 개개인에게 딱 맞는 UX를 제공하고 싶다는 이상에서 출발한다. 그러나 시스템이 다양한 사용자의 각기 다른 요구 사항을 이해하고, 개별 사용자에게 맞는 걸 알아서 제공하는 일은 현실적으로 불가능하며, 이를 위해 어느 정도의 설정은 필수 불가결하다.
특히 사용자가 제품이나 서비스를 통제할 권리를 주는 것이 아니라, 제품이나 서비스가 거꾸로 사용자에게 특정 인터페이스를 강요하게 되면, 사용자는 오히려 여기에 거부감을 느낄 수 있다. AI가 알아서 최적의 인터페이스를 판단한다고 하더라도, 사용자가 직접 설정할 수 있는 권한을 제공하여 통제에 대한 욕구를 충족시킬 수 있어야 한다.
설정은 사용자 경험의 방파제 역할을 한다. 문제는 필연적으로 발생한다. 설정은 그 문제가 발생하지 않도록 막아주는 역할을 하지는 않는다. 다만, 사용자가 직접 해결할 수 있는 방법을 제공하여 문제의 임팩트를 최소화하는 역할을 한다. 그렇다고 리스크를 줄이기 위해 모든 항목에 설정을 제공하라는 의미는 아니고, 설정을 제공할 수 있다고 설정을 제공해도 된다는 의미도 아니다. 그러면 어떤 항목에 대해서 설정을 제공해야 할까?
우선 사용자 취향, 선호, 이용 방식에 따라 해당 기능을 이용하고 싶지 않거나, 수준을 변경하고 싶을 수도 있는 항목에 대해서는 설정을 제공해야 한다. 대부분의 영상 편집 프로그램이나 디자인 툴은 화면 레이아웃을 변경할 수 있는 설정을 제공하며, 에어컨은 알아서 온도를 조절하는 AUTO 기능을 제공하고 있으나 센서 값에 따라 반사적으로 작동하기 때문에, AUTO는 사용자가 원하면 끄고 켤 수 있도록 설정을 제공하고 있다.
스마트폰 푸시 알림은 사용자가 원하거나 필요한 정보를 제공하기도 하지만, 때때로 앱 사용을 유도하거나 마케팅 정보와 같은 비즈니스 목적의 알림을 포함하고 있기 때문에 원하지 않거나, 필요하지 않은 정보를 제공하기도 한다. 그러므로 사용자가 알림을 켜고 끄거나, 표시 위치를 바꾸는 설정을 제공하고 있으며, 어떤 항목에 대해서 푸시 알림을 보낼지도 세세하게 설정할 수 있다.
사용 빈도도 중요한 판단 기준이다. 다만, 대부분의 설정은 바꿀 일이 없으며, 혹시나 설정을 들어간다고 하더라도 극히 일부 항목만 빈번하게 사용하기 때문에, 사용 빈도의 높고 맞음을 근거로 필요성을 판단하면 안 된다. 오히려 단 한 번이라도 반드시 사용할 일이 있다면 설정을 제공해야 한다.
일반적으로 대부분의 국가는 미터법과 섭씨를 단위로 사용하고 있기 때문에 설정을 바꿀 일이 없다. 그러나 미국으로 여행을 가거나 이주하는 경우 미국 단위계 및 화씨로 단위 변경이 필요하고, 스마트폰이나 자동차처럼 여기에 영향을 받는 제품은 반드시 단위 설정을 제공해야 한다.
마지막으로 제품의 타깃 사용자가 누구인지도 판단 기준이 된다. 전문가 혹은 고급 사용자를 타깃으로 하는 제품의 경우 사용자가 원하는 방식으로 커스터마이징 해서 사용할 수 있도록 일반 사용자라면 들어가 보지도 않을 기능들에 대해서 다양하고 세부적인 설정을 제공한다.
현대자동차의 고성능 브랜드 N에서 출시하는 자동차는 일반 자동차와 다르게 각 파트별로 설정할 수 있는 N 커스텀 모드를 제공하고 있고, Adobe Lightroom은 몇 가지 간단한 필터만 제공하는 SNS 앱들과 달리 디테일한 사진 편집을 위한 다양한 기능과 설정을 제공하여 고급 사용자들에게 널리 사용되고 있다.
설정은 제품이나 서비스의 핵심 기능을 보조하며, 사용 빈도도 그다지 높지 않기 때문에 보통 설정 메뉴로 이동할 수 있는 진입점을 사용자가 설정이라는 게 있다는 걸 인지할 수 있는 정도의 위치에 두면 충분하다. 그 위치는 제품이나 서비스에 따라 화면 안이 될 수도 있고, 하드웨어 버튼이 될 수도 있고, 전면에 보일 수도 있고, 어딘가에 숨겨져 있을 수도 있다.
설정은 기본적으로 트리 구조로 되어 있다. 최상위 노드 하위에 여러 개의 노드가 부모 - 자식 관계로 연결되어 있고, 자식 노드 하위로 또 여러 개의 노드가 다시 부모 - 자식 관계로 연결된 형태가 반복되어 구성된다. 예를 들어, 아이폰에서 화면 밝기는 [설정 > 디스플레이 및 밝기 > 밝기] 하위에서 설정할 수 있고, 텍스트 크기는 [설정 > 손쉬운 사용 > 시각 지원 > 디스플레이 및 텍스트 크기 > 더 큰 텍스트]에서 설정할 수 있다.
사실 설정은 사용 빈도가 낮기 때문에 사용자가 무엇을 어디에서 설정할 수 있는지 기억하기를 기대하면 안 된다. 사용자가 메뉴 위치를 모르더라도 어렵지 않게 찾아올 수 있도록 사용자 입장에서 납득 가능한 구조로 구성해야 한다. 다시 말해, 특정 메뉴가 왜 그 위치에 있는지 직관적으로 이해시킬 수 있어야 하며, 그렇지 못한 설정은 실패한 설정이다. 설정은 구조가 전부다.
그러기 위해서는 우선 사용자의 멘탈 모델을 이해하고, 여기에 일치하도록 정보 구조를 구성해야 한다. 1차원 적으로, 물리적으로, 직접적으로 연관이 있는 항목을 묶어서 카테고리를 만든다. Mac OS 설정의 키보드, 배터리, 블루투스, 와이파이 등의 카테고리를 예로 들 수 있다. 그다음은 속성이 유사한 항목을 묶어서 카테고리를 만들어준다. 아이폰 설정의 사운드 및 햅틱, 방해금지 모드, 디스플레이 및 밝기, Face ID 및 암호, 손쉬운 사용을 예로 들 수 있다. 마지막으로는 일반(General)이라는 카테고리를 만들고, 어딘가에 속하기 애매한 항목을 넣거나, 중요도에 따라 단독으로 제공하는 방법이 있다.
물론 사람마다 멘털 모델이 조금씩 다르기 때문에 모두를 만족시키는 정보 구조를 만들 수는 없다. 다만, 보편적인 기준으로 카테고리를 구분하여 항목을 배치하고, 어떤 항목은 중복으로 제공하며, 추가로 검색까지 제공한다면 사용자 대부분이 만족할 수 있는 설정 메뉴를 구성할 수 있다.
예를 들어 페이스북에서 [알 수도 있는 사람] 푸시 알림을 끄고 싶다고 하자. 어디에서 끄면 좋을까? 두 가지 방법이 떠오른다. 설정 메뉴 어딘가에 있을 알림 설정 메뉴에서 해당 푸시 알림을 끄거나, 최근에 온 [알 수도 있는 사람] 알림 옆의 더보기 아이콘을 눌러서 나오는 메뉴에서 알림을 끌 수 있지 않을까? 페이스북은 두 가지 방법 모두 제공하여 사용자의 다양한 멘탈 모델을 만족시킨다.
지금까지 설정이 무엇이고, 왜 필요한지, 정보 구조는 어떻게 설계하는지를 구구절절하게 설명했다면, 지금부터는 그래서 어떻게 하면 설정에서 더 나은 사용자 경험을 제공할 수 있는지 이야기해보자. 개인적으로 설정을 제공하지 않고, 알아서 작동하는 게 가장 좋고, 설정을 제공한다고 해도 기본 값이 잘 들어가 있어서 바꿀 필요가 없는 게 가장 좋다고 생각한다. 그러나 항상 이렇게 아름다울 수는 없고, 구구절절하게 설정을 추가해야 하는 순간이 올 것이다. 그때를 위해서 설정에서 사용할 수 있는 방법 몇 가지를 소개한다.
우선 외부 환경 변화에 따라 자동으로 설정 값을 바꿔주는 방법이 있다. 조도 센서를 활용하여 자동으로 화면 밝기를 설정해주거나 시간이나 밝기에 따라 다크 모드로 전환해주는 기능을 예로 들 수 있다. 사용자의 개입은 최소한으로 하면서, 사용자에게 가장 최적화된 기능을 제공할 수 있다는 장점이 있지만, 모든 설정 항목에 사용할 수 없으며, 외부 데이터라는 변수가 추가면서 로직이 복잡해지고, 자연스럽게 동작하지 않을 경우 역으로 사용자 경험을 헤칠 수 있는 단점이 있다.
사용자 행동을 학습해서 자동으로 설정 값을 바꿔주거나 제안하는 방법도 있다. 제네시스 GV80에는 최초로 운전자의 운전 성향을 머신 러닝으로 학습해서 사용자의 운전 스타일에 맞게 스마트 크루즈 컨트롤의 차간 거리, 가속, 반응 속도를 설정해주는 기능이 탑재되었고, iOS 12부터는 사용자의 알림 활용 패턴에 맞는 설정을 제안하는 기능이 추가되어 사용자가 거의 확인하지 않는 알림의 경우 설정 앱에 들어갈 필요 없이 알림 센터에서도 쉽게 변경할 수 있게 되었다.
다음으로 사용자가 입력한 값을 변수로 사용하여 그에 맞게 설정 값을 바꿔주는 방법이 있다. 특정 조건으로 설정 값을 판단하거나 일정한 주기로 설정 값을 반복하게 만드는 것으로 일반적인 주식 관련 서비스에서는 내가 지정한 종목이 특정한 가격을 넘었을 때 알림을 보내주도록 설정할 수 있으며 iOS에서 특정 시간을 설정해서 방해 금지 모드로 진입할 수 있게 해주는 설정을 제공하고 있다.
그다음은 사용자가 직접 설정하는 방법으로 가장 보편적으로 사용한다. 위의 방식으로 제공할 수 없는 항목이나, 보안, 법규, 인증처럼 정책이 얽혀있는 항목, 사용 빈도가 낮고, 사용자에게 미치는 영향이 미미한 항목 혹은 바탕화면이나 폰트처럼 사용자의 취향이 들어가는 항목의 경우 시스템이 나서서 무언가를 제시하기보다 사용자가 직접 설정할 수 있도록 열어줘야 한다.
설정을 다른 위치에 제공하여 접근성과 사용성을 높이는 방법도 있다. 먼저 자주 설정하는 항목은 빠르게 설정을 변경할 수 있는 인터페이스를 제공하는 방법으로 안드로이드에서는 Quick Settings, iOS에서는 제어 센터라는 이름으로 화면 상단에서 아래로 스와이프 하면 화면 밝기, 음량, 와이파이, 비행기 모드, 방해 금지 모드 등을 자주 설정하는 항목을 밖으로 빼서 빠르게 설정할 수 있도록 도와주는 메뉴를 제공하고 있다.
타임존이나 언어 같이 반드시 설정이 필요한 항목은 제품이나 서비스를 설치하는 과정이나 온보딩 프로세스에 자연스럽게 녹여서 설정을 유도할 수 있다. 또, 항목에 따라 플랫폼을 구분하여 모바일에서는 자주 설정하는 항목 위주로, 데스크톱에서는 세부 설정이 필요한 항목으로 나눠서 제공할 수도 있다.
가벼운 마음으로 시작했는데 1년 동안의 경험에 비추어 조금 더 구체적으로 쓰고 싶은 욕심에 이런저런 사례를 추가하다 보니 설정처럼 미로 같은 글이 되었다. 설정은 글에서 쓴 것처럼 쉽게 뺄 수도 없고, 항목도 많고, 구조도 복잡하다. 만드는 사람도 어렵고, 쓰는 사람도 어렵다. 그러나 디자이너, 엔지니어, PM, 마케터 등 제품을 만드는 모두가 머리를 맞대고 고민한다면 더 좋은 설정과 더 나은 사용자 경험을 제공할 수 있다. 세상에는 완벽한 설정 앱도, 나쁜 설정 앱도 없다. 오로지 더 좋은 제품을 만들기 위한 사람들의 노력이 있을 뿐이다.