{
    "version": "https:\/\/jsonfeed.org\/version\/1",
    "title": "Блог Михаила Озорнина: заметки с тегом онбординг",
    "_rss_description": "Главная · Блог · Работы ·",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/mikeozornin.ru\/blog\/tags\/onbording\/",
    "feed_url": "https:\/\/mikeozornin.ru\/blog\/tags\/onbording\/json\/",
    "icon": "https:\/\/mikeozornin.ru\/blog\/user\/userpic@2x.jpg?1614204384",
    "author": {
        "name": "Михаил Озорнин",
        "url": "https:\/\/mikeozornin.ru\/blog\/",
        "avatar": "https:\/\/mikeozornin.ru\/blog\/user\/userpic@2x.jpg?1614204384"
    },
    "items": [
        {
            "id": "134",
            "url": "https:\/\/mikeozornin.ru\/blog\/all\/apple-books-ios-onboarding\/",
            "title": "Изящный онбординг в Apple Books",
            "content_html": "<p class=\"lead\">В iOS 13 в Books появились цели. Эппл сделал онбординг этой фичи изящным и технологичным. Хочу рассказать о том, почему мне так кажется.<\/p>\n<p>Начиная с версии iOS 13 пользователь может установить себе для чтения цель: «Я буду читать по два часа в день». Приложение Books будет считать время и сообщать, когда цель достигнута. Пользователям неплохо бы рассказать, что такая функция появилась.<\/p>\n<h2>Как это могло бы выглядеть<\/h2>\n<p>Процесс рассказа о чем-то, проведения пользователя за ручку по интерфейсу называют онбордингом.<\/p>\n<p>Каждый раз, когда говорят об онбординге, имеют ввиду какое-то уведомление-всплывайку, какой-нибудь экран рассказа о фиче, возможно с видеороликом. Например, все это могло выглядеть как-то так:<\/p>\n<ol start=\"1\">\n<li>В какой-то момент телефон или планшет показывает уведомление «Смотри, в книгах теперь есть цели, хочешь?». По тапу открывается какой-то экран. Сразу возникают вопросы:\n<ul>\n  <li>В какой момент показать, как не отвлечь и не раздражать непрошенным уведомлением (особенно после релиза iOS, где все лезут с рассказами о новых фичах).<\/li>\n  <li>Как узнать, кому нужно показывать, а кому нет. Например, можно посмотреть, у кого загружены какие-то книги, или кто читал последний месяц. А если человек не читал, а начнет, то что? Значит, уже недостаточно проверять этот онбординг только после обновления, нужно проверять иногда. Как часто, как долго? Нужно ли проверять в iOS 14, 15 или 16?<\/li>\n  <li>Не забыть сохранить, кому показывали онбординг, а кому нет. После сохранения нужно не потерять при восстановлении из бекапа и при обновлении на следующую iOS.<\/li>\n  <li>Как должны работать цели до показа уведомления? Что будет, если цель достигнется раньше, чем сработает онбординг?<\/li>\n<\/ul>\n<\/li>\n<li>Нужно задизайнить, разработать, локализовать и протестировать экран этого онбординга.<\/li>\n<li>Нужно убедить команду сделать онбординг ещё в одном приложении это ок (в iOS его обычно нет).<\/li>\n<\/ol>\n<p>Решаемы ли эти задачи — все эти задачи решаемы. Не многовато ли их для продвижения одной очень редкой, малозначительной и на мой вкус бесполезной фичи — многовато.<\/p>\n<h2>Как сделал эппл<\/h2>\n<p>Не знаю почему именно Эппл сделал по-другому, я нигде не встречал рассказ. Но он сделал такой онбординг:<\/p>\n<ol start=\"1\">\n<li>Установить значение цели по умолчанию в 5 минут<\/li>\n<\/ol>\n<p>Всё. Онбординг сделан, — реально один шаг. Попробую подвести итог тех вопросов:<\/p>\n<div class=\"e2-text-table\">\n<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n<tr>\n<td>В какой момент показать<\/td>\n<td>Покажется само, как пользователь почитает пять минут<\/td>\n<\/tr>\n<tr>\n<td>Как не отвлечь и не раздражать непрошенным уведомлением<\/td>\n<td>В момент показа уведомления пользователь точно читает, ему это более-менее релевантно<\/td>\n<\/tr>\n<tr>\n<td>Как узнать, кому показывать нужно, а кому нет<\/td>\n<td>Если читает меньше пяти минут в день, то точно не целевая аудитория. Дополнительные проверки не нужны<\/td>\n<\/tr>\n<tr>\n<td>Не забыть сохранить, кому показывали онбординг, а кому нет<\/td>\n<td>Сохранять не нужно<\/td>\n<\/tr>\n<tr>\n<td>Миграция сохраненных данных<\/td>\n<td>Не нужна<\/td>\n<\/tr>\n<tr>\n<td>Как должны работать цели до показа уведомления<\/td>\n<td>Нет никакой особой логики до показа или после<\/td>\n<\/tr>\n<tr>\n<td>Задизайнить, разработать, локализовать и протестировать экран этого онбординга<\/td>\n<td>Не нужно<\/td>\n<\/tr>\n<tr>\n<td>Нужно убедить команду сделать онбординг ещё в одном приложении это ок<\/td>\n<td>Не нужно<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>Итого:<\/p>\n<ul>\n<li>Нужно разработать кастомной онбординг-логики: ноль<\/li>\n<li>Нужно разработать дополнительных экранов, механизмов хранения: ноль<\/li>\n<li>Вообще дополнительные дизайн и разработка: ноль<\/li>\n<\/ul>\n<p>Заодно получаем дополнительные плюс: значение в пять задевает честолюбие человека и вместо пяти минут он укажет более высокую цель, чем указал бы при другом дефолте (это гипотеза).<\/p>\n<p>Ну и напоследок:<br \/>\nДефолт все равно установить пришлось бы :—)<\/p>\n<p>Вот скриншоты как выглядит весь процесс:<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/mikeozornin.ru\/blog\/pictures\/apple-books-ios-onboarding-1@2x.png\" width=\"665\" height=\"591\" alt=\"\" \/>\n<\/div>\n<p class=\"loud\">Прекрасный, технологичный дизайн фичи.<\/p>\n",
            "date_published": "2019-10-01T03:00:03+03:00",
            "date_modified": "2024-01-07T14:54:28+03:00",
            "image": "https:\/\/mikeozornin.ru\/blog\/pictures\/apple-books-ios-onboarding@2x.png",
            "_date_published_rfc2822": "Tue, 01 Oct 2019 03:00:03 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "134",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": [
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/apple-books-ios-onboarding@2x.png",
                    "https:\/\/mikeozornin.ru\/blog\/pictures\/apple-books-ios-onboarding-1@2x.png"
                ]
            }
        }
    ],
    "_e2_version": 3798,
    "_e2_ua_string": "E2 (v3798; Aegea)"
}