• 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