- Total
목록오뚝이 개발자/human interface (11)
꿈꾸는리버리
3D Touch 정리 지원하는 기기에서, 사용자들은 터치스크린에 다양한 수준의 압력을 가함으로 추가 기능에 접근할 수 있다. 예전 홈버튼이 있었던 아이폰에서 버튼을 꾹 누르면 한번 더 깊게 버튼이 눌러지는 느낌을 받을 수 있는데, 이렇게 "압력"으로 기능을 수행하게 하는 게 3D Touch이다. 그래서 사실은 3D Touch가 long press랑은 다른 개념인데, 요즘은 3D touch와 long press 기능이 비슷해 진 것 같다. 앱은 아이템 및 사용자가 아이템에 영향을 주기 위해서 사용하는 동작을 보여주기 위해서 context menu (또는 Peek과 Pop을 지원하는)를 보여주어 반응할 수 있다. iOS 13 및 그 이상에서 실행되는 기기에서 사용자들은 3D 터치를 지원하는 기기인지 아닌지에..
➯ Black 컬러는 공식 문서에 적혀있는 것을 해석해서 적은 것이고 Gray 컬러는 저의 개인적인 생각을 추가로 작성한 것입니다 :) 보라색은 잘 모르겠거나 이야기 나눠보고 싶은 point들 입니다 1) iOS Design Theme 앱 스토어 상단에 있는 앱을 만들기 위해서는 앱의 품질과 기능에 대한 기대를 충족시켜야 한다. iOS에는 다른 플랫폼과 구별되는 세 가지 theme 이 있다. theme : 대 주제 💡 Clarity text는 모든 크기에서 쉽게 읽혀야 한다. -> font 13 이렇게 하는 것보다 .title 처럼 coding을 해서 사용자가 시스템에서 폰트 크기를 바꿨을때 같이 변경이 되어야 한다..? icon은 명확하게 표현되고 이해하기 쉬워야 한다. -> 프로필 "추가"를 나타내는..
Settings 몇 app은 유저에게 setup이나 설정을 요구하는데 사실 웬만한 app들은 이걸 피하거나 연기할 수 있다. 잘 만든 app들은 대부분의 사람들이 바로 사용할 수 있게 먼저 디폴트 세팅을 만들어놓고, 추가적으로 기능 조정을 원할시 편리하게 바꿀 수 있도록 제공한다. ( 이때, 디폴트 세팅은 사용자의 needs를 파악해서 다수의 사용자가 편리한 값으로 ! ) 궁극적으로, 우리의 app을 대부분의 사람이 바로 사용할 수 있게 만드려면, 유저가 뭔가 설정해야 한다는 요구를 줄여야 한다. setting 설계법 1️⃣ 시스템에서 정보 추적하기 user, device, or environment에 대한 정보가 필요하다면 가능한 유저에게 묻지 말고 setting에서 가져오라. ex) 우편번호를 사용자..
User Data and Resources 접근의 중요성 유저의 프라이버시는 가장 중요한 문제이다. 사람들이 당신의 app을 믿을 수 있게 하기 위해서 프라이버시 관련 data와 resource를 요구할 때 왜 쓰는지 분명하고 투명하게 알려줘야 한다. 애플은 사용자의 개인정보를 아주 중요하게 여긴다. 그래서 애플 "앱"에서도 개인정보에 접근을 하거나 사용을 해야 할 때 사용자에게 허락을 받고 사용해야 한다. 그리고 허락을 받기 위해서 해당 정보를 어떻게, 어디에, 무엇을 위해 사용하는지 보여주어야 한다. (이를 지키지 않을 시 해당 앱이 리젝될 수 있다.) ex) 유저에게 access를 위한 permission 요청 예시 개인 정보 : 지역, 건강, 금융, 연락처, 기타 개인적인 식별 정보 등 User-..
Navigation 이란? Navigation은 content를 연결해주는 역할이다. 사람들은 기대와 다른 경험을 하기 전에는 navigation의 존재를 알지 못한다. 따라서 App 설계자는 Navigation 자체가 공기처럼 자연스럽게 흘러가게 하면서 interface를 지배하거나 content의 집중을 빼앗지 않고, App의 구조와 목적을 잘 서포트하는 방식으로 구현해야 한다. navigation의 예시 해당 내용들을 HIG 사이트에서 확인할 수 있다. page controls -> 사람은 7 +- 2개 정도의 정보만을 저장하는 밀러의 법칙에 따라 10개 이하의 control이 있어야 한다. -> 테슬러 법칙(복잡성 보존 법칙) : 줄일 수 없는 특정한 복잡성들 tab bars segmented c..
1) Modal란 ? 현재 context 과정에서 다른 context를 가진 임시 모드를 보여주는 방법으로, 시간이 흐른다고 자동으로 없어지지 않고 사용자가 action을 주어야 modal 창이 사라진다. - 공식 문서에서 "context"라는 말이 자주 쓰이는데 이때 "context"란 사용자의 상황/문맥을 말한다. ex) 연락처에 이름과 전화번호를 입력하고 있는 context -> 연락처에 사진을 입력하는 다른 context - "임시 모드"라고 하면 짧고 해야 하는 일이 분명한 모드라고 생각하면 된다. 예를 들어서 전자 시계에서 현재시각을 보여주는 기본에 "날짜"를 확인할 수 있는 모드, "스톱워치"기능이 있는 2가지의 추가 모드가 있는 것처럼, 부가적인 추가 기능이라고 생각하면 쉽다. Modal과..
콘텐츠들을 불러올 때 로딩되고 있음을 알려주지 않으면 사용자가 로딩되고 있는지 혼란스러워 하고, 앱을 나갈지도 모른다. 경험담으로,, 온라인 장부 만들었을 때 로딩화면 안 만들었다가 사용자들이 엥 뭐지 하는 것을 본 적이 있다... 중요하다.. 로딩화면... 특히, 서버랑 통신을 할 때 꼭 ! 만들어야 한다!! 1️⃣ 현 상확을 명백하게 알려라. 현재 뭔가가 진행되고 있음을 spinner나 게이지 바를 통해 현재 몇 % 로드가 되었는지 알려줘야 한다. 2️⃣ 콘텐츠를 빨리 보여줘라. 사람들이 예상하는 화면을 보기 전에 콘텐츠가 모두 로드되기를 기다리게 하지마라. 화면을 placeholder text, graphics, animation 등으로 표시 해주는 것이 좋다. 애니메이션이 재생되는 동안이나 사용자..
1) Onboarding이란 ? 사용자들은 앱의 유익함을 배울 기회를 원하면서도, 그냥 설명을 듣지 않아도 앱을 잘 사용할 수 있기를 원한다. 이러한 needs를 충족시키기 위해서 Onboarding는 앱의 새로운 테마, 기능, 메뉴얼들을 소개한다. 온보딩에서는 튜토리얼( 사용 가능한 기능 미리 보여주기 ), 사용자의 불편함 나열하기, 사용자의 리뷰 보여주기, 개인화된 경험 제공하기(duolingo) 등을 통해 사용자가 이 앱을 좀 더 잘 사용할 수 있도록 하는 가이드 역할을 한다. 2) Onboarding 주요내용 1️⃣ 사용자들이 앱을 설정하는 것 뿐만 아니라 재밌게 onboarding을 제공 ! Onboarding에서는 "재밌게", "유익한" 정보를 "빨리" 전달하는 데에 집중해야 하기 때문에 앱의..