# Think-Time UX: Design to Support Cognitive Latency(인지 지연 시간을 지원하는 디자인)

![Image](https://upload.cafenono.com/image/slashpagePost/20251212/211438_ipCUBBdTLwHqD10QiK?q=80&s=1280x180&t=outside&f=webp)

사용성을 달성하기 위한 첫 번째 규칙으로 
나의 좋은 친구 스티브 크룩은 "나를 생각하게 하지 마세요"라고 유명하게 말했습니다. 

크룩의 격언에 대한 닐슨의 추론을 제시합니다. 
"생각을 더 빨리 하게 하지마세요.(Don't Make Me Think Faster)"입니다. 
(즉, 사용자가 기계의 속도에 맞춰 작업하도록 강요하지 마세요. 
그 속도가 느리든 숨가쁘든 말입니다. 대신 사용자의 인지 속도에 맞춰 UX를 조정하세요.) 

사용성 달성을 위한 그의 첫 번째 규칙으로 삼았습니다. 이는 여전히 좋은 아이디어이지만, 
AI UI의 성장과 더불어 작업 지연의 폭이 넓어짐에 따라 크룩의 격언에 대한 닐슨의 추론을 제시하게 되었습니다. 
더 빨리 : "생각하게 하지 마."(즉 사용자가 기계의 속도에 맞춰 작업하도록 강요하지 말라는 의미입니다. 
그 속도가 느리든 숨가쁘든 말입니다. 대신 사용자의 인지 속도에 맞춰 UX를 조정해야 합니다.)

달팽이가 선호하는 속도가 있는 것처럼, 
인간의 인지는 컴퓨터로 유도된 다양한 속도에 쉽게 적응하지 못하는 정해진 방식으로 작동합니다.

인간의 인지는 안타깝게도 시간에 따라 제한적입니다. 
따라서 사용자를 "크로노사피엔스", 즉 순간적인 두뇌 능력뿐 아니라 시간에 따른 인지 능력에도 
제약을 받는 시간 인식의 존재로 규정하는 새로운 "크로노사피엔스 협약"이 필요합니다. 

1초 걸리는 작업과 하루 또는 1년이 걸리는 작업에 동일한 UI를 제공할 수는 없습니다.

야콥 닐슨은 최근 "느린 AI : 장기 작업을 위한 사용자 컨트롤 설계"라는 제폼의 기사를 썼습니다.
AI는 이미 많은 작업에 대해 사용자 인터페이스 디자인에 권장했던 것보다 훨씬 느린 응답 속도를 보이고 있습니다.
결과를 얻는 데 몇 시간이 걸리면 "상호작용"이 더 이상 상호작용처럼 느껴지지 않습니다. 
대화 디자인은 1960년대의 일괄 처리 방식과 유사한 방식으로 대체되고 있습니다.

UI 디자인은 쇠퇴하고 있으며, 기존 기술을 빠르게 무의미해지고 있습니다.
컴퓨터와 대화하는 대신 기업 관리자가 직원을 대하는 방식과 더 유사한 방식으로 이동하고 있습니다.
하루 종일 부하 직원과 대화하는 대신 매주 1:1 회의를 하는 것과 같습니다.
그리고 5~10년 후에 보게 될 1년짜리 AI 프로젝트에는 또 다른 비유가 필요합니다.
더 이상 UX 디자인이 아니라 전략적 프로젝트 관리이며, 
이러한 AI 기능을 설계하려면 새로운 기술을 가진 새로운 사람들이 필요할 것입니다. 
(항상 그렇듯이, 야콥 닐슨이 여러분에게 드리는 커리어 조언은 UI 디자인에서 벗어나 떠오르는 새로운 세상에 맞춰 
커리어를 전환하라는 것입니다. 그곳에 도착하면 2030년대에 필요한 새로운 기술을 배우기에는 너무 늦을 것입니다.)

아직 시간이 있을 때 커리어를 전환하세요. 
1~2년 동안 기존 기술을 활용하면서 수개월에 걸친 AI 실행에 필요한 사용자 제어 기능을 설계하는 새로운 기술을 익힐 수 있습니다.

### 인지 지연 설계

애플리케이션에서 가장 큰 병목 현상은 서버가 아니라 사람입니다.

사용자가 "데이터셋 분석"을 클릭했을 때 
시스템이 결과를 표시하기 전에 3초 동안 멈춰 버리는 경우, 그 3초가 진짜 문제는 아닙니다. 

진짜 지연 시간은 사용자가 무엇이 바뀌었는지 알아내려고 출력을 곁눈질하며 15초를 보내고, 
분석 결과가 정확한지 판단하는 데 30초를 쓰고, 
커피를 마시러 자리를 비운 후 애초에 무엇을 요청했느지 잊어버려 
로그를 스크롤하는 데 2분을 낭비하는 데 발생합니다.

이것이 인지 지연입니다. 
시스템이 정보를 전달한 시점과 사용자가 실제로 의미 있는 작업을 수행할 수 있는 시점 사이의 지연입니다.

우리는 제품이 유발하는 인지 지연을 측정하고 최적화해야 합니다.
즉, 사용자가 무언가 일어났음을 인지하고, 무슨 일이 일어났는지 이해하고, 
그에 대한 조치를 취하고, 중단 후 맥락을 회복하는 데 걸리는 시간입니다. 
이러한 반응 시간이 바로 AI 기반 기능이 마법처럼 느껴지는지, 
아니면 짜증 나게 느껴지는지를 결정하는 실제 반응 시간입니다.

AI의 부상은 이러한 불일치를 더욱 심화시킵니다. AI는 지연 시간 변동성을 야기합니다. 
문장 하나를 생성하는 데는 1초가 걸릴 수 있지만, 복잡한 시각화를 생성하는 데는 몇 분이 걸릴 수 있습니다. 

이러한 변동성은 기존 소프트웨어 상호작용의 예측 가능한 리듬을 파괴합니다. 

우리는 인터페이스를 자동판매기처럼(요청 입력, 즉시 출력 수신) 설계하는 대신, 
성실한 조수처럼(작업 위임, 시기적절한 업데이트 수신, 반환 시 결과 검토) 설계해야 합니다.

장시간 실행되는 AI 작업의 경우, 사용자가 작업을 잠시 중단하고 다른 작업을 수행할 수 있어야 합니다.
AI는 작업 완료 시 사용자에게 알림을 제공해야 합니다.

우리는 신경생물학 법칙에 얽매인 존재, 크로노사피엔스를 위해 디자인하고 있습니다.
그들에게 더 빨리 생각을 강요하면 스트레스, 오류, 그리고 포기를 유발합니다. 
크로노사피엔스 협약은 기계가 이러한 시간적 간격을 메우는 책임을 지도록 요구합니다.

### 인지 지연 수준 인식

인간과 시스템의 상호작용은 다섯 가지 인지 단계로 나뉘며, 각 단계는 고유한 시간 척도와 설계 요건을 갖습니다. 
야콥 닐슨은 이를 인지 지연 스택(Cognitive Latency Stack)이라고 부르는데, 
컨설턴트들이 제안하는 대부분의 프레임워크와 달리 이 스택은 실제로 냅킨에 딱 들어맞습니다. 
지각, 이해, 결정, 실행, 그리고 회복입니다.

한 번의 식당 방문에 너무 다양한 시간대를 끼워 넣지는 않을 것입니다. 
실제로 한 코스의 대기 시간이 다른 코스의 대기 시간보다 훨씬 길어지면 손님들은 짜증을 냅니다. 
마찬가지로, 사용자 경험의 다양한 대기 시간을 해결하기 위해서는 서로 다른 접근 방식이 필요합니다.

### 인식(0~400ms) : 사용자가 무엇이 바뀌었는지 즉시 볼 수 있나요?

이것이 "그 버튼이 뭔가 작동했나?"하는 단계입니다. 누군가 클릭, 탭, 드래그를 할 때, 시각 시스템은 이미 변화를 감지하도록 준비되어 있습니다. 400밀리초(대략 눈 깜빡이는 속도)안에 아무 일도 일어나지 않으면 사용자의 뇌는 "아마 작동하지 않았을 거야"라는 신호를 보내고 손가락은 다시 클릭하려는 방향으로 움직이기 시작합니다.

이 창에서 작업을 완료할 필요는 없습니다. 그저 들었다는 사실만 알려주시면 됩니다. 
버튼 눌림 애니메이션이 존재하는 이유, 폼 필드에 포커스 상태가 표시되는 이유, 
API 호출이 브라우저를 떠나기도 전에 작은 스피너가 나타나는 이유가 바로 여기에 있습니다.

첫 번째 장애물은 단순히 무언가가 발생했다는 것을 알아차리는 것입니다. 

인간의 시각 시스템은 움직임을 감지하는 데는 뛰어나지만, 
정적인 장면의 변화를 감지하는 데는 놀라울 정도로 서툴러요(변화 맹시라고 하는 현상). 

사용자가 버튼을 클릭했는데 결과가 화면 구석에 희미하게 나타난다면, 
단순히 자신의 동작이 제대로 인식되었는지 확인하기 위해 인터페이스를 훑어보는 데 인지적 순환을 낭비하게 됩니다.

인식 단계의 주요 전략

- 모션 어포던스는 200밀리초 이내에 작동해야 합니다. 
- 버튼을 눌리고, 토글은 슬라이드하고, 카드는 들어 올려야 합니다. 
- 이러한 마이크로 애니메이션은 시스템이 입력을 인식했다는 시각적 증거, 즉 영수증 역할을 합니다. 
- 이는 단순한 장식이 아니라, 모션이라는 언어로 압축된 기능적 소통입니다.
- (반대로, 시각적인 즐거움만 있을 뿐 소통을 제공하지 않는 애니메이션은 장기적으로 사용성에 치명적입니다. 
- 한 번은 재미있지만, 그 후에는 짜증 나게 됩니다.)

- 차이점을 즉시 강조 표시합니다. 
- 필터 버튼을 클릭하여 목록이 변경되는 경우, 
- 사용자가 눈으로 확인하기 전에 목록이 시각적으로 변경 사항을 표시해야 합니다. 
- 미묘한 페이드, 슬라이드 또는 색상 번쩍임은 읽는 것보다 더 빠르게 스토리를 전달합니다.

- 눈길을 사로잡는 마이크로카피시선을 사로잡는 편집 중인 필드 바로 옆에 나타나는 작은 마이크로카피를 사용하세요.
- 사용자가 이미 보고 있는 바로 그 순간에 피드백을 제공하세요. 
- 편집 중인 필드 바로 옆에 작게 표시되는 "저장 중..." 이라는 문구는 
- 시선을 뗄 필요 없이 바로 확인할 수 있기 때문에 화면 구석에 뜨는 일반적인 알림보다 훨씬 효과적입니다. 
- 사용자의 시선이 이미 있는 곳에 피드백을 제공하는 것이 중요합니다.

- 근접성 : 피드백은 주의 집중 지점 근처에 나타나야 합니다.
- 오른쪽 하단의 버튼을 클릭할 때 왼쪽 상단에 확인 메시지가 표시되지 않도록 하세요.

"UI 점프 컷"은 어떻게든 피하세요.
사용자가 전체 뷰포트를 다시 스캔해야 하는 갑작스러운 전체 화면 렌더링은 피하세요.
목록에 항목을 추가하면 전체 목록이 즉시 다시 렌더링되는 것이 아니라 상황에 맞게 표시되어야 합니다.

예 : Gmail에서 이메일에 별표를 표시하면 별이 그냥 나타나는 것이 아니라 살짝 튕기면서 튀어나옵니다.
이 200ms짜리 애니메이션은 손가락이 트랙패드에서 떨어지기도 전에 "알았어요!" 라고 외치는 것 외에는 
별다른 용도가 없습니다. 마치 동작 언어로 악수를 하는 것과 같습니다.

### 이해력(0.4~2초) : 읽지 않고도 "무슨 일이 일어났는지" 파악할 수 있나요?

사용자가 변화를 감지하면 그 의미를 이해해야 합니다. 이는 보는 것에서 이해하는 것으로의 전환입니다. 
이 중요한 단계에서 지연은 눈에 띄지만, 피드백이 명확하다면 사용자의 몰입을 방해할 만큼 길지는 않습니다.

사용자는 주의 깊게 읽지 않고도, 머릿속으로 전후 상태를 비교하지 않고도, 
그리고 별도의 로그 뷰어를 열어 확인하지 않고도 2초 안에 "무슨 일이 일어났는가?"라는 질문에 답할 수 있어야 합니다.

이해 단계를 위한 주요 전략

- 결과 우선 토스트와 메시지

    -  "3명에게 이메일 전송됨"이 "작업 완료됨"보다 훨씬 낫습니다.
    - 결과는 헤드라인이고, 기술적 세부 사항은 각주입니다. 
    - 헤드라인이 명확하면 대부분의 사용자는 각주를 읽지도 않습니다.

- 짧은 동사와 과거 시제

    - "저장됨.", "대기됨.", "보관됨." 이는 UI 언어로 완전한 문장입니다. 
    - "문서가 클라우드에 저장되었으며, 이제 여러 기기에서 동기화되었습니다." 와 같은 문장보다 
    - 구문 분석 속도가 빠릅니다. 에세이는 호버 상태와 도움말 문서에 저장하세요.

- 델타를 보여주는 인라인 diff

    - 목록, 표 또는 문서에서 변경된 사항이 있으면 정확히 어떤 부분이 변경되었는지 강조 표시합니다.
    - 새 항목은 "신규"로 표시해야 합니다. 삭제된 항목은 잠시 사라졌다가 다시 나타납니다. 
    - 업데이트된 필드는 빛나거나 깜박여야 합니다. diff를 놓치기 어렵게 만드세요.

- AI 동작에 대한 한 줄짜리 근거

    - AI 비서가 문장을 다시 작성했을 때, "명확성을 위해 축약됨"이라는 짧은 문구가 
    - 사용자가 원본과 편집본을 일일이 비교하는 것보다 더 빠르게 내용과 이유를 설명합니다. 
    - 작업물을 효율적으로 보여주세요.

### 결정(2~10초) : 다음 단계를 자신 있게 선택할 수 있나요?

작업이 완료되었습니다. 사용자는 무슨 일이 일어났는지 이해합니다. 
이제 결정 모드에 들어섰습니다. 다음 단계는 무엇일까요? 바로 이 지점에서 선택 아키텍처가 매우 중요합니다. 
제시하는 모든 추가 옵션, 모호한 버튼 라벨, "정말이신가요?" 라는 확인 메시지 하나하나가 
결정 단계에 몇 초씩 더해집니다. 그 몇 초는 모든 상호작용, 매일, 모든 사용자에 걸쳐 누적됩니다.

확인 대화 상자가 너무 많으면 사용자에게 누적된 인지 부하가 높아집니다.

여기서 목표는 선택 자체를 없애지 않고 선택 오버헤드를 제거하여 의사 결정 시간을 단축하는 것입니다.
이는 많은 디자이너들이 엄청나게 잘못된 균형을 맞추는 부분입니다. 17개의 버튼을 제공하거나(마비), 버튼을 하나도 제공하지 않고 사용자를 홈 화면으로 돌려보내는(이제 어떻게 할까요?) 경우가 있습니다.

이 시간대에서는 지연이 흐름을 방해할 만큼 심각합니다. 
사용자는 생각할 시간은 있지만, 안타깝게도 의심할 시간도 있습니다. 
인터페이스는 사용자를 다음 논리적 단계로 안내하여 마찰을 최소화하고 분석 마비를 방지해야 합니다.

결정 단계를 위한 주요 전략

- 가장 일반적인 다음 동작을 제안하는 기본 전달 버튼입니다.
- 파일 업로드 후 대부분의 사용자가 공유하는 경우 "공유" 를 기본 버튼으로 제공하세요.
- 예상 경로는 쉽게 접근할 수 있도록 하고, 대체 경로는 시각적으로 중요하지만 쉽게 접근할 수 있도록 하세요.

- "이것 또는 저것"을 나란히 선택할 수 있습니다.
- 이분법적인 결정은 개방형 결정보다 쉽습니다. "PDF로 내보내기 또는 편집 계속하기"는 
- 8개의 드롭다운 메뉴가 있는 일반적인 "다음에 무엇을 하시겠습니까?"보다 낫습니다.

- 사용자를 스스로 보호하는 보수적인 안전 기본값을 사용합니다.
- 의심스러울 때는 덜 파괴적인 옵션을 기본값으로 설정하세요. 삭제가 기본 버튼이 되어서는 안 됩니다. 
- 덮어쓰기가 기본 체크박스 상태가 되어서는 안 됩니다. 안전한 경로를 쉬운 경로로 설정하세요.

- 결정에 대한 명확한 맥락을 제공합니다.
- 선택이 이루어지는 바로 그 순간에 관련 정보를 표시하세요. 
- "이 프로젝트를 삭제하시겠습니까?" 라고 묻는 경우,포함된 파일 수와 마지막 수정 날짜를 표시하세요. 
- 사용자가 결정에 대한 맥락을 파악하기 위해 다른 곳으로 이동하거나 기억하도록 하지마세요.

사용자가 작업을 완료한 후 다음에 무엇을 해야 할지 
명확한 안내 없이 중립적인 상태로 되돌아가는 막다른 길 디자인은 피해야 합니다. 
사용자는 당면 목표를 달성했으므로 인터페이스는 다음 단계로의 전환을 용이하게 해야 합니다.

### 실행 시간(10~60초 이상) : 원활한 작업 진행

사용자가 기다리기로 선택했을 경우 
사용자가 장시각 소요되는 작업(수십 초 이상 걸리는 작업)을 시작하면 
디자인의 초점은 사용자의 만족도를 유지하는 데 맞춰집니다. 
이탈할 수 있도록 하는 데 맞춰져야 합니다. 10초는 중요한 임계점입니다. 
이 시간을 넘어서면 사용자가 가만히 있는 화면에 집중하는 것이 매우 어려워지기 때문입니다. 
다른 일을 하고 싶다면 (사용자가 기다리기를 선택하는 경우) 또는 (다른 일을 하고 싶어하는 경우) 
관심을 돌릴 수 있도록 허용하는 것입니다. 

10초가 지나면 사용자들은 초조해지기 시작합니다. 
그들은 앉아서 AI를 지켜보는 것보다 다른 일을 하고 싶어합니다. 
이메일을 확인하거나, 스크롤을 내리거나, 고양이를 쓰다듬거나, 
마치 디지털 페인트가 마르는 것을 지켜보듯 진행률 표시줄이 차오르는 것을 
가만히 보고만 있다는 것보다는 뭐든 하고 싶어합니다.

컴퓨터가 너무 오래 지연되면 생각이 딴 데로 새기 시작한다.

대부분의 애플리케이션은 인간의 주의 집중 방식에 대한 시대착오적인 가정을 드러내는 지점이 있는데, 바로 여기 입니다. 
이러한 애플리케이션들은 컴퓨터가 한 번에 한 가지 작업만 수행할 수 있었고, 
작업 전환 비용이 높았던 시대에 설계되었습니다. 
당시에는 "작업 실행" 이란 그저 앉아서 기다리는 것을 의미했습니다. 
하지만 인간은 엘리베이터 음악이 발명된 이후로 더 이상 한 가지 일에만 매달리는 존재가 아닙니다.

사용자가 진행률 표시줄을 멍하니 바라보도록 기대하는 것은 경제적으로 비합리적입니다.
이는 작업 인계가 필요한 영역입니다. 
시스템이 해당 작업을 책임지고 처리해야 하며, 사용자는 다른 작업을 수행할 수 있어야 합니다.

실행 단계의 핵심 전략

- 몇 초 이상 걸리는 작업은 기본적으로 백그라운드에서 실행 되도록 하세요.
- 사용자가 기다리는 동안 다른 작업을 하고 싶어 할 수 있기 때문입니다. 
- 오래 걸리는 작업은 자동으로 백그라운드에서 실행되어야 합니다. 
- 헤더나 사이드바에 진행 상황을 표시하는 상태 표시기를 추가하여 진행 상황을 보여줄 수 있습니다. 
- CPU(또는 클라우드 AI 컴퓨팅) 작업이 진행되는 동안 사용자 인터페이스를 멈춰두지 마세요.

- 진행 상황 표시기
- 사용자가 페이지를 이동하더라도 계속 표시되는 안정적인 상태를 의미합니다.
- 예를 들어, "8개 파일 중 2개 업로드됨"과 같은 작은 아이콘이 페이지 모서리에 항상 보이도록 하는 것이 좋습니다. 
- 사용자의 주의를 끌지 않으면서도 진행 상황을 쉽게 확인할 수 있도록 해야 합니다.

- 끌다
- 되돌릴 수 있는 작업에 대해서는 확인 절차를 반복하지 마세요. 
- 확인 대화 상자는 사용자가 부주의하고 컴퓨터는 실수를 되돌릴 수 없다는 가정 하에 
- 인지 속도를 저해하는 요소입니다. 이러한 가정은 점점 더 틀리고 있습니다. 
- 대부분의 비파괴적인 작업은 그냥 실행하고 쉽게 되돌릴 수 있는 옵션을 제공하세요. 
- "파일이 이동되었습니다. 되돌리시겠습니까?" 는
- "이 파일을 이동하시겠습니까?" "이 파일을 정말로 옮기시겠습니까?" 보다 훨씬 효과적입니다.
- 

- ETAs시간(ETA)
- 시스템이 정확히 예측할 수 없는 경우, 
- "1분 47초"보다 불확실성 범위 포함해서 "약 2분" "1~3분 사이"가
- 5초에서 2분 멈추는 거짓 카운트다운보다 낫습니다. 
- 시스템이 정확히 알 수 없을 때는 "1분 47초" 라고 하는 것보다 
- 신뢰 구간을 표시하는 것이 더 정직하고 유용합니다. 추정치에 대한 신뢰 구간을 보여주는 것이 좋습니다. 
- 

도착 시간(AI가 결과를 제공하는 시간)을 대략적으로 추정하는 것은 매우 유용할 수 있습니다. 
추정치가 대략적일수록 불확실성을 나타내는 지표를 추가하는 것이 더욱 중요합니다.

최소한 장시간 작업이 진행되는 동안 모달 오버레이로 인터페이스를 잠그는 "인질 UI" 방식은 피해야 합니다. 
이는 사용자 경험을 해치는 잘못된 관행이며, 사용자의 시간을 가치 없게 취급하는 것입니다.

예 : 드롭박스는 파일 50개를 업로드해도 전체 애플리케이션을 정지시키지 않습니다.
진행상황을 보여주는 작은 팝업 창이 표시되지만, 팝업 창을 닫고 계속 작업할 수 있습니다. 
업로드는 백그라운드에서 진행됩니다. 브라우저를 닫으면 일시 정지되었다가 다음 번에 자동으로 다시 시작됩니다. 
드롭박스는 주의력이 부족하고 끊임없이 방해받는 인간의 현실을 고려하여 설계되었습니다.

### 회복(몇 분, 몇 시간 또는 그 이상) : 업무 재개 및 재적응

사용자는 중단이나 장시간 사용 후 회복할 수 있을까요? 이는 사용자 경험에서 가장 간과되는 부분입니다.
우리는 중단 없이 계속 사용하는 이상적인 사용자를 위해 디자인합니다. 하지만 현실은 끊임없는 중단입니다. 
사용자가 다시 돌아왔을 때, 그들은 자신의 맥락을 재구성해야하는 인지적 부담에 직면합니다. 
"내가 어디에 있었지?"와 "내가 없는 동안 무슨 일이 일어났지?" 라는 질문에 답해야 합니다.

많은 사람들이 이 단계를 디자인에서 간과하는데, 
그 이유는 화이트보드에 그리는 작업 흐름도에 깔끔하게 들어맞지 않기 때문입니다. 
사용자가 몇 시간, 며칠 동안 계속해서 사용할 수 있도록 디자인해야 한다는 점은 
화면상의 사용자 인터페이스뿐 아니라 전체적인 사용자 경험을 고려해야 한다는 것을 보여줍니다. 
복구는 사용자가 몇 분, 몇 시간, 또는 며칠 후에 다시 돌아왔을 때 발생합니다. 
회의 때문에 중단되었을 수도 있고, 실수로 탭을 닫았을 수도 있고, 주말에 집에 갔을 수도 있습니다. 
이제 돌아왔지만, 모든 것이 어떤 상태인지 전혀 모르는 상태일 수 있습니다.

이것이 바로 인지적 콜드 스타트이며, 비용이 많이 듭니다.
부재 시간이 길어질수록 비용이 더 커집니다.
시스템은 작업을 원활하게 재개하고 
부재 중에 발생한 일을 파악할 수 있는 방법을 제공함으로써 
사용자의 시간을 존중해야 합니다.

회복 단계는 인지적 잠복기가 인지적 재앙으로 이어지는 단계입니다.
제대로 된 회복 지원이 없다면 사용자는 맥락을 재구성하는 데 몇 분(혹은 그 이상)을 소비합니다.
내가 무엇을 하고 있었을까? 무엇이 완료되었을까? 무엇이 실패했을까? 지금 내 관심이 필요한 것은 무엇일까?

회복 단계의 핵심 전략

- 사용자가 어디에 있었는지 기억하는 재개 가능한 상태
- 자동 저장은 기본입니다. 
- 하지만 진정한 재개 가능성은 스크롤 위치, 전송되지 않은 메시지, 양식 입력, 필터 상태 등 
- 사용자가 생각하지 않고도 중단했던 부분을 다시 시작할 수 있도록 
- 도와주는 모든 일시적인 맥락을 보존하는 것을 의미합니다.

- "방금 안 계셨던 동안..." 요약 기능을 활용해 보세요
- 오랜 기간 자리를 비운 후 복귀한 사용자에게 그동안 있었던 일을 한눈에 파악할 수 있도록 보여주는 것입니다.
- 47개 항목으로 이루어진 알림 목록이 아니라, 엄선된 요약 정보만 제공하면 사용자는 2초 안에 상황을 이해할 수 있습니다.

- 주요 사건 연대표 : 장기 실행 프로세스의 주요 이벤트 타임라인 입니다
- 복잡한 작업의 경우, 주요 단계, 오류 및 완료를 보여주는 타임라인 보기는 이력을 재구성하는 데 매우 유용합니다. 
- 이는 로그를 뒤지거나 모호한 오류 메시지에서 이벤트를 재구성하려는 것보다 훨씬 효율적입니다. 
- 장시간 실행되는 프로성에 매우 유용합니다. 
- 이는 로그를 뒤지거나 모호한 오류 메시지에서 이벤트를 재구성하려는 것보다 훨씬 효율적입니다.

- 사용자가 마지막 방문 이후 변경된 사항을 강조 표시하는 '반환 시 차이 분석' 기능을 제공합니다
- 사용자가 문서를 나갔다가 다시 돌아온 경우, 공동 작업자가 변경한 내용을 강조 표시하고, 
- 대시보드를 나갔다가 다시 돌아온 경우, 업데이트된 지표를 강조 표시합니다. 
- 변경 사항을 시각적으로 즉시 확인할 수 있도록 합니다.
- 
- 예시 : 노션의 "업데이트" 기능은 단순히 알림 피드를 보여주는 데 그치지 않습니다. 
- 자리를 비운 사이에 변경된 페이지로 돌아오면, 새롭게 바뀐 내용을 깔끔하게 시각적으로 보여줍니다. 
- 중요한 내용은 확인한 후 사라집니다. 이는 사용자의 인지 능력을 고려한 복구 디자인입니다. 
- "새로운 내용이 여기 있습니다. 이제 최신 정보를 확인하셨으니, 작업에 집중하실 수 있습니다."

차이점(무엇이 달라졌는지)을 강조하면, 기존 정보와 새로운 정보가 같은 비중으로 뒤섞여 표시되어 
사용자가 스스로 무엇이 바뀌었는지 파악해야 하는 경우보다 훨씬 빠르게 상황을 재정비할 수 있습니다.

### AI는 분산과 해석 오버헤드를 증가시킵니다.

사용자에게 인지적 부담을 가중시킵니다. 인공지능의 발전은 역설을 낳습니다.
기계는 더 빨라졌지만, 인간의 상호작용은 오히려 느려지는 경우가 많습니다. 
인공지능은 이전에는 인간이 몇 시간씩 걸리던 작업을 단 몇 초 만에 처리할 수 있습니다. 
역설적이게도, 이는 사용자에게 인지적 부담을 가중 시키는 결과를 초래하기도 합니다.

AI는 사고 시간 UX에 두 가지 특정한 과제를 제시합니다.

1. 지연 시간 변동성
1. 기존 컴퓨팅 작업은 예측 가능한 시간을 갖습니다. 
1. 데이터베이스 쿼리는 매번 거의 동일한 시간이 소요됩니다. 
1. 하지만 AI 작업, 특히 생성현 AI는 지연 시간 변동성이 매우 큽니다. 
1. 문장 하나를 생성하는 데는 1초밖에 걸리지 않지만, 
1. 복잡한 시각화를 생성하는 데는 서버 부하나 프롬프트의 복잡성에 따라 몇 분이 걸릴 수도 있습니다. 
1. 이러한 시간 불확실성은 인지적 부담을 가중시킵니다. 
1. 사용자는 끊임없이 "얼마나 걸릴까? 기다려야 할까?"라고 자문하게 됩니다.

2. 해석 부담
2. AI 출력은 종종 복잡하고, 미묘하며, 확률적 입니다. 
2. 이러한 보고서는 신중한 검토가 필요합니다. 
2. AI가 30초 만에 보고서를 생성하더라도 사용자가 결과를 읽고 이해하고 검증하는 데 10분이 걸릴 수 있습니다. 
2. 사용자의 사고 시간 부담이 기다리는 시간 에서 벗어나 다른 데로 옮겨가는 것입니다. 
2. 

### 인간의 반응 시간을 줄이는 23가지 디자인 패턴

전술적으로 접근해 보겠습니다. 지금까지 논의한 모든 단계와 시간대에 걸쳐 인지 지연 시간을 줄이기 위해 
오늘 당장 구현할 수 있는 23가지 구체적인 패턴입니다. 기존의 상위 10개 목록보다 더 많은 내용을 제공하는 이유는 
이 문제 영역이 대부분의 패턴 라이브러리가 인식하는 것보다 훨씬 풍부하기 때문입니다.

디자인 패턴은 지연 시간의 길이에 따라 짧음, 중간, 길음으로 그룹화됩니다.

사용성 원칙은 작업의 시간 범위(지속 시간)와 상호 작용 여부에 따라 달라집니다.
향후 더욱 강력한 AI가 도입할 매우 긴 시간 범위로 갈수록 디자인 환경은 변화할 것이며, 
사용자가 수개월 또는 수년에 걸쳐 작업을 제어할 수 있도록 하는 데 초점을 맞추게 될 것입니다. 
이는 사용자가 컴퓨터와 적극적으로 상호 작용하는 몇 초 또는 몇 분 단위의 작업을 디자인하는 것과는 매우 다릅니다.

### 그룹 A : 짧은 지연을 위한 8가지 패턴(즉각적인 상호작용을 통한 흐름 유지)

이러한 패턴은 빠른 상호작용(2초 이내) 중에 
인지 부하를 최소화하여 반응성과 유동성을 느끼게 하는 것을 목표로 합니다.

1. **낙관적 UI + 확실한 실행 취소 기능(확인보다 빠름)
1. **이 패턴은 기존의 확인 후 행동 모델을 완전히 뒤집습니다.
1. 모든 동작 전에 "정말이세요?"라고 묻는 대신, 즉시 실행하고 간편한 실행 취소 기능을 제공합니다.
1. "이메일이 보관되었습니다. 실행 취소하시겠습니까?"라고 묻는 것이
1. "이 이메일을 보관하시겠습니까?"라고 묻는 것보다 훨씬 효과적입니다.
1. 왜냐하면 이 방식은 사용자의 의사 결정을 없애고 사용자를 신뢰하면서도 안전망을 제공하기 때문입니다.
1. 
1. 올바르게 적용하면 낙관적 UI는 즉각적인 결과를 선호하는 우리 뇌의 성향을 활용하고, 모든 작업을 느리고 
1. 의도적인 의식으로 만드는 대신 가끔 발생하는 오류를 최소한의 번거로움으로 수정할 수 있습니다.
1. 
1. 핵심 단어는 "보장"입니다. 실행 취소는 확실하고, 명확하며, 빨라야 합니다. 
1. 메뉴에 숨겨진 실행 취소 기능은 유효하지 않습니다. 3초 동안만 작동하는 실행 취소 기능도 유효하지 않습니다. 
1. 실행 취소는 원래 작업만큼 눈에 띄어야 하며, 사용자가 실수를 깨달은 후 반응할 수 있을 만큼 
1. 충분히 오랫동안 사용할 수 있어야 합니다.
1. 
1. 활용 분야 : 이메일, 작업, 간단한 편집, 목록 조작, 소셜 활동(좋아요, 팔로우, 저장) 등,
1. 활동을 쉽게 되돌릴 수 있는 모든 곳에서 활용 가능합니다.
1. 
1. 적용되지 않는 경우 : 영구 삭제, 금융 거래, 대규모 공개
1. 일부 작업은 실행 취소에 따른 인지적, 사회적 비용이 너무 크기 때문에 확인이 필요합니다.

2. **미리 보기 후 확정하기 패턴
2. **중대한 결과를 초래하는 작업의 경우, 실행 전에 어떤 일이 일어날지 자세히 보여주는 미리보기를 제공해야 합니다.
2. 텍스트 설명("47개 항목이 삭제됩니다")이 아니라 시각적 미리보기를 통해 47개 항목을 보여주고, 
2. 사용자가 스크롤하여 살펴볼 수 있도록 하며, 일부 항목은 선택 취소할 수도 있습니다.
2. 
2. 이는 사용자가 더 나은 결정을 내리는 데 도움이 되는 새로운 정보를 제공한다는 점에서 확인 대화 상자와 다릅니다.
2. 단순히 "정말입니까?"라는 질문이 아니라 "다음과 같이 진행될 것입니다. 이제 결정하세요."라는 질문입니다.
2. 
2. 보는 것이 믿는 것이다. 더 정확히 말하면, 보는 것이 이해하는 것이다.
2. 경고 메시지를 읽는 것보다 결과의 미리보기를 보는 것이 어떤 행동이 옳고 그른지 판단하는 데 더 쉬운 경우가 많다.

3. **원자 알림
3. **각 알림은 탐색 없이도 내용을 이해하거나 응답할 수 있도록 자체적으로 실행 가능해야 합니다.
3. "존이 문서에 댓글을 남겼습니다 : '3분기 데이터는 어떻게 되나요?'[답글][보기]"는 독립적인 알림입니다.
3. 하지만 "새 댓글이 1개 있습니다[보기]"는 그렇지 않습니다. 맥락을 이해하려면 클릭해야 하기 때문입니다.
3. 
3. 원자적 알림은 왕복 통신을 없애 상호 작용 지연 시간을 줄입니다. 
3. 사용자는 알림에서 바로 응답하거나 알림을 해제할 수 있어 항목당 몇 초씩 시간을 절약할 수 있습니다.

4. **진행 상황을 남겨둘 수 있는 백그라운드 작업(안정적인 재진입이 가능한 작업)
4. **10초 이상 지속되는 작업은 인터페이스를 인질로 잡아서는 안 됩니다. 
4. 진행률 표시기는 항상 표시되어야 하고(탐색 중에도 계속 표시되어야 함), 눈에 잘 띄지 않아야 하며(다른 작업을 방해하지 않아야 함), 다시 시작할 수 있는 지점(클릭하면 세부 정보나 결과로 이동)을 제공해야 합니다.
4. 
4. 이는 사용자가 보고 있는 페이지와는 별개로 존재하는 객체로서 작업을 처리하는 방식이라고 생각하면 됩니다.
4. 업로드는 "업로드 페이지"에서 일어나는 것이 아니라 시스템 전체에서 진행되며, 
4. 시스템은 사용자가 어느 페이지를 보고 있든 업로드 진행 상황을 보여주는 창을 제공합니다.

5. **다음 최선의 행동(킬 선택 오버헤드)
5. **선택지가 너무 많으면 오히려 혼란스러워집니다. 
5. 작업 완료 후 수많은 옵션이 있는 복잡한 대시보드를 보여주는 대신, 지능형 시스템은 상황을 분석하여 사용자에게 가장 가능성이 높은 다음 단계를 주요 행동 유도 버튼(Call to Action)으로 제시해야 합니다. 
5. 이렇게 하면 인터페이스가 수동적인 보고 도구에서 능동적인 안내자로 바뀌어, 
5. 다음에 무엇을 해야 할지 결정하는 데 드는 인지적 부담을 줄일 수 있습니다.
5. 
5. 이는 선택권을 없애는 것이 아니라, 선택지를 평가하는 데 드는 인지적 비용을 없애는 것입니다. 
5. 기본 경로가 너무 명확해서 마치 아무 결정도 하지 않은 것처럼 느껴져야 합니다.

6. **몇 가지 최선의 차선책(성공 가능성 극대화)
6. **어쩌면 당신의 AI는 사용자의 생각을 읽어나낸 능력이 부족해서 
6. 사용자의 최선의 다음 행동을 항상 예측해내지 못할 수도 있습니다. 
6. 하지만 가능성인 높은 다음 행동 두세 가지를 클릭 한 번으로 선택할 수 있도록 제시하면 
6. 그중 하나가 올바른 선택이 될 확률이 크게 높아집니다.

7. **사전 계산 및 사전 가져오기(예측 설계)
7. **지연 시간을 줄이는 가장 좋은 방법은 대기 시간을 완전히 없애는 것입니다. 
7. 예측 설계는 시스템의 유휴 시간(또는 사용자의 읽기 시간)을 활용하여 
7. 사용자가 요청하기 전에 다음 단계를 준비합니다. 
7. 사용자가 1페이지를 읽고 있다면 2페이지를 미리 불러오세요. 
7. 과거 패턴을 기반으로 사용자가 월간 보고서를 요청할 가능성이 높다면 백그라운드에서 미리 계산해 두세요.

8. **결과의 단계적 공개(의미 있는 자리표시자)
8. **완벽해질 때까지 기다리지 마세요. 
8. 작업에 시간이 오래 걸릴 경우, 체감되는 지연 시간을 줄이고 결과물을 개선하는 또 다른 방법은 
8. 모든 것이 100% 완료될 때까지 기다리는 대신, 준비되는 대로 부분적인 결과를 점진적으로 공개하는 것입니다.
8. 이는 메인 코스 전에 애피타이저를 먹는 것과 유사합니다. 처음부터 끝까지 배고프고 불안한 상태로 있지는 않잖아요.
8. UI 용어로 말하자면, 기본 틀을 잘 만든 화면을 확장하여 의미론적으로 유용한 미리보기 화면을 만드는 것과 같습니다.
8. 
8. 멈추지 않고 계속 돌아가는 로딩 아이콘은 앞으로 무엇이 나올지 전혀 알려주지 않습니다.
8. 반면, 기본 레이아웃을 보여주는 스켈레톤 로더는 콘텐츠가 나타날 때 
8. 인터페이스가 재배치되는 것을 방지하여 진행 상황을 보여주고 인지 부하를 줄여줍니다.
8. 좋은 스켈레톤 화면은 최종 콘텐츠의 실제 구조를 반영하여 
8. 사용자가 콘텐츠를 분석하기 시작할 수 있는 기본적인 틀을 제공해야 합니다.
8. 
8. 낮은 수준의 세부 정보로 빠르게 로드되는 뷰를 시작하여 사용자가 필요에 따라 세부 정보를 확인할 수 있도록 하세요.
8. 200ms 이내에 요약 대시보드를 표시한 후, 사용자가 클릭하면 2초 만에 로드되는 상세 보고서를 볼 수 있도록 하세요. 썸네일 미리보기는 즉시 표시되고, 요청 시 전체 해상도 이미지도 제공됩니다.
8. 
8. 이 패턴은 사용자가 모든 세부 정보를 필요로 하지 않는 경우가 많다는 현실을 반영하며, 
8. 모든 사람이 최대한 자세한 정보를 기다리게 하는 것은 비효율적입니다. 
8. 처음에는 빠르고 간략하게 시작하고, 필요할 때만 천천히 자세한 정보를 제공하세요.
8. 
8. 초기 미리보기는 사용자에게 미리 살펴보거나 반응할 수 있는 
8. 무언가를 제공하여 호기심을 어느 정도 충족시켜 줍니다. 
8. 더 중요한 것은, 이를 통해 조기에 방향을 수정할 수 있다는 점입니다. 
8. 부분적인 결과가 명백히 잘못된 방향으로 가고 있다면, 
8. 사용자(또는 AI)는 더 많은 시간을 낭비하기 전에 중단하거나 매개변수를 조정할 수 있습니다.

### 그룹 B : 중간 지연을 위한 5가지 패턴(기대치 관리)

이러한 패턴은 명확성과 맥락에 초점을 맞춰 즉각적인 인내심(약 10초)의 한계를 초과하는 작업의 과제를 해결합니다.

1. **결과 우선 표면화(피라미드)
1. **먼저 결과를 알려주고 그 다음에 세부 정보를 제공하세요.
1. 사람의 눈은 위에서 아래로 훑어봅니다. 
1. 이는 토스트 알림부터 복잡한 대시보드에 이르기까지 모든 것에 적용됩니다. 
1. 알림 메시지는 결과(예 : "저장됨")를 먼저 제시해야 합니다. 
1. 대시보드는 핵심 내용(예 : "매출 10% 증가")을 강조해야 합니다. 
1. 이렇게 하면 사용자의 제한된 주의 집중 시간을 고려하여 
1. 더 자세히 살펴볼지 여부를 결정하기 전에 핵심 정보를 빠르게 파악할 수 있습니다.
1. 
1. 전통적인 피라미드는 배경 자료를 모두 동원하여 먼저 튼튼한 기초를 쌓은 후, 
1. 점차 다른 자료로 쌓아 올려(훨씬 나중에) 빛나는 피라미디온 정점에 도달하는 방식이지만, 
1. 저널리즘의 역피라미드(결론부터 시작) 방식을 사용하세요.
1. 
1. 시각적 계층 구조(큰 제목, 색상 강조)를 활용하여 결과를 눈에 띄게 만드세요.
1. 인터페이스는 한눈에 "무슨 일이 일어났지?"라는 질문에 대한 답을 제시해야 합니다. 
1. 특히 시간이 오래 걸리는 작업의 경우, 사용자는 자신이 기대했던 결과를 잊어버렸을 수도 있습니다. 
1. 결과 중심의 요약은 사용자가 결과를 즉시 떠올리도록 도와줍니다.

2. **"작업" 버퍼(바쁜 벌, 회전하는 바퀴가 아님)
2. **일반적인 로딩 표시기를 의미 있는 진행 표시기로 교체하세요.
2. 계속 돌아가는 로딩 휠은 아무런 정보도 제공하지 않습니다.
2. AI 작업의 경우 "데이터 분석 중", "통찰력 생성 중", "보고서 서식 지정 중"과 같이 처리 단계를 보여주세요.
2. 이렇게 하면 맥락을 제공하고 불안감을 줄이며 대기 시간을 투명하게 이해할 수 있습니다.

3. **불확실성 대역을 포함한 ETA
3. **예상 완료 시간과 불확실성을 함께 제시하세요.
3. 이는 AI 추론과 같이 지연 시간 변동이 큰 작업에 매우 중요합니다.
3. "보통 2~5분 소요"와 같은 표현은 틀릴 가능성이 높은 정확한 예상 시간이나 
3. 불규칙적으로 움직이는 진행률 표시줄 보다 훨씬 효과적입니다. 
3. 이는 현실적인 기대치를 설정하고 불확실성으로 인한 인지적 부담을 줄여줍니다.

4. **간편한 재정의 기능을 갖춘 스마트 기본값
4. **컨텍스트, 기록 또는 일반적인 패턴을 기반으로 적절한 기본값으로 필드와 설정을 미리 채우되, 이를 쉽게 재정의할 수 있도록 해야 합니다. 기본값은 80%의 경우에 적절해야 하며, 기본값이 잘못된 20%의 경우에도 한 번의 클릭으로 수정할 수 있어야 합니다.
4. 
4. 이렇게 하면 "모든 옵션을 읽고, 평가하고, 선택하는" 의사결정 시간이
4. "기본값을 살펴보고, 수락하거나 빠르게 조정하는" 단계로 단축됩니다.
4. 신경 쓰지 않거나 모르는 사용자에게는 기본값이 결정을 내립니다. 
4. 신경 쓰는 사용자에게는 재정의가 빠르게 이루어집니다.
4. 
4. 적절한 기본 설정은 인지적 부담을 크게 줄이고 사용자가 UI를 탐색하는 속도를 높일 수 있습니다.
4. 
4. 적절한 기본값 설정은 항상 사용성 향상을 위한 지침이었지만, 
4. 인공지능 이전 시스템에서는 컴퓨터가 사용자의 의도를 예측하기 어려웠습니다. 
4. 인공지능은 아직 완벽하지는 않지만(20% 정도의 오탐지), 단순한 컴퓨터보다 훨씬 더 정확하게 예측할 수 있습니다.

5. **빠르게 실패하세요 / 우아하게 실패하세요
5. **사용자가 실패했다는 사실을 알기 전에 기다리게 하지 마세요.
5. 입력값과 조건을 최대한 빨리 검증하세요.
5. 사전 조건에 따라 작업이 실패할 가능성이 높다면 즉시 작업을 중단하고 명확한 피드백을 제공하세요.
5. 이렇게 하면 사용자가 실패할 가능성이 높은 작업에 시간을 낭비하는 것을 방지할 수 있습니다.
5. 예를 들어, 사용자가 파일 크기 제한을 초과하는 파일을 업로드하려고 하면 
5. 시스템은 클라이언트 측에서 즉시 거부해야 합니다.

### 그룹 C : 장시간 지연(핸드오프 및 재진입)을 위한 10가지 패턴

이러한 패턴은 사용자가 작업을 넘겨주고 나중에 (몇 분에서 며칠까지) 
다시 돌아와야 하는 장기 실행 작업을 관리하는 데 중점을 둡니다.

1. **남겨둘 수 있는 진전 (배경 필수 요소)
1. **몇 초 이상 걸리는 모든 작업은 백그라운드에서 실행 가능해야 합니다. 
1. 이것이 바로 Background Imperative(백그라운드 필수 사항)입니다. 
1. UI를 가리는 모달 대화상자는 사용할 수 없습니다.
1. 진행률 표시기는 지속적이지만 눈에 거슬리지 않아야 합니다(예 : 상태 표시줄 또는 전용 "작업" 영역) 
1. 이렇게 하면 사용자가 프로세스 중단에 대한 걱정 없이 멀티 태스킹을 수행할 수 있습니다.

2. **신뢰도 / 품질 범위 (정직한 불확실성)
2. **AI 시스템은 확률론적입니다. 이러한 불확실성을 숨기는 것은 부정직하며 신뢰를 떨어뜨립니다.
2. 신뢰 구간은 불확실성을 투명하게 전달합니다. 
2. 예측이나 AI가 생성한 요약에는 "95% 신뢰"라는 신뢰도 점수가 있어야 하거나, 
2. 신뢰도가 낮은 영역을 강조해야 합니다. 
2. 이렇게 하면 사용자가 검증이 필요한 영역에 주의를 기울이도록 유도하여 해석에 드는 오버헤드를 줄일 수 있습니다.
2. 
2. AI 요약이 완전한 데이터를 기반으로 한다면 그렇다고 명시하세요.
2. 표본을 기반으로 한다면 그렇다고 명시하세요.
2. 예상 시간(ETA)이 10% 이내로 신뢰할 수 있다면 좁은 범위를 표시하세요.
2. 300%까지 변동될 수 있다면 넓은 범위를 표시하세요. 
2. 불확실성에 대해 솔직하게 이야기 하면 신뢰를 쌓고 인지 부하를 줄일 수 있습니다.
2. 
2. 디자인 과정에 사용자에게 과도한 통계 정보를 제공하는 것을 피하고, 
2. 불확실성 정보를 활용하여 예상치 못한 결과나 불필요한 재확인을 방지해야 합니다. 
2. 불확실성에 대한 정보를 제공받으면 사용자는 AI의 결과물을 자주 재확인할 필요성을 느끼지 않게 됩니다. 
2. UI에서 이미 주의가 필요한 시점을 알려주었기 때문입니다. 
2. 이러한 방식은 사용자의 인지적 부담을 줄여주어, 
2. 모든 결과를 검토하는 대신 신뢰도가 낮은 결과에만 집중할 수 있도록 합니다. 
2. 또한, 부수적인 이점으로 신뢰도 향상에도 도움이 됩니다. 
2. 어떤 결과에 대해 확신이 없다고 솔직하게 인정하는 AI는 
2. 절대적인 확신을 주장하며 때때로 오류를 범하는 AI보다 더 신뢰할 만하다고 여겨집니다.

3. **상태 북마크(시간적 체크포인트)
3. **복잡한 워크플로 또는 분석 작업에서 사용자는 특정 상태를 의식적으로 저장하고 나중에 다시 해당 상태로 돌아갈 수 있어야 합니다. 
3. 상태 북마크는 워크플로 내에서 이름이 지정되고 공유 가능한 체크포인트입니다. ("3분기 예측 - 시나리오 A") 
3. 상태 북마크는 인터페이스의 전체 구성을 저장하므로 
3. 사용자는 안정적인 상태에서 분기하여 협업하고 필요한 경우 다시 돌아올 수 있습니다.
3. 
3. (제발, AI의 언어 능력을 활용해서 이름을 생성해 주세요. 
3. 경험상 사용자들은 그 순간에 좋은 이름을 생각해내기엔 너무 게으르잖아요. 
3. 물론, AI가 생성한 북마크 이름도 나중에 수정할 수 있도록 해 주세요.)
3. 
3. 스테이크 북마크는 두 가지 목적을 수행합니다.
3. 첫째, 복구를 간편하게 해주고(북마크를 불러오기만 하면 됨),
3. 둘째, 협업을 가능하게 합니다(동료와 링크를 공유)
3. "사용자가 이 페이지로 다시 돌아오고 싶어할 수도 있겠다"라고 생각될 때마다 
3. 북마크 기능을 활용할 수 있는지 자문해 보세요.
3. 만약 북마크 기능이 없다면, 디자인상의 부족한 부분을 발견한 것입니다.

4. **리턴 키캡("당신이 떠난 후로" 개요)
4. **사용자가 장기간 접속하지 않다가 다시 방문했을 때, 
4. 현재 상태와 이전 상태를 일일히 비교할 필요가 없어야 합니다.
4. 단순한 활동 로그만으로는 충분하지 않습니다. 
4. '반환 요약'은 마지막 방문 이후 발생한 주요 변경 사항을 간결하게 정리한 
4. '차이점'을 제공하여 사용자가 즉시 변화된 부분을 파악할 수 있도록 합니다.
4. 
4. 버전 관리 diff, "읽지 않은 메시지" 표시기, 심지어 마지막 방문 이후 일부 뉴스 사이트에서 
4. 기사에 "업데이트됨" 이라고 표시하는 방식과 같은 도구에서 영감을 얻을 수 있습니다. 
4. 특히 길이가 긴 AI 출력의 경우 AI가 새로 추가한 섹션을 강조할 수 있습니다. 
4. 사용자는 돌아올 때 "무슨 새로운 소식이 있지? 내가 이걸 신경 써야 할까?"라고 묻습니다. 
4. 따라서 이러한 질문에 미리 답할 수 있도록 요약을 디자인합니다. 
4. 요약은 간결하게 유지하세요. 
4. 전체 보고서가 아니라 요점만 적으면 됩니다. 
4. 간결한 요약은 사용자의 시간이 제한되어 있다는 점을 고려합니다.
4. (무슨 일이 일어났는지 알아내기 위해 한 시간 동안 다시 몰입할 수는 없습니다)
4. 좋은 복귀 요약을 통해 사용자는 1분 안에 몇 시간 동안의 시스템 활동을 이해할 수 있습니다.
4. 사용자가 잠시 자리를 비우더라도 돌아올 때 길을 잃지 않을 것이라는 확신을 갖게 되어 
4. 맥락을 잃을까 봐 시스템에 얽매이지 않는 것과 같은 건강한 행동을 장려합니다.
4. 
4. 사용자가 자리를 비운 시간이 길수록, 부재 중에 무슨 일이 있었는지 간략하게 설명하는 것이 더욱 중요합니다.
4. 
4. 여기서의 안티 패턴은 알림 피드가 계속해서 늘어나고 모든 알림을 똑같이 중요하게 취급하여 
4. 사용자가 이미 확인한 알림을 일일이 걸러내도록 강요하는 것입니다. 
4. 알림은 자동으로 읽음으로 표시하고, 관련 항목은 그룹화하고, 오래된 항목은 자동으로 삭제되도록 하세요. 
4. 알림 피로감이 실제로 존재한다는 사실을 존중해야 합니다.

5. **내구성이 뛰어난 작업 ID 및 계약
5. **몇 시간 또는 며칠이 걸리는 작업의 경우, 시스템은 영구적인 계약 기능을 제공해야 합니다.
5. 여기에는 사용자가 브라우저 세션이 만료되거나 기기를 변경하더라도 
5. 작업을 추적하고 문제를 해결할 수 있도록 고유한 작업 ID가 포함됩니다. 
5. 이러한 투명성은 중요하고 장기적인 운영에 대한 신뢰를 구축합니다.

6. **"초안 저장" 필수(자동 상태 보존)
6. **"저장" 버튼은 복원력이 부족한 기술 시대의 유물입니다. 
6. 사용자는 시스템이 자신의 작업을 지속적이고 조용히 보존해 주기를 기대합니다. 
6. 자동 상태 보존 기능은 인간의 개입이나 인지적 멈춤을 수용하는 데 필수적 입니다. 
6. 사용자는 언제든지 어떤 작업에서든 벗어나 커서 위치까지, 
6. 즉 반쯤 완성된 형태로 정확히 중단했던 지점으로 돌아갈 수 있어야 합니다.

7. **결과의 단계적 공개
7. **여러 결과물을 생성하는 장시간 작업의 경우, 
7. 모든 작업이 완료될 때까지 기다리지 말고 결과가 나오는 대로 표시하세요. 
7. 예를 들어 10개의 보고서를 생성하는 경우, 각 보고서가 완료될 때마다 표시하십시오. 
7. 50개의 데이터베이스를 검색하는 경우, 빠른 소스의 결과는 즉시 표시하고 느린 소스는 계속 진행하도록 하세요.
7. 
7. 이 패턴은 사용자 경험을 "모든 것을 기다리는 것"에서 
7. "나머지가 도착하는 동안 무언가를 하는 것"으로 바꿔줍니다.
7. 사용자는 부분적인 결과물을 얻으면서도 생산적인 작업을 할 수 있기 때문에 체감되는 지연 시간이 크게 줄어듭니다.
7. 
7. 예시 : 구글 이미지 검색은 검색 결과의 모든 이미지를 
7. 한꺼번에 불러오는 대신, 미리보기 이미지를 순차적으로 로드합니다. 
7. 전체 페이지가 로드되는 데는 시간이 더 걸리더라도, 검색 결과는 1초 이내에 표시되기 시작합니다.

8. **상황적 연속성 지표
8. **사용자가 관련 인터페이스 간을 이동하거나 작업으로 돌아올 때 시각적 연속성을 보여주세요.
8. 예를 들어, 5번째 단락을 편집 중이었다면 자동으로 해당 위치로 스크롤하고, 
8. "긴급 항목"으로 필터링 중이었다면 해당 필터를 유지하며, 
8. 두 가지 옵션을 비교 중이었다면 두 옵션 모두 보이도록 합니다.
8. 
8. 이는 단순히 "상태를 기억하는 것"과는 다릅니다.
8. 즉, 원활한 재개를 가능하게 하는 것입니다.
8. 인터페이스는 사용자가 방향 감각을 잃거나 
8. 정신 모델을 재구성할 필요가 없을 정도로 이전 상태와 유사해야 합니다.

9. **시스템 메모리로의 인지적 부하 분산
9. **시스템은 사용자가 기억할 필요가 없도록 정보를 기억해야 합니다.
9. 이전 검색어, 자주 사용하는 필터, 일반적인 설정 조합, 워크플로 패턴 등
9. 이 모든 정보를 캡처하여 바로가기로 제공해야 합니다.
9. 
9. 사용자를 묶어두는 다크 패턴이 아니라 진정한 편의성을 제공하는 것입니다.
9. "평소에 이 설정으로 PDF로 내보내시죠? 다시 사용하시겠습니까?"
9. 이렇게 하면 여러 단계를 거치던 워크플로가 시간이 지남에 따라 
9. 원클릭 작업으로 바뀌면서 효율성이 점차 향상됩니다.
9. 
9. 사용자가 기억해야 하는 인지적 부담을 덜어줄수록 사용자의 효율성은 더욱 높아질 것입니다.

10. **시간차 상호작용
10. **사용자가 편리한 시간에 작업을 계획하고 실행할 수 있도록 지원합니다.
10. 이메일을 미리 작성하여 나중에 보내거나, 게시물을 예약 게시하거나, 
10. 작업을 대기열에 추가하여 밤새 실행되도록 할 수 있습니다.
10. 
10. 이러한 방식은 "지금 당장"이라는 압박감을 없애고 인간의 일정과 주의 집중 시간이 가변적이라는 점을 존중합니다.
10. 또한 사용자가 모든 것에 즉각적으로 반응해야 한다는 압박감을 줄여줍니다.

### 앞으로의 계획 : 1년 동안의 과제

AI 역량은 빠르게 발전하고 있습니다.
오늘날의 "장시간" 작업(몇시간 또는 며칠)은 
2030년까지 몇 달 또는 2033년까지 몇 년에 걸쳐 진행되는 AI 작업에 가려질 것입니다. 
AI 작업이 1년 동안 실행 가능하여 거대한 과제를 해결할 수 있다면 UX는 어떻게 될까요? 
거의 공상과학처럼 들리지만, 질병 치료를 담당하는 AI나 유치원부터 대학 졸업에 이르기까지 
학생을 지도하는 개인 맞춤형 교육 도우미를 생각해 보세요.

(대학은 인간이 직업을 준비하는 주된 수단으로 더 이상 존재하지 않을지 모르지만,
어린 시절의 발달은 생물학적 사실이며, 인간이 미래에 사람들이 하고 싶어하는 어떤 일이든
할 수 있는 전문가로 성장하려면 아마도 12~16년이 걸릴 것입니다.)
UX 디자이너는 크로노사피엔스 사고방식을 이런 장대한 시간 척도까지 확장해야 합니다.

장기간에 걸쳐 진행되는 AI 작업을 설계할 때는 
이러한 작업을 개별적인 "작업"이 아닌 
지속적인 프로젝트 또는 협업처럼 다뤄야 합니다. 
작업을 시작한 사람이 작업이 완료되는 것을 
직접 보지 못할 수도 있기 때문에(직무나 역할 변경 등) 
UI는 여러 세대에 걸쳐 연속성을 지원해야 합니다. 
따라서 지속 가능한 계약이라는 개념이 문자 그대로 적용되어야 합니다. 
이러한 작업에는 강력한 프로젝트 ID, 공유 공간, 그리고 인수인계 메커니즘이 필수적입니다. 
UX에 승계 계획을 통합해야 합니다. 
예를 들어, 모든 컨텍스트를 그대로 유지하면서 AI가 실행하는 프로세스의 소유권을 
다른 사용자에게 이전할 수 있는 기능이 필요합니다.

AI와 함께 1년 동안 진행되는 프로젝트는 기존 UI 디자인 프로젝트와는 완전히 다른 여정입니다.
여름과 겨울에 같은 옷을 입지 않는 것처럼, 디자인 또한 장기간에 걸친 프로젝트 동안 여러 변화에 적응해야 할 수 있습니다.
(이는 B2B 웹사이트가 전문 기술자의 초기 조사부터 예산 권한을 가진 관리자, 
최종 계약을 체결하는 구매 부서에 이르기까지 구매 결정 과정을 원활하게 전달해야 하는 방식과 유사합니다.)

장기간 AI 프로젝트를 진행하려면 탁월한 복원력과 투명성이 필수적입니다.
1년이라는 기간 동안 소프트웨어 업데이트, 데이터 변동, 목표 변경 등 수많은 변수가 발생할 수 있습니다.
따라서 사용자 인터페이스는 사용자가 정기적으로 목표나 매개변수를 업데이트할 수 있도록 설계되어야 합니다.
(예 : 분기별 AI 진행 상황 검토) 시스템 상태뿐 아니라 사용자와 AI간의 설계 합의 사항, 
즉 성공 기준, 외부 환경 변화 시 대처 방안 등을 정기적으로 점검하는 것이 중요합니다. 
본질적으로 UX에는 계약서와 같은 조항이 포함될 수 있습니다. 
예를 들어, "목표 : 문헌 분석을 통해 X 질환의 치료법을 찾는다. 제약 조건 : 예산 10만 달러. 
기간 : 12개월. 점검 : 매월 검토."와 같은 내용입니다. AI는 매달 주요 진행 상황 보고서를 제공하고, 
사용자는 이를 검토하고 조정할 수 있습니다. 이러한 보고서는 핵심 내용만 간추려야 합니다. 
매달 50페이지 분량의 보고서를 받는다고 상상해 보세요. 사람이 그럴 시간은 없습니다. 
대신 사용자 인터페이스는 "5개월 차 : AI가 잠재적 화합물 3개로 범위를 좁혔지만 
데이터에서 이상 징후를 발견했습니다. 해당 조사를 계속 진행할지 아니면 
중단할지에 대한 의견이 필요합니다."와 같은 요약 정보를 제공합니다. 
이렇게 하면 장기적으로 인지 부하를 관리할 수 있습니다.

흥미롭게도, 작업 기간이 몇 달 또는 몇 년에 걸쳐 길어질수록 전통적인 UX보다는 
프로젝트 관리나 소셜미디어에서 더 많은 것을 차용할 수 있을 것입니다. 
프로젝트 관리 측면에서는 진행 상황을 단순히 백분율로만 추적하는 것이 아니라 
결과물, 마감일, 그리고 의존 관계까지 추적해야 합니다.
(AI "프로젝트"는 주요 마일스톤이 표시된 긴 차트처럼 시각화할 수 있습니다.)

소셜 미디어나 습관 형성 앱 디자인에서 아이디어를 얻어, 
1년 동안 사용자의 참여를 유지하는 방법을 생각해볼 수 있습니다. 
예를 들어, 주기적인 축하 행사나 진행 상황 업데이트를 통해 성과를 보여주는 것이죠
("100일째-목표 달성:중간 모델 완성!") 물론 진지한 작업을 게임처럼 만들라는 것은 아니지만, 
1년이라는 긴 시간 동안 동기를 유지하기란 쉽지 않으므로, UX 디자인을 활용하여 진행 상황을 강조하고 
이해관계자들이 그 기간 동안 관심을 갖도록 유도할 수 있습니다.

1년이나 걸리는 AI 작업은 사용자의 삶이나 업무에 상당한 영향을 미칠 수 있습니다.
사용자 경험(UX)은 사용자가 이러한 장기 프로세스를 통제하고 신뢰할 수 있도록 해야 합니다.
이러한 장기 프로세스를 통제하고 신뢰할 수 있도록 해야 합니다.
즉, 충분한 투명성, 피드백 및 개입 기회, 그리고 인간의 목표와의 조화가 필요합니다.
1년 동안 지속되는 AI 작업을 위한 디자인은 시간이 흘러도 변함없이 이어지는 인간과 기계의 파트너십을 구축하는 것과 같습니다.
제대로 구현된다면, 마치 뒤에서 꾸준히 일하는 성실한 직원이 있는 것처럼 느껴질 수 있습니다.
그 직원은 세부 사항을 정확하게 처리해 줄 것이라고 믿지만, 
주기적으로 관리자의 우선순위를 제대로 파악하고 있는지 확인하는 것처럼 말입니다. 
반대로 제대로 구현되지 않는다면, 마치 로켓을 발사하고 1년 후에 무언가 가치 있는 것을 
가지고 돌아오기를 바라는 것처럼, 사용자는 아무것도 모르는 체 불안에 시달릴 수밖에 없을 것입니다.

장시간 진행되는 AI 프로젝트 동안 사용자는 대부분의 시간을 편안하게 쉴 수 있어야 합니다.

우리는 또한 수년간 지속될 수 있는 UX를 고려해야 합니다.
AI 시스템 설계 이전 단계에서도 사용자 데이터 관리와 같은 사항에 대해 
수십 년 규모의 UX를 고려해야 한다고 지적했습니다. 
AI 프로젝트 역시 이와 같은 장기간에 걸쳐 진행된다면, 
세상 자체가 (그리고 분명히 여러부의 비즈니스도) 변화할 것이므로 시스템은 상당한 변화에 적응해야 합니다! 
UX는 매년 목표를 재검토하는 것과 같은 적응성을 포함할 수 있습니다
("2년 차 : 이러한 결과가 여전히 목표와 일치합니까? 예/아니오") 
이처럼 장기적인 관점에서 설계하는 것은 새로운 영역이지만, 핵심 원칙은 변함 없습니다. 
바로 '시간의 법칙'을 존중하는 것입니다. 기계의 능력만이 아닌 인간의 시간 척도를 고려하여 설계해야 합니다.

### 결론 : 시간은 새로운 개척지이다

새로운 관문은 바로 인간의 시간입니다.
사용자가 기다리는 시간뿐만 아니라, 인지하고, 이해하고, 결정하고, 
문제를 해결하는 데 소요되는 인지적 시간까지 모두 포함합니다. 
바로 이 시간들이 애플리케이션이 빠르거나 느리게 느껴지는지, 
명확한지 혼란스러운지, 존중받는 느낌인지 부담스러운지 등을 결정합니다.

속도는 경험적인 요소입니다. 컴퓨터 문제가 아니라 사용자 문제입니다.

크로노 사피엔 컴팩트
인간은 시간을 여러 척도로 경험하고, 주의력은 소중하지만 제한적이고, 
기억력은 오류에 빠지기 쉽고, 인내심은 유한한 존재입니다. 
AI가 작업 기간을 밀리초에서 며칠로 확장함에 따라 이러한 현실을 무시하는 디자인은 
점점 시대에 뒤떨어지고 답답하게 느껴질 것입니다. 
이는 인간이 단순히 느린 컴퓨터가 아니라는 인식을 의미합니다. 
이러한 현실을 무시하는 디자인은 인공지능이 작업 지속 시간을 밀리초에서 며칠까지 
확장함에 따라 점점 더 시대에 뒤떨어지고 답답하게 느껴질 것입니다.

자, 여러분께 도전 과제를 드리겠습니다. 제품에서 한 가지 기능을 선택하세요.
해당 기능의 인지 지연 시간 스택을 그려보고, 어떤 시간대에 속하는지 파악하세요.
그리고 현재 디자인이 해당 시간대의 요구 사항을 충족하는지 자문해 보세요.
만약 그렇지 않다면 (예를 들어 30초가 걸리는 작업에 예상 완료 시간 없이 로딩 표시만 보여주거나, 
사용자가 중단 후 복귀했을 때 원시 로그를 보여주는 경우), 바로 개선할 기회가 온 것입니다.

서버 응답 시간뿐 아니라 사용자의 반응 시간까지 최적화하세요.
사용자들은 분명 고마워할 겁니다. 아마 말로 표현하진 않겠지만, 더 중요한 방식으로 알아챌 겂니다.
바로 재방문, 인터페이스에 대한 신뢰, 그리고 실제 작업 자체는 느리더라도 전반적인 속도가 빠르다고 느끼는 것입니다.

출처

[Think-Time UX: Design to Support Cognitive Latency](https://www.uxtigers.com/post/think-time-ux#:~:text=We%20need%20to%20measure%20and%20optimize%20the,your%20AI%2Dpowered%20feature%20feels%20magical%20or%20maddening.)

For the site tree, see the [root Markdown](https://slashpage.com/whatthebbo.md).
