본문으로 건너뛰기
피드

관용적 디자인을 되돌려줘 — 데스크톱 시대의 일관성이 그립다

frontend 약 4분
vote
0
댓글
북마크

데스크톱 소프트웨어 시대에는 File/Edit/View 메뉴 같은 디자인 관용구 덕분에 처음 보는 프로그램도 바로 쓸 수 있었지만, 브라우저 시대에는 앱마다 인터페이스가 전부 달라서 매번 '이거 어떻게 쓰지?'를 반복하게 됐다. 모바일 전환과 프론트엔드 프레임워크의 빠른 변화가 원인이며, Apple처럼 강한 디자인 시스템을 밀어붙이는 곳에서 여전히 관용적 디자인의 성공을 볼 수 있다.

  • 1

    데스크톱 시대의 디자인 관용구(File/Edit/View, ALT 단축키 등)는 OS와 GUI 라이브러리가 강제한 일관성의 산물

  • 2

    브라우저 시대에는 Figma와 Linear조차 공유하는 아이콘이 하나도 없을 정도로 이질적

  • 3

    모바일 전환으로 인한 어정쩡한 타협과 프론트엔드 생태계의 빠른 변화가 주요 원인

  • 4

    Apple의 강한 디자인 시스템이 관용적 디자인 성공의 현대적 사례

  • 데스크톱 소프트웨어 시대(Windows 95~7)에는 디자인 관용구(idiom)가 있었음 — File/Edit/View 메뉴 구조, ALT+F 단축키, 밑줄 표시 등 어디서든 똑같이 동작하는 일관된 인터페이스

    • 처음 보는 프로그램이어도 "이거 어떻게 쓰지?"라는 고민이 거의 없었음
    • OS와 GUI 라이브러리가 디자인의 큰 틀을 강제했기 때문에 자연스럽게 패턴이 수렴됨
  • 반면 브라우저 소프트웨어 시대는 이질적 인터페이스의 시대

    • Figma와 Linear — 둘 다 최고 수준의 엔터프라이즈 소프트웨어인데 공유하는 아이콘이 단 하나도 없음
    • 같은 회사 제품끼리도 안 맞음: Gmail, Google Docs, GSuite가 전부 다른 경험
    • 사용자는 하루 종일 "이거 클릭할 수 있나?", "뒤로 가기 되나?" 같은 질문을 반복하게 됨

왜 이렇게 됐나

  • 모바일 전환의 후유증

    • 터치스크린 등장으로 마우스+키보드 패턴을 전부 재발명해야 했음
    • 모바일/데스크톱 양쪽을 지원하다 보니 어정쩡한 중간 지대에 갇힘 — 데스크톱 앱에 햄버거 메뉴를 넣는 식
    • 모던 프론트엔드의 컴포넌트 복사-붙여넣기 문화가 나쁜 패턴을 10년 넘게 재생산함
  • HTML 너머에는 관용구가 부족함

    • 초기 웹에는 확실한 관용구가 있었음 — 파란 밑줄 = 링크, 보라색 = 방문한 링크
    • 지금은 아무도 순수 HTML을 안 씀. React + TypeScript + npm 패키지 + 복잡한 빌드 파이프라인을 거쳐서 결국 브라우저에서 뭔가가 돌아감
    • Figma처럼 WebAssembly로 데스크톱급 소프트웨어를 브라우저에 구현하면 HTML 문서 모델 자체가 깨짐 — 브라우저 뒤로 가기나 단축키는 당연히 안 맞게 됨
    • 프론트엔드가 너무 빠르게 움직이고 있어서 "무엇이 가능한가"가 "어떻게 다듬을까"보다 항상 우선순위

그래도 성공하는 관용적 디자인

  • Apple이 좋은 사례 — 강하게 밀어붙이는 디자인 시스템이 서드파티 앱까지 일관성을 만들어냄
    • 키보드, 핀치투줌 등 인터랙션을 iOS가 통제하는 게 "it just works" 효과의 핵심
    • 사용자가 기본값을 신뢰하고 커스터마이징을 안 하게 됨
  • Substack도 비슷한 접근 — 폰트 선택도 못 하고 밑줄도 못 치지만, 제약이 있어서 오히려 잘 됨

실무에서 따를 수 있는 원칙들

💡

> 글쓴이가 제안하는 규칙: HTML/CSS 관용구를 따르고, React Button 대신 네이티브 <button>을 쓰고, 브라우저 뒤로 가기를 항상 작동시키고, 아이콘보다 텍스트를 우선하고, 헷갈리면 예쁜 것보다 명확한 것을 선택하라.

  • 궁극적으로 글쓴이가 꿈꾸는 건 — 인터넷의 모든 날짜 선택기와 카드 입력 폼이 동일해지는 세상
    • 30년간의 반복 개발 끝에 "가장 좋은 하나"로 수렴하는 미래
    • 어떤 웹앱에서든 CTRL+클릭이 새 탭으로 열리는 세상

프론트엔드 개발자라면 한 번쯤 공감할 에세이. 네이티브 HTML 요소 대신 커스텀 컴포넌트를 만드는 관행이 사용자 경험을 어떻게 파편화하는지 돌아볼 계기가 됨.

댓글

댓글

댓글을 불러오는 중...

frontend

타입스크립트 7.0, Go 네이티브 포팅으로 빌드가 8~12배 빨라졌다

마이크로소프트가 타입스크립트 7.0을 출시하면서 기존 자바스크립트 기반 구현을 Go로 네이티브 포팅했다. 전체 빌드는 평균 8~12배 빨라졌고, VS코드 빌드는 125.7초에서 10.6초로 줄었으며, 슬랙은 CI 타입 검사 시간을 7.5분에서 1.25분으로 낮췄다.

frontend

타입스크립트 7 공개, 고 포팅으로 빌드가 최대 10배 이상 빨라짐

마이크로소프트가 고(Go)로 네이티브 포팅한 타입스크립트 7을 공개했다. 전체 빌드는 보통 8~12배 빨라지고, VS 코드 코드베이스에서는 125.7초가 10.6초로 줄었으며, 편집기 첫 오류 표시도 17.5초에서 1.3초 미만으로 내려갔다.

frontend

“98% 지원”이 생각보다 별로 안 넉넉한 이유

브라우저 기능 지원률 98%는 얼핏 높아 보이지만, 실제 서비스에서는 2%의 사용자를 깨진 화면 앞에 세우는 숫자일 수 있다는 글이다. 특히 일반 통계와 내 서비스 방문자 분포는 다를 수 있고, 실제 사례로 어떤 사이트는 최신 중첩 CSS 기능 지원 브라우저가 방문자의 약 70%뿐이었다.

frontend

메타, AI가 읽고 쓰는 디자인 시스템 ‘Astryx’ 오픈소스로 공개

메타가 내부 디자인 시스템 Astryx를 오픈소스로 공개했다. React와 StyleX 기반의 150개 이상 접근성 지원 컴포넌트, 디자인 토큰, 테마, 템플릿, CLI를 제공하며, 특히 AI 에이전트가 컴포넌트 구조를 이해하고 UI를 생성·수정할 수 있도록 MCP 서버까지 포함한 점이 핵심이다.

frontend

shadcn/ui, 기본 컴포넌트 라이브러리를 Radix에서 Base UI로 변경

shadcn/ui가 새 프로젝트의 기본 컴포넌트 라이브러리를 Radix가 아니라 Base UI로 바꿨어. Radix 지원은 계속되지만, Base UI가 안정화됐고 주간 다운로드 600만 이상, shadcn/create 신규 프로젝트 선택 비율 2대1이라는 이유로 기본값을 바꾼 거야. 동시에 채팅 UI용 MessageScroller와 관련 컴포넌트, headless 패키지인 @shadcn/react도 공개됐어.