일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 서브 타이핑
- 일관성 있는 협력
- 의존성
- 유여난 설계
- 설계 재사용
- 런타임 의존성
- iSP
- Swift#flatMap#map#Monad#함수형 프로그래밍#Optional
- Apple # HIG #iOS15 #iOS14 #Human #Interface #Guidelines #Apple developer # Apple human interface guidelines
- 믹스인
- 명령-쿼리 분리
- '기존 설계 재사용
- 책임주도설계
- 컴파일 타임 의존성
- OCP
- 오브젝트
- 상속
- 다형성
- 객체 생성 사용 분리
- OOP
- 상속 조합 폭발적 증가
- 메서드를 통한 해결
- 알고리즘
- 하향식 접근
- 추상화
- 행동 호환성
- 유연한 설계
- 객체지향
- 합성
- dip
- Today
- Total
도니의 iOS 프로그래밍 세상
Haptics 본문
기술적으로 아이폰에는 Taptic 엔진이 존재해서, 이것이 햅틱 경험을 증강시켜주는 역할을 한다.
햅틱은 화면상에 인터페이스와 상호작용하는 경험을 강화시키기 위해서 사람의 촉감과 관련된 감각을 유발한다. 예를 들어, 애플 페이 거래가 확실시되는 것을 강조하기 위해서 시각적이고 청강적인 피드백과 더불어 시스템에서 햅틱을 사용한다.
햅틱은 피커를 통해서 스크롤 하거나 스위치를 온/오프 하는 것과 같은 터치 제스처나 상호작용을 향상시키는 것도 가능합니다.
지원하는 아이폰 모델일 때, 몇 가지 방식으로 앱 내부에 햅틱을 넣을 수 있다.
1). 표준 UI 요소를 사용해라.(스위치나, 슬라이더, 피커 등 애플이 디자인한 햅틱이 디폴트로 제공된다)
2). 적절하다면, 피드백 생성기를 사용하여 알람, 임팩트, 선택의 범주들에서 미리 선언된 햅틱 패턴 중 하나를 재생합니다.
3). 네가 더욱 컨트롤하길 원하는 상황에서, 스스로 햅틱 패턴을 만들어라.
위와 관련된 예시는 메시지 앱이다. 앱 내부에서 "새해 복 많이 받으세요"라는
문자를 보내면 폭죽이 터지면서 햅틱 피드백이 같이 오는 것에서 사용자는 햅틱을 느낄 수 있다.
시스템 햅틱을 쓰면, iOS가 피드백에 대한 강도와 행동을 조절한다. 예를 들어 스위치 같은 경우 감지하기 힘든 탭을 준다. 사람들은 시스템에 정의된 햅틱을 인지하기 때문에, 햅틱이 문서화된 의미를 따라서 사용하는 것이 중요하다.
시스템에 정의된 햅틱을 쓰거나, 자체 커스텀 화해된 것을 쓰든 간에, 목표에 방해되지 않는 선에서 유저의 경험을 풍성하게 하도록 하는 것이 강조된다.
햅틱을 디자인하는 것
사람들의 촉감을 유발하는 인터페이스를 설계하는 것은 물리적인 세계를 앱에다가 가져옴으로써 사용자에게 친숙함을 선사할 수 있다. 앱 내부에서 햅틱을 디자인을 어떠한 방식으로 만들어내든 간에, 다음 가이드라인은 사람들에게 강력하고 조화로운 경험을 선사할 수 있도록 도움을 준다.
1. 햅틱과 그것의 트리거 간에 명백한 인과관계가 있어야 한다.
완벽하게, 사람들은 앱 내부에서 왜 햅틱 패턴이 재생되는지 항상 알고 있어야 한다. 만약 햅틱이 인과관계를 강화시키지 못한다면, 혼란을 야기하고 불필요하게 보일 수 있다.
2. 앱에 대해서 다른 피드백을 보충하는 방식으로 햅틱을 사용해라.
앱에서 시각적이고, 음악적이고, 촉각이 있는 피드백들이 조화를 이룰 때, 사용자들의 경험이 더욱 일관성 있고 자연스럽게 보일 수 있다.
3. 햅틱을 신중하게 사용해라.
예를 들어, 오래 지속되는 가치를 제공할 때 사용해야 한다. 앱에 참신함을 더하기 위해서 사용하는 것은 사용자들에게 앱이 얄팍한 술책을 쓰는 것처럼 보일 수 있다. 또한 햅틱을 소수의 중대하고 결과적인 상호작용에 사용해야 한다. 대다수의 사소한 상호작용에 햅틱을 사용하는 것은 사용자들에게 압박감을 줄 수 있다.
4. 햅틱을 한결같이 사용해야 한다.
햅틱 피드백에 관한 일관성이 햅틱 패턴과 어떤 경험 사이에 연관성을 사람들이 개발하는 데 도움이 될 것이다. 특정 햅틱 패턴이 미션에 실패했을 때 제공된다면, 네거티브한 결과일 때의 패턴과 연관 지어서 사람들에게 학습이 될 것이다. 만약 같은 패턴을 긍정적인 결과에서 사용한다면 사람들은 혼란스러워할 것이다.
5. 햅틱을 남발해서는 안 된다.
햅틱이 너무 자주 나오게 된다면 사용자가 귀찮아할 수 있다. 일반적으로 반복적이거나 연장된 햅틱 피드백을 주어선 안된다. 최고의 햅틱 피드백 경험은 사람들이 인지하지 못하다가, 턴 오프 되면 그리워하도록 해야 하는 것이다.
6. 햅틱을 확실하게 테스트해봐야 한다.
가능한 많은 사람들에게 햅틱 테스트를 받는 것이 좋다
7. 햅틱을 옵셔널로 주어야 한다.
사용자가 원한다면, 햅틱을 끌 수 있도록 해야 한다.
8. 게임에서, 사용자의 경험을 향상시키기 위해서 커스텀 된 햅틱을 사용하는 것을 고려해봐야 한다.
플레이어가 아이템이나 컨트롤과 상호작용할 때 햅틱을 플레이하는 것뿐만 아니라, 개발자는 게임 내의 이벤트와도 소통하는 것에 도움을 줄 수 있도록 햅틱을 플레이하고 싶어 할 것이다.
예를 들자면, 햅틱은 보조적인 경험을 향상시킬 수 있다.(충돌이나, 히트, 혹은 미묘한 경험들 - 발자국이나 희미한 공포들)
9. 햅틱을 플레이하는 것이 다른 사용자 경험에 영향을 줄 수 있다는 것을 인지하고 있어야 한다.
디자인적으로, 햅틱은 사람이 느낄 수 있을만한 물리적인 진동을 발생시킨다. 그렇기 때문에 햅틱이 카메라, 자이로스코프, 마이크와 관련하여 사용자의 경험을 방해하지 않도록 해야 한다. (강한 진동의 세기로 인해서, 녹음하는 상황에서 진동이 입력으로 들어가는 것과 같은 사고에 주의를 해야 한다는 것이다.)
커스텀 햅틱 패턴 만들기
커스텀 햅틱 패턴은 새총을 놓는 느낌이나, 럼블 스트립(홈이 파여있는 고속도로- 미세하게 덜컹거리는 느낌)과 같은 것들을 나타낼 수 있다. 커스텀 햅틱 패턴은 유저 인풋이나 맥락에 따라서 굉장히 다양하게 존재한다. 예를 들자면, 게임 캐릭터가 나무에서 뛰어내릴 때의 충격이 제자리에서 뛰었을 때의 충격이 사용자가 느끼기에는 더욱 크게 다가온다.
iOS13에는 코어 햅틱이라는 프레임워크가 존재하는데, 이는 커스텀 햅틱 패턴을 만들기에 필요한 두 개의 기본적인 구성요소를 제공한다.
- Transient event: 임시 이벤트는 탭이나 맥박같이 짧고 간결한 경험을 의미하고 이러한 예로는 홈버튼 스크린에서 손전등을 탭 하는 상황이다.
- Continuous event: 진동이 계속되는 메시지 앱에서 레이저 이펙트를 하는 경험들이다.
어떤 구성요소를 선택하든 간에, sharpness나 intensity를 조절할 수 있다.
위 문서를 읽고 생긴 궁금증
1. Ipad에 haptics engine을 탑재하지 않는 이유는 무엇인가?
나의 생각은 아이패드와 같은 태블릿에서 게임을 즐기는 사람들이 상대적으로 더욱더 높은 수준의 환경을 갖추기를 원한다고 생각한다. 그렇기 때문에 그것에 일종인 햅틱 엔진 또한 태블릿에 탑재될 필요가 있지 않을까 하는 궁금증이 생기면서 기술적인 제약으로 인하여 하지 않는 것인지, 절감하는 비용에 비해 탑재했을 때의 실효성이 크지 않다고 판단한 건지 찾아볼 필요가 있다.
출처
Apple Human Interface Guidelines(https://developer.apple.com/design/human-interface-guidelines/)
'HIG(iOS14)' 카테고리의 다른 글
AR(Augmented Reality) (0) | 2022.02.15 |
---|---|
Undo and Redo (0) | 2022.02.15 |
File Handling (0) | 2022.02.15 |
Feedback (0) | 2022.02.11 |
gestures (0) | 2022.02.11 |