- 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
- 비슷한 기능은 비슷한 형태로 디자인 되어야 한다.
- 명확하지만 의식적으로 노력하지 않으면 달성하기 어렵고, 올바른 방향으로 일관적이어야 한다.
- 사용자가 앱을 쓸 때 기대하는 것은 다른 앱을 쓰는 경험에서 나온다.
- 물론 이걸 직접 알 수는 없다. 비슷한 앱이 있을 순 있지만 아닌 경우도 있다.
- 하지만 모두 같은 플랫폼에서 돌아가기 때문에 플랫폼에서의 컨벤션에 주의를 기울여야 한다.
- 아이콘, 용어, 네비게이션 스킴, 전형적인 작업에 대한 공통 워크플로우 등
- 플랫폼 일관성보다는 사용자 일관성이 중요하다.
- ex. 공유 아이콘. iOS에서의 아이콘(sharrow)이 웹에서 쓰는 아이콘과 다른데, 플랫폼 통일하겠다고 웹의 아이콘을 가져다 쓰는 건 좋지 않다.
- 약간 다르게 해가면서 실험하는 건 혁신을 위해서 당연히 필요한 거지만 너무 간단한 것들(아이콘, 라벨 등)은 그렇게 해야할 강력한 이유가 없다면 오히려 사용자 혼란을 초래할 수 있다.
- internal consistency
- 앱 전체적으로 비슷한 룩앤필을 공유해야한다.
- ex. 앱이 사용하는 폰트 페이스, 크기, 색깔 등이 너무 자유분방하면 안된다.
- Mental Model
- 어떤 시스템이 동작하는 방식에 대한 간략화된 이해
- 상호작용이 일어나는 모든 시스템은 그에 대한 멘탈 모델이 존재한다.
- 시스템 전체 동작에 대한 것을 담고 있지는 않지만 시스템을 사용하면 할 수록 점점 정교해진다.
- 개인적인 경험을 통해서 발달하기 때문에 사람마다 멘탈모델이 다르다.
- 멘탈 모델은 또 두 부분으로 나눌 수 있다.
- system model: 시스템의 실제 동작과 제약에 대한 이해
- interaction model: 이 시스템과 어떻게 상호작용하는지에 대한 이해
- 시스템이 멘탈 모델과 부합하면 크게 의식하지 않고도 기대를 충족시킬 수 있고, 이를 직관적이라고 한다.
- 멘탈 모델과 어긋나는 디자인을 하면 사람들은 이를 어려워한다.
- 특히 기존 모델과 유사하면서도 다르게 동작하면 더 혼란스럽다. 이는 특히 오랫동안 뿌리내린 멘탈 모델일 경우 더 그렇다.
- 이를 보완하기 위해서 라벨을 붙이거나 약간의 변화를 줄 순 있지만 일시적인 해결책일 뿐이다.
- 앱에서 멘탈 모델을 바꾸려는 시도를 하는 것은 리스크가 있다.
- 앱의 사용자가 늘어나고 사용자들이 친숙해질 수록 더욱 그렇다.
- 오랫동한 존재해온 제품을 바꾸는 것은 그 필요성과 유용성에 상관없이 다시 적응해야 한다.
- 앱을 완전히 바꾸기 위해서는 이렇게 바꾸었을 때 현재 앱을 쓰고 있는 사람들이 명확한 이득을 얻는다는 것에 100% 동의해야 한다.
- 단순히 바꾸고 싶어서 바꾸는 건 안된다.
- 신중해야 하고, 테스트를 통해서 이 변경이 객관적으로 더 나은 방법이라는 것을 증명해야 한다.
- Proximity
- 컨트롤과 그로 인해 영향을 받는 대상은 가까이에 있어야 한다.