# File, Link, And Media Usage Model ## 목적 메신저 안에서 많은 업무와 일상은 결국 `파일`, `링크`, `사진`, `짧은 캡처`, `자료 재발견`으로 귀결된다. 채팅창에 메시지 전송만 잘 되는 수준으로는 업무 효율을 올릴 수 없다. 이 문서는 KoTalk가 단순 대화 앱이 아니라 `작업 재료를 쉽게 주고받고 다시 찾는 도구`가 되기 위한 정보 구조와 UX 기준을 정의한다. ## 문제 정의 - 파일이 대화 속으로 묻혀 다시 찾기 어렵다. - 링크가 많아질수록 어느 링크가 중요한지 구분되지 않는다. - 사진과 이미지가 단순 첨부로만 취급되어 업무 흐름과 분리된다. - 메신저를 파일 저장소처럼 쓰게 되지만 정작 나중에 찾기는 힘들다. - 모바일에서는 업로드가 어렵고, 데스크톱에서는 정리가 부족하다. ## 핵심 원칙 ### 1. 첨부는 메시지의 부속물이 아니라 재사용 자산이다 - 파일과 링크는 전송 순간보다 `나중에 다시 찾을 때` 가치가 커진다. - 따라서 대화창 안 표현과 별개로 전용 재발견 경로가 반드시 있어야 한다. ### 2. 업무와 친근한 대화의 미디어 사용 목적은 다르다 - 업무는 문서, 캡처, 링크, 버전 파일, 검토 요청이 핵심이다. - 친근한 소통은 사진, 짧은 영상, 음성, 반응, 공유 속도가 중요하다. - 같은 첨부 시스템 위에서 우선 노출 방식은 달라져야 한다. ### 3. 전송보다 정리와 복귀가 더 중요하다 - 사용자는 보내는 순간보다 `그때 보낸 자료 어디 있지?`를 더 자주 경험한다. - 파일·링크·미디어 탭은 첫 릴리즈부터 중요하다. ## 도메인 모델 - FileAsset - LinkAsset - ImageAsset - AudioAsset - AttachmentBundle - PreviewCard - SavedForLater - RecentSharedItems - ConversationResourceIndex 각 자산은 메시지와 연결되지만 독립 인덱스도 가진다. ## 파일 UX ## 업무 중심 시나리오 - 계약서 PDF 공유 후 상대 검토 여부 확인 - 회의 자료 슬라이드 전송 - 화면 캡처에 코멘트 붙여 전달 - 최신 버전 파일 교체 - 특정 방에서 오간 문서만 빠르게 모아 보기 ## 설계 기준 - 파일 카드에 최소한 파일명, 크기, 유형, 업로드 시각, 보낸 사람, 간단한 상태를 표시한다. - 동일 이름 파일의 후속 버전이 올라오면 `업데이트된 파일` 흐름으로 묶는다. - 미리보기 가능한 형식은 가능한 범위에서 즉시 미리보기를 제공한다. - 다운로드 버튼과 원본 열기 버튼의 의미를 분리한다. - 데스크톱에서는 드래그 앤 드롭, 붙여넣기, 최근 파일 빠른 재첨부를 지원한다. ## 링크 UX ## 업무 중심 시나리오 - 문서 링크와 회의 링크를 구분해 찾기 - 여러 참고 링크를 한 번에 모아 전달 - 자주 보는 내부 위키 링크 재공유 ## 설계 기준 - 링크는 도메인, 제목, 설명, 썸네일을 카드화한다. - 회의 링크, 문서 링크, 작업 티켓 링크를 유형별로 구분한다. - 사용자가 링크를 보내기 전에 짧은 설명을 붙일 수 있어야 한다. - 대화별 링크 탭에서 최근 공유 링크를 시간순과 중요순으로 둘 다 볼 수 있어야 한다. ## 이미지/미디어 UX ## 친근한 소통 시나리오 - 사진 여러 장을 한 번에 보낸다. - 대화 중 중요한 캡처를 빠르게 올린다. - 이모지, 반응, 가벼운 이미지 공유가 많다. ## 업무적 시나리오 - 버그 스크린샷을 설명과 함께 보낸다. - 비교 전후 이미지를 나란히 검토한다. - 현장 사진을 메모와 함께 공유한다. ## 설계 기준 - 사진 여러 장은 묶음 갤러리로 보여 준다. - 묶음 안에서도 개별 코멘트와 반응이 가능해야 한다. - 이미지 확대 전환은 빠르고 단순해야 하며 과도한 애니메이션을 피한다. - 모바일은 한 손 조작을 고려해 첨부 패널을 하단 시트 구조로 둔다. ## 검색과 재발견 ### 대화 안에서 찾기 - `이 방의 파일` - `이 방의 링크` - `이 방의 사진` - `내가 올린 자료` - `최근 7일` ### 전체에서 찾기 - 파일명으로 찾기 - 보낸 사람으로 찾기 - 유형별 찾기 - 대화별로 묶어 보기 - `최근 본 파일 다시 열기` ### 저장 기능 - 중요한 자료는 `나중에 보기` 또는 `보관함`으로 저장한다. - 보관함은 메모앱처럼 무겁게 가지 않고, 가벼운 북마크 허브 수준에서 시작한다. ## UI 원칙 - 첨부 패널은 컴팩트해야 한다. - 버튼이 많아 보이지 않도록 사용 빈도 높은 순서로 노출한다. - 모바일 웹에서는 `사진`, `카메라`, `파일`, `링크 붙여넣기`만 우선 노출하고 고급 기능은 감춘다. - 데스크톱은 입력창 주변보다 드래그, 붙여넣기, 컨텍스트 메뉴에 무게를 둔다. ## 대화 타입별 우선순위 ### 업무방 - 파일 탭과 링크 탭을 대화 헤더 바로 아래에서 잘 찾게 한다. - 최근 공유 파일은 대화 정보 패널에 상시 노출한다. - `마지막 파일 이후 무응답` 같은 상황을 쉽게 파악할 수 있어야 한다. ### 친한 대화 - 사진과 반응, 묶음 보기, 가벼운 공유가 핵심이다. - 업무형 메타데이터는 최대한 숨긴다. ### 나에게 보내기 - 개인 임시 저장소 역할이 강하다. - 클립보드 링크, 스크린샷, 파일, 메모가 빨리 쌓이고 빨리 다시 열려야 한다. ## 저장소 및 인프라 기준 - 원본 파일은 MinIO 등 객체 저장소를 전제로 한다. - 썸네일, 미리보기, 원본 링크 만료 시간을 분리 관리한다. - 링크 메타데이터 수집은 지연 실패를 허용해야 한다. - 바이러스 검사, 확장자 정책, 용량 제한을 단계적으로 강화한다. ## 신뢰와 안전 - 민감 파일은 다운로드 경로를 짧게 노출하지 않는다. - 공개 링크 재사용을 막고 대화 맥락 기반 권한을 둔다. - 파일 삭제와 메시지 삭제의 관계를 사용자가 이해할 수 있게 해야 한다. - 모바일 캐시에 남는 첨부는 최소화하고, 사용자가 정리할 수 있어야 한다. ## 실패 시나리오 - 업로드 중 네트워크 단절 - 모바일 백그라운드 전환으로 업로드 중단 - 미리보기 생성 실패 - 권한 없는 파일 접근 - 만료된 원본 URL 각 경우 사용자에게 `무엇이 올라갔고`, `무엇이 아직 안 끝났고`, `다음에 무엇을 누르면 되는지`를 명확히 보여 준다. ## 단계별 범위 ### Alpha - 파일 1개 업로드/다운로드 - 링크 프리뷰 - 대화별 파일/링크 탭 - 나에게 보내기 첨부 ### Beta - 다중 파일 첨부 - 이미지 갤러리 - 최근 공유 자료 허브 - 모바일 카메라/갤러리 연결 ### Later - 파일 버전 관리 - 인라인 주석 - OCR/텍스트 추출 - 스마트 추천 자료 ## 완료 기준 - 사용자가 메신저를 `자료가 묻히는 곳`이 아니라 `자료를 다시 쉽게 찾는 곳`으로 인식해야 한다. - 업무방에서 파일과 링크를 찾는 시간이 체감상 확실히 줄어야 한다. - 친한 대화에서는 첨부가 부담스럽지 않고, 사적인 공유 흐름을 방해하지 않아야 한다.