# Desktop Productivity And Multiwindow Spec

## 목적

Windows PC용 메신저가 모바일 메신저의 단순 복사본에 머무르면 데스크톱의 장점을 버리는 셈이다.  
KoTalk 데스크톱은 `컴팩트한 UI`, `창 크기 유연성`, `멀티윈도`, `키보드 중심 작업`, `빠른 복귀`를 통해 업무 체감 효율을 실제로 끌어올려야 한다.

이 문서는 데스크톱 제품성을 만드는 핵심 장치를 구체적인 동작 수준까지 정의한다.

## 현재 문제 인식

- 최근 UI 개편으로 화이트/플랫/컴팩트 방향은 정리됐지만, 실제 생산성 장치는 아직 얕다.
- 검색, 다중 창, 단축키, 팝아웃, 자료 재발견이 문서 수준에 비해 구현이 부족하다.
- 사용자는 `데스크톱 메신저를 쓰는 이유`를 명확히 느껴야 한다.

## 핵심 원칙

### 1. 데스크톱은 더 많은 정보를 주는 것이 아니라 더 적게 헤매게 해야 한다

- 한 화면에 정보를 많이 넣는 것만이 생산성은 아니다.
- 진짜 생산성은 `찾는 횟수`, `창 전환 수`, `마우스 이동 거리`, `같은 일의 반복`을 줄이는 데서 나온다.

### 2. 멀티윈도는 기능이 아니라 작업 방식이다

- 메인 창 하나로 모든 대화를 처리하는 것은 모바일 발상에 가깝다.
- 업무 대화, 메모 대화, 파일 검토 대화를 서로 다른 창으로 분리하는 순간 데스크톱의 가치가 생긴다.

### 3. 키보드 우선 동선이 있어야 한다

- 목록 이동, 검색, 고정, 무음, 팝아웃, 새 메모, 파일 첨부가 모두 키보드로 가능해야 한다.

## 창 구조

## 메인 창

- 기본 3열 구조:
  - 좌측 탐색/필터
  - 중앙 대화 목록
  - 우측 대화/정보 패널
- 창이 좁아질수록 3열 -> 2열 -> 1열로 자연스럽게 접힌다.
- 각 열 너비는 기억된다.

## 팝아웃 대화창

- 특정 대화만 독립 창으로 띄운다.
- 팝아웃 창은 항상:
  - 최소 헤더
  - 대화 본문
  - 입력창
  - 작은 정보 패널 토글
를 가진다.
- 팝아웃 창은 회의방, 모니터링 방, 나에게 보내기 메모에서 특히 유용해야 한다.

## 보조 창

- 전역 검색 창
- 파일/링크 허브 창
- 계정/장치 창
- 알림 요약 허브

보조 창은 모두 모달보다 모델리스에 가깝게 설계한다.  
사용자가 대화를 계속 보며 참고할 수 있어야 한다.

## 멀티윈도 시나리오

### 시나리오 1. 회의 중

- 회의방은 팝아웃
- 메인 창은 다른 업무 대화
- 나에게 보내기는 작은 메모 창
- 결과: 회의 메모, 실무 응답, 개인 임시 기록이 동시에 가능

### 시나리오 2. 자료 검토

- 메인 창에서 대화 흐름 확인
- 파일/링크 허브 창에서 최근 자료 재오픈
- 필요한 대화는 두 번째 창으로 분리

### 시나리오 3. 고객 대응/운영 모니터링

- 우선 대화 몇 개를 세로로 나눠 띄움
- 고정 방은 항상 보이게 유지
- 알림은 토스트보다 창 강조에 가깝게 처리

## 창 배치 원칙

- 마지막 창 위치와 크기를 기억한다.
- 모니터 구성이 바뀌면 안전한 기본 위치로 되돌린다.
- 아주 작은 창에서도 필수 메시지 읽기/답장이 가능해야 한다.
- 최대화/복원/스냅 환경에서 레이아웃이 깨지면 안 된다.

## 단축키 체계

### 필수 단축키

- `Ctrl+K`: 전역 검색/명령 팔레트
- `Ctrl+N`: 나에게 보내기 또는 새 대화
- `Ctrl+Shift+P`: 현재 대화 팝아웃
- `Ctrl+Shift+M`: 무음 토글
- `Ctrl+Shift+L`: 고정 토글
- `Alt+Up/Down`: 대화 목록 이동
- `Ctrl+F`: 현재 대화 검색
- `Esc`: 뒤로/패널 닫기
- `Ctrl+Enter` 또는 `Enter`: 설정에 따른 전송

### 업무 강화 단축키

- `Ctrl+1`~`Ctrl+5`: 고정 슬롯 대화 빠른 이동
- `Ctrl+Shift+1`~`Ctrl+Shift+5`: 현재 대화를 슬롯에 할당
- `Ctrl+J`: 안 읽은 대화 허브
- `Ctrl+Shift+K`: 최근 파일/링크 허브

## 정보 밀도 규칙

- 한 줄 정보에 `대화명`, `최근 메시지`, `시간`, `배지`, `상태`가 모두 있어도 과도하게 시끄럽지 않아야 한다.
- 상태 표현은 색보다 간격과 굵기로 구분한다.
- 흰색 원톤 위주 UI에서 가장 중요한 것은 여백 질서와 정렬감이다.
- 아이콘은 수를 줄이고, 반복되는 텍스트도 줄인다.

## 생산성 장치

### 1. 고정 슬롯

- 자주 오가는 대화를 번호 슬롯에 매핑한다.
- 사용자는 손이 기억하는 위치로 이동한다.

### 2. 전역 명령 팔레트

- 대화 찾기
- 사람 찾기
- 파일 찾기
- 설정 이동
- 새 메모 시작
- 최근 항목 재열기

### 3. 안 읽은 허브

- 모든 방의 안 읽은 메시지를 단순 숫자 대신 `처리 단위`로 모아 본다.
- 멘션, 승인 요청, 파일 확인 요청을 우선 분류한다.

### 4. 최근 작업 패널

- 최근 연 링크
- 최근 다운로드 파일
- 최근 팝아웃 대화
- 최근 초안

### 5. 스마트 복귀

- 점심 후, 회의 후, 재부팅 후 앱을 열었을 때 마지막 작업 상태를 재구성한다.

## 대화창 세부 UX

- 입력창은 너무 높지 않게 유지한다.
- 첨부 패널은 옆으로 커지지 않고 아래 시트처럼 열리게 한다.
- 읽지 않은 구간 점프, 최근 파일 바로 보기, 관련 링크 열기를 오른쪽 정보 패널에서 지원한다.
- 업무방의 경우 입력창 위에 가벼운 상태 바를 둘 수 있다.
  - `검토 중 파일 2개`
  - `미응답 멘션 1건`
  - `회의 시작까지 8분`

## 유연한 창 크기 대응

### 넓은 창

- 3열 고정
- 정보 패널 상시 노출
- 멀티셀렉션과 드래그 활용 극대화

### 중간 창

- 정보 패널 토글형
- 대화 목록과 본문 비율 조절

### 좁은 창

- 목록/본문 전환형
- 헤더에 핵심 액션만 남김

## 실제 구현 우선순위

### 1차

- 리사이즈 가능한 패널
- 팝아웃 대화창
- 전역 검색 오버레이
- 기본 단축키

### 2차

- 고정 슬롯
- 안 읽은 허브
- 최근 작업 패널
- 다중 모니터 복원

### 3차

- 워크스페이스 프리셋
- 회의 레이아웃
- 작업 유형별 창 템플릿

## QA 기준

- 창을 반복적으로 키우고 줄여도 레이아웃이 안정적이어야 한다.
- 4개 이상 창을 띄운 상태에서도 읽음/알림/드래프트 충돌이 없어야 한다.
- 키보드만으로 하루 기본 루프가 가능해야 한다.
- Windows 스냅, 다중 모니터, DPI 변경 환경을 별도 검증한다.

## 완료 기준

- 사용자가 `모바일보다 불편한 PC 앱`이 아니라 `업무할 때 일부러 켜 두고 싶은 데스크톱 도구`라고 느껴야 한다.
- 메인 창 하나에 모든 것을 억지로 넣지 않고, 대화와 작업을 분리해도 흐름이 좋아야 한다.
