# Composer, Reply, Reaction, And Forward Spec

## 목적

메신저에서 가장 자주 반복되는 동작은 `입력`, `짧은 답장`, `반응`, `전달`이다.  
이 네 가지가 미세하게 불편하면 전체 제품 인상이 곧바로 나빠진다.  
이 문서는 작성 경험을 업무와 친근한 대화 모두에 맞게 세밀하게 정의한다.

## 핵심 원칙

- 입력창은 단순해 보여야 하지만 약하지 않아야 한다.
- 짧게 답할 때는 빨라야 하고, 길게 쓸 때는 안전해야 한다.
- 반응은 부담 없이 가벼워야 한다.
- 전달은 복잡한 공유 작업이 아니라 맥락 이동 도구여야 한다.

## 입력창 기본 구조

- 텍스트 입력
- 첨부 진입
- 반응/이모지
- 전송
- 초안 상태 표시

기본 구조는 간결하게 유지하고, 고급 기능은 점진적으로 드러낸다.

## 입력 경험

### 짧은 답장

- 입력창은 즉시 포커스 가능해야 한다.
- 한 줄 입력이 기본이되, 길어질수록 부드럽게 확장된다.
- 전송 직후 포커스가 유지되어 연속 입력이 가능해야 한다.

### 긴 메시지

- 줄바꿈과 전송 규칙을 명확히 선택 가능하게 한다.
- 초안 보존 상태가 사용자에게 은은하게 보인다.
- 세션 문제나 네트워크 단절 시에도 문장이 사라지지 않아야 한다.

### 업무 작성

- 체크리스트, 번호, 링크, 파일 첨부가 자연스러워야 한다.
- `검토 부탁`, `확인 부탁`, `회의 후 정리` 같은 짧은 프리셋을 둘 수 있다.

### 친근한 대화 작성

- 반응과 짧은 답장이 부담 없어야 한다.
- 과도한 서식 기능보다 흐름과 속도가 중요하다.

## 답장 UX

- 특정 메시지에 답장할 때 원문 요약이 입력창 위에 붙는다.
- 답장은 말풍선에서 명확히 연결되되 과하게 복잡한 스레드 UI는 피한다.
- 답장된 메시지 탭 시 원문 위치로 점프할 수 있어야 한다.
- 업무 대화에서 답장은 `무엇에 대한 응답인지`를 빠르게 복원하는 핵심 장치다.

## 반응 UX

- 자주 쓰는 반응 4~6개를 먼저 보여 준다.
- 반응은 한 번 클릭으로 끝나야 한다.
- 업무방에서는 `확인`, `좋아요`, `진행 중`, `완료`처럼 의미형 반응도 고려한다.
- 친한 대화에서는 감정형 반응이 더 중요하다.
- 반응 자체가 알림 폭탄이 되지 않도록 기본은 저강도 알림으로 둔다.

## 전달 UX

- 메시지 전달은 `대화를 옮긴다`는 느낌보다 `정보를 공유한다`는 느낌이 강해야 한다.
- 전달 시 원문 출처를 유지할지, 텍스트만 복사할지 선택할 수 있다.
- 나에게 보내기나 업무방으로 빠르게 전달하는 흐름이 중요하다.
- 전달 후 곧바로 짧은 코멘트를 덧붙일 수 있어야 한다.

## 실패와 복구

- 전송 실패 시 말풍선 안에서 다시 보내기 가능
- 세션 재확인 중에는 입력 내용 보존
- 오프라인 전송 대기 상태를 명확히 표시
- 중복 전송 방지 토큰 적용

## 데스크톱 특화

- `Ctrl+Enter`, `Shift+Enter` 옵션
- 붙여넣기 시 이미지/파일/텍스트 자동 구분
- 최근 보낸 파일 재첨부
- 드래그 앤 드롭 지원

## 모바일 특화

- 한 손 조작 기준 하단 입력
- 답장/반응 액션은 과도한 길게 누르기 없이 접근 가능
- 키보드와 안전 영역 충돌 최소화

## 완료 기준

- 사용자가 생각보다 손이 덜 가고, 실수해도 덜 무섭다고 느껴야 한다.
- 업무에서는 더 정리된 응답이 가능하고, 친근한 대화에서는 더 부담 없이 상호작용할 수 있어야 한다.
