iOS Guidelines in Russian. Part №3.

Гайдлайны Apple. Перевод.

Timur Nurutdinov
iOS Guidelines in Russian

--

Запуск и завершение приложения

Запускайте приложение немедленно. В среднем пользователь тратит не более минуты или двух для того, чтобы изучить приложение и решить, будет он им пользоваться или нет. И если вы используете этот непродолжительный “ознакомительный” период для того, чтобы показать контент здесь и сейчас, то этим вы разжигаете интерес в новых пользователях и предоставляете им великолепный опыт взаимодействия с приложением.

Ни в коем случае не просите пользователя выключить или перезагрузить устройство после установки вашего приложения. Перезагрузка занимает время, и ваше приложение может показаться пользователю не настолько важным. Если у вашего приложения большие запросы на память и для правильной его работы требуется очистка памяти с помощью перезагрузки, то не пытайтесь обыгрывать это в интерфейсе. Попросите вашего разработчика решить эту проблему программно, для этого даже существует отдельная тема на сайте Apple.

Старайтесь избегать экранов запуска или иных вступительных экранов. Оптимальный способ — это дать пользователю возможность начать пользоваться вашим приложением немедленно.

Старательно избегайте каких-либо вопросов о потребностях пользователя! Вместо этого:

  • Сфокусируйте свое внимание на нуждах 80% пользователей. Определите основные сценарии использования приложения, исходя из предполагаемой аудитории. Когда вы используете такой подход, то пользователь просто не будет нуждаться в настройке приложения, ведь оно уже и так отвечает его ожиданиям. Если в приложении присутствует функционал, нужный лишь небольшой части пользователей, а остальная бОльшая часть аудитории будет хотеть лишь убрать его или скрыть, то уберите этот функционал из своего приложения вовсе.
  • Собирайте как можно больше информации из других источников. Если вы можете запросить информацию о пользователях через данные, которые хранятся в стандарных приложениях iOS или же в самом устройтве, то лучше сделать свой запрос именно к ним, а не раздражать пользователя вводом лишней информации.
  • Если вы все же должны спросить некую информацию непосредственно у пользователя, то обоснуйте, зачем вы это делаете. Как только информация получена, спрячьте ее как можно дальше от пользователя (самое ожидаемое — экран настроек внутри самого приложения, либо в настройки установленных программ, доступные через Home screen в iOS), чтобы пользователь попадал сразу на нужный ему контент, а не на экран настроек, которые он только что ввел.

Откладывайте требование регистрации как можно дольше. Хорошей практикой разработки iOS приложений является такая структура приложения, когда пользователь может производить навигацию по большей части приложения без регистрации. Например, встроенное приложение App Store позволяет просматривать весь каталог приложений, и лишь на финальной стадии требует ввести данные учетной записи при попытке скачать какое-либо приложение. Пользователи часто пренебрегают приложениями, которые требуют от них обязательной регистрации.

Если же регистрация является необходимой для полноценной работы приложения, то старайтесь еще на ранней стадии использования приложения объяснить пользователю какие плюсы он получит от регистрации.

Хорошо подумайте прежде чем использовать onboarding.

Onboarding — дословно, посадочный процесс. Это процесс, введения в приложение, когда нового пользователя проводят либо через этап обучения, либо через этап ознакомления с функциями приложения (прим. перевода).

Прежде чем начать проектировать сам onboarding процесс, сделайте все возможное для того, чтобы сделать ваше приложение максимально простым, простым настолько, чтобы пользователю было интуитивно понятно, как взаимодействовать с приложением в той или иной ситуации. Onboarding ни в коем случае не является заменой хорошему дизайну приложения!

Если вы все-таки считаете, что ваше приложение нуждается в onboarding процессе, то следуйте следующим правилам, которые позволят вам избежать оттока пользователей:

  • Познакомьте пользователя только с самой важной информацией, которая ему нужна для старта. Хорошим приемом onboarding процесса будет подача пользователю только той информации, которая подсказывает пользователю с чего начать или же в обзорном порядке знакомит пользователя с главными функциями приложения. Если вы дадите слишком много информации сразу, не дав пользователю самому испытать приложение на практике, то он будет стараться запомнить большую часть информации, что в последствии приведет к низким оценкам в App Store. Если для какой-нибудь функции в приложении требуется более глубокое объяснение, то ознакомьте пользователя с механизмом ее работы только при вызове.
  • Используйте анимацию и интерактивные элементы чтобы заинтересовать пользователя и позволить ему обучаться на примерах. Используйте текст нормированно, только в том случае, если это расширяет опыт, получаемый пользователем. Например, не старайтесь описывать очевидное действие, когда вы можете показать это взаимодействие наглядно, с помощью анимации. Если вам нужно показать сложный сценарий использования, то разделите его на шаги и прокомментируйте, зачем каждый из них нужен. Ни в коем случае не используйте скриншоты приложения во время onboariding процесса, потому что они не предоставляют пользователю наглядной иллюстрации опыта взаимодействия.
  • Позвольте пользователю пропустить onboarding процесс. Один раз ознакомившись с процессом взаимодействия с приложением, пользователь едва ли захочет сделать это заново. Более того, кто-то не захочет проходить onboarding даже при первом использовании приложения.

Избегайте слишком раннего предложения об оценке вашего приложения в App Store. Если вы покажите уведомление слишком рано, то это может начать раздражать пользователей, что существенно снизит полезные и положительные отзывы о вашем приложении. Если вы хотите получить качественный и объективный отзыв о вашем приложении, то предоставьте пользователю время, чтобы сформировать свое представление о продукте. Например, вы можете предложить оценить ваше приложение, когда пользователь посетит определенное количество экранов, либо выполнит какое-то количество задач.

Всегда запускайте ваше приложение в ориентации по умолчанию. Ориентация по умолчанию может варьироваться в зависимости от вида устройства: для iPhone это портретная ориентация, для iPad — это текущее положение устройства.

Заметьте, что Apple предоставляет свои рекомендации по запуску приложения в разных ориентациях экрана. Самый хороший вариант, если приложение поддерживает и портретную и ландшафтную ориентации. Но так бывает не всегда.

Поэтому, если приложение поддерживает только ландшафтную ориентацию, вы должны запускать его именно в ней, при этом оставляя пользователю возможность переворота устройства (на 180 градусов). Если поворот не доступен, то нужно запускать приложение так, чтобы кнопка Home оставалась справа.

Процесс непосредственного запуска приложения. Во время запуска используйте такие фоновые изображения, которые похожи на первый экран, который пользователь увидит по окончанию инициализации приложения. iOS показывает фоновое изображения запуска (Launch Image) в тот момент, когда приложение запускается, и если оно похоже на первый экран, то пользователю будет казаться, что приложение работает достаточно быстро. Ни в коем случае не повторяйте его полностью и не располагайте никакие функциональные элементы на экране запуска, потому что пользователю интуитивно захочется на них нажать! А это уже будет воспринято, как зависание системы.

Не отображайте никаких соглашений! Если это возможно, избегайте запросов на принятие каких-либо лицензионных обязательств, а так же дискламеров (disclaimer). Вместо этого вы можете позволить магазину приложений Apple отобразить требуемую информацию (в том числе EULA). А значит пользователь прочитает ее еще до установки приложения. Это позволит не отвлекаться от использования приложения в дальнейшем. Если же, в соответствии с вашими бизнес-целями, вы обязаны попросить у пользователя принять то или иное лицензионное соглашение, сделайте так, чтобы этот процесс был максимально интегрирован в обычный сценарий поведения пользователя. Ищите баланс между интересами пользователя и вашими бизнес целями!

Перезапуск приложения. Если пользователь перезапускает приложение, то он должен оказаться именно в том месте, на котором он завершил предыдущую сессию. Пользователь не должен запоминать последовательность шагов, которая потребовалась ему для того, чтобы дойти до экрана, на котором он оставил приложение в прошлый раз.

Будьте готовы остановиться

Приложения для iOS никогда не показывают кнопку Закрыть или Завершить. Пользователь перестает использовать ваше приложение тогда, когда переходит к другому приложению, выходит на домашний экран (Home Screen) или ставит устройство в режим блокировки.

Во время переключения с вашего приложения на другое, процессы iOS, отвечающие за мультизадачность, перемещают ваше приложение в фон, заменяя отображаемые графические элементы на элементы другого приложения. Поэтому для того, чтобы быть готовым к такому сценарию, следует придерживаться следующих рекомендаций:

  • Сохраняйте (резервируйте) пользовательские данные как можно раньше, и настолько часто, насколько это возможно.
  • Сохраняйте текущее состояние приложения с как можно большим количеством деталей. Имеется ввиду, что важно не только запоминать экран, на котором остановился пользователь, но и состояния кнопок, полей, клавиатуры, позицию прокрутки и прочее. При таком подходе, возвратившись в ваше приложение, пользователь не потеряет контекст поведения, не забудет то действие, которое он хотел выполнить.

Однако некоторые приложения могут требовать продолжения процесса работы даже в фоновом режиме. Например, если ваше приложение проигрывает музыку, то пользователь ожидает, что воспроизведение продолжится и при переходе к другому приложению.

Выход из приложения. Никогда не выходите из приложения программно (не реализовывайте это с помощью кода). Если что-то мешает нормальному функционированию вашего приложения, то надо объяснить пользователю, что именно требуется предпринять в таком случае. Вот два хороших способа:

  • Если все функции приложения блокированы чем-то, то следует показать экран, где будет описана ситуация, а так же предложения по ее решению. Эта информация поможет пользователю осознать, что проблема кроется не в вашем приложении. Наряду с этим предоставляется выбор — выполнить некое корректирующее действие и продолжить использование приложения, либо перейти к другому приложению.
  • Если недоступны только некоторые функции приложения, то достаточно просто показать всплывающее сообщение (так называемый алерт). Используя этот способ, вы должны быть уверены, что недоступность данной функции не повлияет на работу вашего приложения, либо повлияет, но незначительно.

--

--