오늘은 WWDC25 - 디자인 기초 구축하기 영상을 보고 뛰어난 앱을 제작하기 위한 뛰어난 디자인은 무엇인지 살펴볼 것이다.
개발자가 디자인을 알아야 하는 이유?
개인적인 생각으로
개발자가 직접 디자인을 하는 경우는 잘 없겠지만, 그것을 알아야 하는 이유라면 '판단' 때문이 아닐까?
1인 개발자라면 디자인을 AI에게 맡기더라도, 어떤 것이 좋은 디자인인지 나쁜 디자인인지 '판단'하여 계속해서 프롬포트를 수정해나갈 수 있을것이다. 그리고 이는 사용자의 앱 이탈을 막는데 도움을 줄 것이다.
현업 개발자라면 디자이너가 설계한 UI/UX를 보고 이것이 앱의 목적과 가치에 부합하는지 '판단'하고 사용자에게 더 나은 경험을 제공하기 위해 함께 논할 수 있을 것이다. 그리고 이는 협업의 질을 높이고 서비스의 완성도를 높일 수 있을 것이다.
그렇기에 개발자라도 디자인을 안다면 도움이 될것이다.
그래서 WWDC 영상에서는 디자이너와 개발자가 뛰어난 앱을 제작하기 위해 앱의 4가지 핵심 영역(구조, 탐색, 콘텐츠 구성, 시각적 디자인)에 초점을 맞추어 설명한다.
이러한 요소를 다루면 앱의 목적, 가치, 상호작용 패턴에 대해 더 명확히 설명할 수 있을 것이다.
Structure(구조)
정보의 구성, 무슨 앱인지 그 기능을 정의하는 것
앱을 보았을 때 명확함이 느껴져야한다. 그러면 매력적인 경험이 되고 앱 이용이 수월해질 것이다. 이를 위해 지켜야하는 질문들은
-> 현재 위치가 어디인지 어떻게 왔는지 명확해야한다.
-> 추측할 필요 없이 동작이 명확하고 이해하기 쉬워야한다.
-> 다음 단계가 명확하면 흐름이 유지되고 주저하거나 추측하는 일도 없다.
이러한 질문에 쉽게 답할 수 있다면 매력적이고 기초가 탄탄한 앱이다.

언뜻 보기에는 잘 작동할 것이라고 넘겨짓게 된다. 그러나 자세히 보면
그리고 이것들이 바로 명확한 정보 구조화의 목표다. ⬇️⬇️⬇️
사용자가 필요 시 원하는 것을 쉽게 찾도록 하는 과정이다.
-> 기능, 작업 흐름, 있으면 좋은 요소 등 다 적기 (이때, 아무것도 없애려고 하지 않고 모든 기능을 다 적는다)
-> 언제 어디서 앱을 사용할 것인가? 앱이 사용자의 일상에 어떻게 들어맞는가? 사용자에게 실제로 도움이 되고 방해가 되는 것은 무엇인가? 이러한 질문의 답을 목록에 기록하기
-> 필요하지 않는 기능은 없애고, 불명확한 이름을 바꾸고, 자연스럽게 모을 수 있는 것들은 그룹화하기
Navigation(탐색)
사용자가 주도적으로 앱을 이용하도록 명확히 디자인하는 법
탐색은 사용자가 앱에서 이동하는 방식이다.
그저 탭하는 동작 그 이상의 의미로 사용자가 방향성과 명확성을 느껴야 한다.
탭을 단순히 가져가야한다. 많을 수록 사용자가 복잡해지고 힘들어함

before, after
Where am I? (현재 위치가 어딘지)
-> 젤 위에 Records 타이틀과 젤 밑에 Tabbar를 통해
What can I do? (무엇을 할 수 있는지)
-> Toolbar의 도구들을 통해
Where can I go? (어디로 갈 수 있는지)
-> Tabbar를 통해
사용자가 처음부터 명확한 경험을 할 수 있게 준비된 것이다.
Content(콘텐츠 구성)
화면의 실제 항목들
앱의 콘텐츠는 가장 중요한 것이나 먼저 보기를 원하는 것으로 안내하도록 배치해야 한다.
현재 콘텐츠는 Groups, Records로 나뉘어져서 지저분한 느낌을 주고 있다. 두 섹션을 나눌 것이다.
Record Groups 부분에 2가지 콘텐츠만 보여주고 나머지는 더보기를 제공해주고 있다. 이 개념을 Progressive disclosure(단계적 공개)라고 한다.
사용자가 시작하는데 필요한 정도의 내용만 먼저 보여주고 이후에는 상호작용을 통해 추가 정보를 확인하도록 하는 방식이다.
추가 정보가 열릴 때 콘텐츠가 동일하게 정렬되어있으면 좋다. 이전 화면과 연결되어 있으면서 확장되는 느낌이 들도록.
탐색에서 설명했듯이 모든 화면은 방향을 제시해야 하는데 Toolbar를 보면 뒤로가기 버튼과 도구가 있어 어디서 왔는지, 무엇을 할 수 있는지, 어디로 가야하는지 알기 쉽다.
그래서 격자 레이아웃에서 리스트로 변환 해주면, 구조화된 정보 표시에 유연하고 빠르게 훑어볼 수 있다는 점에서 훨씬 효과적이다. 또한 이미지보다 수직 공간을 덜 차지하므로 더 많은 항목을 표시할 수 있다.
All Records에서는 모든 것을 미리 보여줘 사용자가 둘러보는 것을 목표로한다. 그러나 선택의 폭이 넓어지면 사용자가 콘텐츠를 탐색하는 대신 부담감을 느껴 앱을 중단할까 걱정되기도 한다. 그래서 대량 콘텐츠 표시를 구상하기 전에 콘텐츠 정리가 필요하다.
이러한 그룹화로 선택 과부하를 줄이고 선제적 앱을 만들 수 있다.
2. Progress: 진행 상황 기준으로는 전집이나 음반 목록을 표시한다.
3. Pattern: 패턴 기준으로는 스타일이나 장르로 구분한다.
4. 시각적 디자인
알맞은 스타일링으로 앱의 개성과 분위기를 살리고 사용성을 높이는 법
시각 디자인은 앱의 개성 전달과 사용자의 감정 형성을 한다.
계층, 타이포그래피, 이미지, 색상을 세심하게 사용하고 기능을 지원하는 역할을 한다. 앱의 시각 디자인을 발전시키려면 효과적인 부분과 개선이 필요한 부분을 파악해야한다. 활자, 색상 및 이미지가 조화를 이루는 방식에 집중해야한다.
앱을 슬쩍보면 격자 부분 콘텐츠가 제일 눈에 띄는데, 시각적으로 무겁고 다채롭기 때문이다. 콘텐츠의 절반이 빠졌고 공간감도 떨어진다. 여기서 부족한건 '시각적 계층'이다. 관건은 화면에서 시선을 안내하여 중요도 순으로 각종 디자인 요소를 인지하도록 하는 것이다.
시각 디자인을 개선하기 위해 이 추천 카드를 시각 앵커로 바꿔준다. 가장 중요한 것의 크기를 키우거나 대비를 높여주는 것이다.
이렇게 하면 자연스럽게 먼저 시선이 간다. 그리고 시각적으로 제 역할을 다한다. 하지만 텍스트가 길어지거나 언어가 변경되거나 사용자가 큰 텍스트를 사용한다면 지속되기 어려울 것이다. 활자 측면에서 더 유연하게 대응해야 한다.
이럴 때 유용한 것이 시스템 텍스트 스타일이다.
이를 통해 다양한 화면 조건에서도 명확한 계층과 강력한 가독성을 쉽게 구현할 수 있다. 제목부터 자막까지 모든 것을 일관되게 스타일링 할 수 있다.
앨범 커버를 배경에 놓아주면 텍스트에 지속적인 공간이 확보되며, 세 가지 텍스트 스타일로 크기 및 대비 변화를 주어 시선을 유도할 수 있다. 텍스트 스타일은 Dynamic Type도 지원하여 사용자가 자신에게 편안한 텍스트 크기를 선택할 수 있다.
텍스트가 이미지 위에 겹쳐지면 가독성이 문제가 될 수 있으므로 이러한 경우에는 명확성을 우선시해야 한다.
간단한 해결법 중 하나는 텍스트 뒤에 그라데이션, 블러 등 은은한 배경을 추가하는 것이다.
이미지와 색상이 앱의 개성을 전달하는데 도움이 된다.
목록 부분을 보면 너무 단순화한 나머지 구성요소 사이에서 길을 잃은 감이 있다.
목록을 쉽게 볼 수 있도록 각 그룹에 이미지를 넣는다. 하지만 일부 이미지가 너무 튄다. 모두 색상과 스타일이 크게 다르다. 정말 필요한 것은 일관된 시각 스타일이다.
Use a cohesive style (일관된 스타일 적용)
색상 팔레트를 선택하고 몇 가지 간단한 규칙을 정한다. 네 가지 색상을 선택하고 복고풍 모양을 조합한다. 제목이 표시되는 그룹의 경우 더 굵고 넓은 서체를 사용한다.
그 결과 앱의 개성이 돋보이고 앱을 확장할 때도 일관성 유지가 가능할 거 같다.
추가적으로

이미 색상이 있지만 팔레트에서 고른 것이 아니라 label이나 secondarySystemBackground같은 이름이다. 이것을 Semantic colors(의미 색상)이라 하며 동적인 색상이다. 이러한 속성은 라이트 및 다크 모드에 따라 자동으로 변경된다.
마무리
디자인은 100% 라는 것이 없으며 정해진 답이 없다. 오늘 디자인 기초 사항을 살펴 보았는데 '디자인'이라는 단어가 재해석된 느낌이다.
나는 원래 '디자인'이라는 말을 들으면 무언가를 예쁘게 꾸미거나, 시각적으로 뛰어나게 만드는 등 '미술'에 가깝다고 생각해왔다.
그러나 이 영상을 정리하며 디자인은 사용자가 목적에 도달하기 위해 편안함을 '설계'하는 것이라고 개인적으로 재해석 해볼 수 있었다.
더 나은 개발자가 되기 위해서는 개발뿐만 아니라 앱을 디자인 하는 과정에서 어떤 것이 사용자를 위한 설계인지 판단 할 수 있어야 할 것이고, 이를 위해 디자인에 대해 공부할 필요가 있을 것이다.
🍎 참고