본문으로 건너뛰기
피드

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

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

요즘 픽셀 폰트가 그냥 복고 감성이 아닌 이유

1990년대 기기 화면 느낌을 현대 폰트 시스템으로 재해석한 픽셀 폰트 몇 가지를 소개한 글이다. 핵심은 예쁜 복고풍 글자 모양만이 아니라, 실제 제품에서 쓸 수 있게 기준선, 자간, 메타데이터, 세로 메트릭까지 챙기는지가 중요하다는 점이다.

frontend

HTML의 `<dl>`이 생각보다 쓸모 많은 이유

이 글은 HTML의 description list, 즉 `<dl>`, `<dt>`, `<dd>`가 단순 용어 사전용 태그가 아니라 이름-값 쌍 UI를 표현하는 꽤 강력한 시맨틱 도구라고 설명한다. 숙소 편의시설, 요금 내역, 기술 용어 설명, 게임 능력치표처럼 흔한 패턴을 중첩 `<div>` 대신 의미 있는 HTML로 만들 수 있다는 얘기다.

frontend

HTML을 캔버스 안에 넣는 데모 모음이 등장함

구글 크롬 랩스 저장소에 HTML-in-Canvas 관련 데모와 프레임워크 지원 목록이 정리됐다. Duck Hunt 스타일 폼, 흔들리는 버튼, 셰이더 기반 페이지 전환, 천처럼 매달린 폼 같은 실험적 예제가 포함돼 있고 Three.js와 PlayCanvas 쪽 샘플도 연결돼 있다.

frontend

싱글 페이지 앱이 웹을 너무 비싸게 만들었다는 불평

이 글은 싱글 페이지 앱(SPA)이 사용자 경험을 좋게 만든다는 명분 아래 웹의 초기 로딩 비용, 도구 복잡도, 개발 진입 장벽을 키웠다고 비판한다. 페이스북 로그인 페이지의 CSS 3.8MB, 레딧 몇 개 클릭 후 33MB 다운로드 같은 숫자를 들며, 지금의 프론트엔드 생태계가 사람보다 대기업의 요구에 맞춰져 있다고 주장한다.

frontend

네이티브로 끝까지 가려다 텍스트에서 막힌 macOS 개발자의 고백

20년 가까이 macOS와 iOS 네이티브 개발을 해온 작성자가 SwiftUI, AppKit, TextKit 2로 마크다운 채팅 UI를 만들다 결국 WebKit과 Electron 쪽이 훨씬 낫다는 결론에 도달한 글이다. 문제는 성능 하나가 아니라 선택, 스트리밍, 스크롤, 접근성, 텍스트 상호작용 같은 ‘사용자가 당연히 기대하는 기본기’가 네이티브 조합에서 계속 깨진다는 점이다.