codesquad-members-2024 / swift-photoframe

iOS 첫번째 미션
0 stars 1 forks source link

[스터디] HIG #1

Closed godrm closed 6 months ago

godrm commented 6 months ago

Human Interface Guideline에 대해 조사하고 스터디한다 스터디한 내용을 정리하고 댓글로 남긴다

joho2022 commented 6 months ago

Human Interface Guidelines

사용자 인터페이스를 설계할 때 일관성, 직관성, 사용성을 보장하기 위한 권장 사항을 담고 있는 가이드라인

  1.  더 좋은 사용성을 사용자에게 선사하기 위한 여러 정보제공

→ 애플은 HIG를 제공함으로써 앱 개발자들이 보다 좋은 앱을 만들 수 있도록 방향을 제시

  1. iOS환경과 통일성을 가질 수 있도록 정보를 제공

→ iOS 환경에 맞게 앱의 디자인 요소를 맞추게 하고, 다른 iOS 앱들과 통일성 있고, 이미 사용자가 익숙해져 있는 사용자 경험을 할 수 있도록 개발해야 한다.

통일성

iOS 사용자는 기존에 경험한 제스처를 취하면 그에 맞는 이벤트가 발생할 것을 경험하였고, 앱을 사용할 때 그러한 기대를 가지고 있다.

그래서 iOS 개발자는 지금까지 iOS사용자가 휴대폰을 사용하면서 경험한 전반적인 기대를 충족시켜줘야 한다.

그리고 여러 앱에서 비슷하게 생긴 아이콘을 사용하고, 사용자는 그러한 아이콘을 새로운 앱에서 보고 클릭하면 기대하는 행동이 있을테지만, 기대와 다른 행동을 하면 사용자에게 혼란을 야기한다.

HIG는 커스텀View보다 UIkit이나 SwiftUI에서 제공하는 기본 View를 활용하는 것을 추천하고,

아이콘의 경우에는 SF Symbols에서 가져와서 사용하는 것을 추천한다.

사진앱

사용자는 컨텐츠에 집중할 수 있도록 강조해줘야 한다.

HIG는 사진을 더 잘 볼 수 있도록 네비게이션 바, 상태 바, 툴바를 숨기는 것을 제안한다.

그러나 영구적으로 숨기는 것이 아니라 숨겨진 요소들이 다시 쉽게 나타날 수 있도록 해줘야 한다.

ex) 앱을 사용하고 있는 과정중에 사용자가 시간을 확인하거나 Wi-Fi에 연결되어 있는지 확인하기 위한 상황처럼

사용자는 컨텐츠에 집중할 수 있도록 강조해줘야 한다.

HIG는 사진을 더 잘 볼 수 있도록 네비게이션 바, 상태 바, 툴바를 숨기는 것을 제안한다.

그러나 영구적으로 숨기는 것이 아니라 숨겨진 요소들이 다시 쉽게 나타날 수 있도록 해줘야 한다.

ex) 앱을 사용하고 있는 과정중에 사용자가 시간을 확인하거나 Wi-Fi에 연결되어 있는지 확인하기 위한 상황처럼

  1. 명확성: 콘텐츠에 집중할 수 있도록 UI는 간결해야 하며, 최상의 품질로 표시한다.
  2. 조작 용이성: 사용자가 사진을 쉽게 탐색하고, 선택하며, 조작할 수 있도록 인터페이스를 설계를 하고 여러 제스처를 지원한다. (가능하면 표준 행 또는 그리드 레이아웃을 사용) 호버효과를 유지하거나 콘텐츠가 겹치는 것을 방지하기 위해서 이미지 주위에 적절한 패딩을 사용한다.
  3. 일관성(통일성): 애플의 플랫폼 전반에서 사용되는 UI 요소와 동작을 사용하여 사용자에게 익숙한 경험을 제공한다.
  4. 접근성: 모든 사용자가 앱을 사용할 수 있도록 접근성을 고려한다. 단순히 장애인이 이용할 수 있도록 하는 것이 아니라, (악력이 약하거나 손을 사용한 조작이 제한된 상황처럼) 능력이나 상황에 관계없이 모든 사람이 정보를 이용할 수 있도록 한다.
  5. 보안 및 개인 정보 보호: 사용자의 사진 매우 개인적인 데이터이다. 앱은 이러한 정보를 안전하게 처리하고 사용자의 동의 없이 공유하지 않도록 한다.
    • iOS 14.5+ 부터 IDFA(IDentifier for Advertising)에 접근하려면 App Tracking Transparency 접근 요청이 필요하다.
    • 앱이 데이터를 수집하는 방법과 이유를 모호하지 않게 설명 - “사용자 경험을 개선하고 맞춤형 기능을 제공하기 위해 필요한 최소한의 데이터만을 수집합니다. “

호버효과 : 해당 요소가 눈에 띄게 변화하여 사용자의 상호 작용 가능성을 직관적으로 이해할 수 있도록 하는 것을 의미

사용자가 익숙하며 직관적으로 알고 있는 표준 탐색 컴포넌트를 사용할 것: 콘텐츠 유형이 같은 여러 페이지가 있는 경우 PageControl 사용