Launching에서는 fast & seamless한, 부드럽게 이어지는 경험이 중요하다. 게임처럼 몰입을 요구하는 앱을 제외하고는 스플래쉬 이미지는 좋은 선택이 아니다. 또 앱을 열 때마다 새롭게 시작하는건 부드럽거나 빠르지 않다. 원래 쓰던 장면을 그대로 다시 띄워주는 것이 fast & seamless한 경험이다.
관련한 API는 UIApplication Delegate에 있다. 노티, 아이콘 탭, 다른 앱을 통해서 들어오는 여러 경우 등을 통해 앱이 런칭될 때, 어떤 작업을 해야 하는지를 설정할 수 있다. 이는 앱의 라이프 사이클과 중요한 연관이 있다. 개발가이드 문서가 있으니 참고하도록 하자.
스플래쉬 이미지는 정말 쓸모가 없다. 대신 런치 스크린을 사용하자. 컨텍스트 전환 및 화면이 나왔을 때, 사용자가 어떻게 할지 고민하는데 10초 정도가 걸린다. 런치스크린을 통해서 그런 기회를 줌과 동시에 빠르게 반응함으로서 ‘빠른 반응성을 가지고 있다’고 느끼게 만들 수 있다.
런치스크린 TIP
1) 컨텐츠가 비어있는 화면(Skeleton)을 첫 화면으로 보여줄 수 있다.
2) Launch storyboard를 사용하라. 처음 구동될 때 등장하는 건데, 단순한 이미지뿐만 아니라 스토리보드를 이용한 작업을 할 수 있다. 노티피케이션으로 분기를 줄 수도 있다. 개발자 문서를 확인해보자.
사용자가 올바른 디바이스 방향으로 사용하도록 미리 알려주는 역할을 한다.
시동하자마자 이 앱이 뭘 할 수 있는지 보여줘야지 질문부터 던지면 사용자 경험을 헤치고, 과한 기대감을 조성해서 실망감을 안겨줄 수 있다. 기본을 제공해주고 커스텀 혹은 추가적인 사용을 위해서 나중에 정보를 요구할 수 있다. 가능한 물어보지 말고 시스템에서 가져올 수 있을만큼 가져오자. 굳이 정보를 요구해서 가져와야 한다면 수정 가능하도록 하자.
앱스토어에서 다운로드 받기 전에 미리 보여주는게 필요하다. 다운로드 받고 권한을 요구하는 경우에 사용자가 거부 반응을 일으킬 가능성이 더 높아진다.
아에 이런 경우를 만들지 말자. 만들게 되면 사용자에게 알려줘야 한다.
앱이 처음 런칭할 때 fast & seamless한 경험을 주는 것이 핵심이다. 앱을 만드는 사람의 입장에서는 화려한 시작으로 브랜딩을 하고 싶은 마음이 많겠지만 사용자에게는 자신이 이 앱을 통해서 하려는 작업의 걸림돌일 뿐이다. 초기세팅, 권리사항, 리부팅 등 다양한 상황에서도 fast & seamless한 경험을 위해서 앱을 제작해보자.
Apple Human Interface Guideline
https://developer.apple.com/design/human-interface-guidelines/ios/app-architecture/launching/