- Human Interface
- 다른 곳에서는 User Interface라고 하는 것
- 널리 쓰이는 용어느 아니지만 애플에서는 오랜 역사를 가진다.
- 1978년 macintosh human Interface guidelines
- 왜 User가 아니고 Human인가?
- User라는 단어가 인터페이스와의 관계에서의 사람을 좁게 정의하기 때문이다.
- Human이라는 단어 안에는 불완전성과 부족함, 그러면서도 숭고한 가치들(친절, 동정, 관대함, 선함 등)을 내포한다.
- interface를 디자인 하는 것은 인간을 대하는 것이고, 이 앱을 사용하는 사람들의 삶에 긍정적인 영향을 미치는 것이다.
- 아름답거나 잘 구성된 앱, 단순한 앱 혹은 몰입감 있는 앱을 만드는 것 자체가 목적은 아니다.
- 여기서 유일하게 중요한 건 우리가 디자인한 앱을 쓰는 사람들의 감정적이고 실용적인 필요하는 어떻게 잘 충족시키는가뿐이다.
- 안전함을 느껴야 한다.(feel safe, predictability)
- 쉽게 이해할 수 있어야 한다.(Understand)
- 목적을 달성할 수 있어야 한다.(achieve personal&professional goals)
- 미적인 경험을 해야한다(experience beauty)
- 그래서 앱이 제공해야 하는 것은 무엇인가? 위 표현을 다듬으면
- 예측 가능성과 안정성(Predictability and stability)
- 명확하고 유용한 정보 제공(Clear and helpful information)
- 원활하고 쉬운 워크플로우(Steamlined and simple workflows)
- 흥미로운 경험(a delightful experience)
- 이것들이 고려되어 디자인 된 앱을 사용할 때, 사람들이 인간성(Humanity)을 느끼게 된다
- 어떻게 이런 훌륭한 디자인을 할 수 있는가?
- 테크닉과 프로세스를 주로 이야기 하는데, 중요하긴 하지만 이게 훌륭한 디자인으로 이끌어 주지는 않는다.
- 훌륭한 디자인은 디자인 자체에 대한 좀 더 근본적이고 인간에 대한 이해가 기반이 된다.
- Design principles
- 우리가 어떻게 주변 세계를 인식하고, 정보를 받아들이고 결정을 내리고 커뮤니케이션하는지에 대한 핵심 진리를 표현한 것
- 이는 범용적이고 불변한 것이며, 모든 종류의 디자인에 적용된다.
- 어떻게가 아니라 왜에 대해서 이야기 한다.(Why, not How)
- 너무 기초적이거나 명확한 것일수도 있지만 원래 가장 단순한 게 가장 심오한 법이다.
- Wayfinding
- Wayfinding: 복잡한 환경을 빠르게 탐색할 수 있게 만드는 시스템
- 도로 및 건물의 표지판들을 생각하면 된다.
- 이게 있어야 사람들이 방향을 정하고, 올바르게 가고 있다라고 안심할 수 있다.
- 좋은 길찾기 시스템
- 사람들이 방문할 수 있는 곳들에 대한 포괄적이고 쉽게 이해할 수 있는 목록을 제공해야 한다.
- 처음에는 포괄적이다가, 점점 깊이 들어갈 수록 해당 맥락에 대해서 좀 더 특화된 정보들이 제공된다.
- 현재 위치를 명확하게 강조함으로써 스스로 방향을 잡을 수 있게 만들어줘야 한다.
- 이 때 주변 다른 장소들과의 상대적인 위치를 알려줘야 한다.
- 명확한 탈출 경로도 제시한다.
- 언제든지 좀 더 익숙한 곳으로 돌아가서 다시 시작할 수 있다.
- 길찾기 시스템이 답해주는 것
- 지금 어디 있는가?
- 어디로 갈 수 있는가?
- 거기로 가면 뭘 얻을 수 있는가?
- 근처에는 뭐가 있지?
- 어떻게 나갈 수 있지?
- 위 질문들에 대한 답변이 하나라도 안되면, 길을 잃은 것이다.
- 앱의 인터페이스가 하나의 큰 길찾기 시스템이다.
- 네비게이션 바, 컨텐츠 영역, 탭바 등이 모두 앱에서의 길잡이 역할을 한다.
- 네비게이션 바 제목과 선택된 탭 정보는 내가 지금 어디 있는지를 알려준다.
- 탭바는 어디로 갈 수 있는지와 근처에 뭐가 있는지에 대한 답을 준다.
- 간단한 형태로 렌더링 된 탭바 아이콘과 쉽게 쓰여진 라벨이 거기 가면 뭘 찾을 수 있는지 알려준다.
- 네비게이션 백버튼은 탈출 경로를 제공해주고, 지금 앱에 어떤 영역에 있는지를 알려준다.
- 앱의 모든 화면은 위 질문에 답할 수 있어야 한다.
- Feedback
- 피드백의 종류
- 상태 피드백: 현재 어떤 상태인가를 알 수 있어야 한다.
- 메일 앱에서 읽은 메일과 중요 메일 표시
- 캘린더에서 스케쥴에서의 참가자 목록과 참가 가능 여부
- 카메라 앱에서 녹화중인지를 알 수 있는 빨간 점과 타임코드
- 완료 피드백: 어떤 일이 성공 혹은 실패로 끝났음을 알려줘야 한다.
- 특히 자동으로 해주는 것들에 대해서 피드백을 해줘야만 다른 중요한 것들에 집중할 수 있다.
- 예시
- 아이폰 잠금 소리
- 메일 앱에서 unread 표시 하거나 메일 삭제시 애니메이션
- 비록 눈에 안띄고 소소하지만 무시하기 어렵고 디바이스가 제대로 동작하고 있음을 확신할 수 있게 만들어준다.
- 애플 페이 거래 성공 알림
- 앱에서 일어나는 모든 행동은 어떠한 형태로든 완료 피드백을 줘서 성공적으로 수행되었음을 알려줘야 한다.
- 경고 피드백: 잠재적인 문제가 있을 때 이를 알려줘야 한다.
- 오류 피드백: 문제가 생겼을 때 알려줘야 한다.
- 에러는 사용자에게 좌절감을 주기 때문에 처음부터 피할 수 있도록 하는게 좋다.
- 이를 위해서 경고 및 완료 피드백을 사용할 수 있다.
- 잘못된 입력이 들어왔을 때 이를 미리 알려주거나 수정해서 알려주거나.
- 피드백이 답해주는 것
- 무엇을 할 수 있는가?
- 무슨 일이 일어났는가?
- 무슨 일이 일어나고있는가?
- 무슨 일이 일어날 것인가?
- 정적인 페이지로 디자인을 시작하기가 쉬운데, 이러면 시간에 따른 인터렉티브한 경험에 대한 고려를 놓칠 수있다.
- 좋은 피드백은 디자이너와의 대화처럼 이뤄지는 것이다.
- 간단하지만 효과적으로 이를 수행할 수 있는 건 이전에 앱을 안써본 사람에게 물어본 다음에 간단하게 앱의 동작과 주목할 부분을 설명하는 것이다.
- 보통 말로하는 것이 디자인이 의도한 것보다 더 명확한 경우가 많았다.
- visibility
- 피드백과 깊은 연관이 있다.
- 중요한 정보는 가능한 한 고수준에 위치하도록 하라
- 햄버거 메뉴는 딱 봤을 때 앱에서 지원하는 기능을 파악할 수 없기 때문에 덜 가시적이다.
- 그렇다고 너무 조밀하게 다 보여주면 인지부하도 커지고 결정을 내리기가 어려워지므로(특히 앱을 처음 쓰는 유저) 균형을 맞춰야 한다.
- consistency
- Mental Model
- Proximity
- Grouping
- Mapping
- Affordance
- progressive disclosure
- Symmetry
- Wrap up