Разработка
Настоящие чат-боты, или операционная система «Телеграм»
Иными словами, чат-боты, приложения, веб-приложения – все это лишь функции умного ассистента, которого мы (люди) вот-вот достроим.
Денис Ширяев, менеджер по продукту в Futurico и ведущий Telegram-канала Denis Sexy IT предлагает нам операционную систему будущего. На основе мессенджеров и ботов.
Эта статья будет интересна тем, кто увлекается продуктологией или работает в этой сфере в ИТ, и тем, кто задавал себе вопрос «Как я буду запускать приложения через пару лет?» или «Что вообще такое чат-боты сейчас и потом?». Здесь не будет красот UI и скорее будут размышления на тему будущего UX. А еще речь пойдет только о мобильных ОС – так как эта основная зона моих интересов и экспертизы. Так что усаживайтесь поудобнее – поехали, а я постараюсь быть «не занудой».
Боты не огонь
Примерно так бы я охарактеризовал нынешнее положение дел в индустрии чат-ботов. Часть ботов никогда не поймут, что вы от них хотите, другая часть ляжет в тот момент, когда вы решите сделать свой запрос к ним, третью часть еще нужно найти – причем это еще нужно знать, как искать, читать какие-то отзывы и обзоры.
И все это на фоне отсутствия вменяемой монетизации (кроме b2b разработки или подписки) и таргетированной рекламы.
Случайный бот предлагает увеличивать инвестиции по 3% в день, вау, повезло
Еще один бот даст мне свои функции, но только после подписки на канал – механика интересная, но я нифига не понимаю же
Добавьте сюда еще и то, что порог входа в индустрию разработки чат-ботов ниже обычного. То есть как ниже – он ниже требований, которыми необходимо обладать для создания нативных приложений под iOS / Android / WP – еще до начала разработки в каждой из этой экосистем есть тонны материалов об «идее» платформы, о том, почему ваше приложение могут не пропустить, о UX/UI best practices и т.п. С чат-ботами другая история – туда пускают почти всех и дают вам возможность писать на том языке, на котором вы привыкли. В итоге получается что-то очень модное, мало функциональное, неудобное, но «маркетинговым» шумом забивающее реальные перспективы.
Есть две хорошие статьи на тему того, почему чат-боты, по мнению авторов, не взлетят в текущем виде – одна на русском, другая на английском. Если коротко, то обе утверждают, что чат-боты это дань моде. И мне тоже лень расписывать, что понимать суть фраз в нормальном виде (NLP) мы пока все еще не можем – я думаю это всем очевидно.
К примеру, заказать пиццу через бота в голову пока не приходит, так как количество полей, которые необходимо заполнить, довольно большое, а никаких интеграций пока с сервисами, где эти данные уже вбиты, нет. Другое дело приложение – скачал, выбрал пиццу, с одной кнопки прописал гео-позицию, с другой телефон и сиди ешь свою салями уже через 30 минут. Справедливости ради, повторный заказ сделать через чат-бота можно уже быстрее, так как данные-то заполнены – осталось только найти его в списке контактов, но найти что-то в этом огромном списке чатов – та еще задача.
Лаунчер смерти
У приложений в iOS / Android и чат-ботов помимо схожего функционала есть еще одно слабое место – то, как их запускают. Иными словами, лаунчер.
7 экранов аппов, с которыми я пытаюсь жить
Насколько я знаю, актуальные смартфоны Apple отказались от 16 Гб модели, а в Android уже годы существует поддержка micro-sd. Что это означает для конечного потребителя? ДОФИГА приложений. Так много, что многие из них останутся на годы в памяти телефона, будучи запущенными 1 или 2 раза. Не поможет тут ни пуш от создателя аппа в попытке возврата пользователя (пушей уже так много, что паттерн по умолчанию – отключать их), ни яркая иконка, ни виджет или стикер, который вы добавите в ваш апп.
Братская могила приложений – это то, куда сваливается все и у всех – за исключением каких-то 10-20 приложений, которые вы используете как основные сценарии в повседневной жизни. Возможно ли вернуться из этой точки невозврата? Наверное, да, и есть методы – но тут мы это не обсуждаем. Проблема большого количества приложений настолько актуальна, что ее решают сами производители ОС для устройств: кто-то более успешно – как WP со своей плиткой в зависимости от актуальности данных в приложении, кто-то менее – как в Android и iOS.
Но железный факт – визуально найти на телефоне что-то глазами после полугода использования, а еще и с папками / виджетами / живыми обоями – это просто непосильная задача.
Окей гугл, что же я хотел?
Все операционные системы пока сошлись в одном – все эти 10-20 приложений, которые входят в зону внимания пользователя, и те, которые вы помните – очень удобно ищутся быстрым поиском. Все производители дали возможность свайпа для поиска с одного жеста – и это действительно удобно, если пользователь знает, что он ищет.
Некоторые производители пошли дальше – помимо результатов поиска они пытаются подсвечивать релевантные данные запросу, но в моей практике там часто находится мусор от разработчиков, которые очень хотели бы попасть в выдачу хоть как-нибудь по запросу (сам такой 👠), а потому полезность функции спорная.
Если я не ошибаюсь, iOS с 9 версии пытается посоветовать вам, какое бы приложение запустить – прямо рядом с быстрым поиском. Скорее всего, так же делает и Android – это хорошая попытка и движение в сторону решения проблемы загруженности устройства для пользователя, но работает эта функция в реалиях технологических возможностей. Это значит, что работает она так себе и алгоритм цепляется за паттерны поведения, которыми вы руководствуетесь в данный момент, взяв телефон. Никакой фантастики в общем, будете каждый день в 8:00 начинать утро с Инстаграма – в рекомендациях будет Инстаграм каждое утро.
Про Телеграм тут даже добавить особо нечего, там единственный способ что-то найти – это поиск, особенно, когда вы подписались на 20 каналов, 40 чатов, везде отключены уведомления, а лента продолжает скакать по последнему комментарию (кстати, на лепре такая сортировка лет 10 уже, она правда удобная, но имеет лимит количества пользователей в ленте).
О, а что если рендерить приложения на клиенте?
На последнем Google I/O в 2016 году нам всем показали прототип экосистемы Google Instant Apps – это в том числе одна из попыток решить проблему выше, но немного с другой стороны и уже хожеными тропками. Если коротко, то сценарий там мало чем отличается от веб-приложений – после перехода из поисковой выдачи телефон рендерит на клиенте не веб-страницу, а кусок приложения. Приложение при этом может получить доступ ко всем вещам, которые ему могут быть нужны: датчикам, памяти, камере, контактам и т.п. Это, конечно, любопытная технология и довольно логичная в рамках ОС, но чем тогда это отличается от чат-ботов? Там ведь тоже приложение или функция возникают на клиенте в момент запроса к сервису. И в чем тогда глобальная разница между веб-приложением, приложением для смартфона и чат-ботом? А ничем. Самое время вернуться к Телеграму.
Операционная система «Телеграм»
Предположим, что Павел Дуров сошел с ума и решил, что время для его ОС пришло, несмотря на то, что это дорого, никому не нужно, но очень ему захотелось свой Telegram Home. И вот вам в руки попало такое устройство, выпущенное каким-то HTC, уже подвязанное к вашему аккаунту где угодно.
Какие задачи вы можете решать? Как вы их решаете? (я буду описывать без фанатизма, общими красками, чтобы просто донести суть).
Фото и Видео
Давайте попробуем представить, какие функции вы решили бы приложением камеры в Телеграм ОС: по умолчанию все фото и видео – таймлайн сверху вниз. Все автоматически созданные облаком видео-стори приходят как входящие. Вы можете редактировать каждое фото ровно так же, как вы уже можете это делать во всех ОС, открыв фото. Вы можете отправить гео-метку и получить все ваши фото оттуда. Вы можете отправить серверу контакт или фото и получить все фото с ним. Шаринг – изи катка – примерно как уже работает в Телеграме.
Инстаграм
Все посты и уведомления идут в одной ленте и хронологически. Ваши посты – это исходящие сообщения. Уведомления и все прочие – входящие. Зайдя в пост вы видите иерархию входящих-исходящих комментариев у поста, ну, как обычный чат. В общем, весь мир таймлайн и сверху вниз. Концепция же понятна?
Хертстоун
С этим пришлось выдумать костыль. Предположим, что все полноэкранные приложения, будь это игры и видео или какие-то тяжелые редакторы, очень требовательны к ресурсам, а еще очень важно никогда не терять текущую сессию работы с приложением. Поэтому вы всегда видите превью последней сессии, а информация о том, чего же добавилось в новой версии приложения, приходит как нормальное входящее сообщение. То есть, нажав на последнюю сессию видео или игры, вы ее открываете на том же месте и получаете все ровно так же как на любом другом устройстве на всех девайсах сразу.
Звонок
Здесь все предельно просто: отправили на сервер новый телефон или фото визитки или просто фото номера как исходящее и получили вопрос «Звоним или добавляем в контакты?». Начали вводить текст – получили автосаджест имени контакта. Таймлайн входящих и исходящих звонков ровно такой же как и везде. Можно еще популярные контакты сразу показать, но это так, опция. После установки связи видна клавиатура, стандартная и привычная всем.
Новости, ну, или RSS
Это даже расписывать не буду. Это просто работает уже сейчас и с этим Телеграм отлично справляется (вроде @feedsRSSBot). Шаринг сообщений, просмотр ссылок во внутреннем браузере – все работает прекрасно.
Яндекс.Навигатор
Тоже максимально упростим: отправили голосом адрес – маршрут построен. Отправили улицу – вопрос, чего вам там нужно. Начали вводить адрес – получили автосаджест. Информация о пробках и проблемах на дороге – входящие сообщения. Режим навигации – полноэкранное приложение, так как все-таки важно не отвлекаться, безопасность же, все дела. То есть важно сразу пользователю предложить вариант, который он сможет выбрать, тапнув на него – «поехали» можно сказать и голосом, этого будет достаточно для пользователя.
Я думаю, дальше уже даже без скриншотов можно – и музыка, и банк-клиент – что угодно вписывается в стандартный и привычный UX мессенджера между пользователем и функцией. Я долго пытался представить приложение, которое не удалось бы перепроектировать под такую механику, и пока все еще его не нашел.
Навесить быстрых и легких UX-сценариев, да еще и при 100% рабочем NLP в выдуманной ОС – это не слишком-то сложная задача. Само собой, что-то можно было бы сделать лучше, что-то – выкинуть, что-то я забыл, но это выходит за рамки этой статьи на тему того, как же мы будем потреблять функции приложений через какое-то время.
Так вот, вернемся к этому скрину, который мы уже смотрели выше:
Это все тот же лаунчер – он может быть плиточным, горизонтальным, вертикальным, драгндропным. Он может быть каким угодно, но он абсолютно не нужен, если все, что я описал выше работает и понимает пользователя.
А теперь мы просто отключаем выбор приложения и оставляем одно поле ввода и череду входящих-исходящих сообщений с функцией быстрого поиска:
Страшновато стало, правда? Теперь все функции, которые я расписал выше в примерах, можно использовать сразу, не открывая приложения. Более того, его не нужно скачивать, так как типичный магазин приложений в такой концепции заменяется на «привилегию получить запрос пользователя». ОС сама уточнит (если ей это необходимо), что вам нужно – на основе типа данных, которые вы ей посылаете, и с учетом аудио-видео-гео-сенсоров устройства. Это еще и притом, что скорее всего такой UX позволит слушать пользователя постоянно, но реагировать только в те моменты, когда это действительно нужно. И эта концепция не исключает возможности оставить какие-то приложения в более-менее классическом виде – на случай, если вы ретроград.
Получается, что концепция App Driven Messaging OS – это и есть настоящие чат-боты (которых сейчас почти нет на рынке), а приложения – это часть процесса общения между пользователем и функцией. Это может быть веб-приложение, игра, но все это вписывается в форму чата. И очень плотно пересекается с темой умных помощников в стиле Siri и Google now – так как задачу распознавания потребностей пользователя ОС будут брать на себя, а вам всего-лишь нужно будет адаптироваться под требования платформы.
Вы хотите пиццу – вы просите (устно, буквально) пиццу и подтверждаете заказ.
Вы хотите посчитать курс валют – вы просто это делаете (как делает Google Now уже сейчас).
Вы чатитесь с другом – и во время общения вам предлагают воспользоваться какими-то функциями уже сейчас (inline bots):
Так что же это, приложения исчезнут и станут чат-ботами?
Да хрен там. Нас ждет мир параллельной архитектуры, где есть умный ассистент и его гибкие возможности обработки запросов без скачки приложения. Мир, где будут классические iOS / Android приложения, адаптированные под чатоподобную архитектуру (пруф 1, 2), и мир «классических», постепенно устаревающих приложений. В общем, нас ждет как всегда всё и сразу. И параллельно.
Рынок движется в сторону NLP – совершенно точно настоящие чат-боты лишат нас огромного количества лишних кнопок. Такой подход в разработке в идеале избавил бы нас «однодневных» приложений – созданных под конкретное событие или случай, вроде Google I/O. А пока нам приходится называть чат-ботами костыли, которые пытаются быть умнее, чем приложения, но у них это не выходит, однако их делают и делают, и если вы один из таких – посмотрите лучше в сторону приложений, скорее всего, ваш бот будет актуален через какое-то время, но при интеграции с Siri / Google Now, так как задача распознавания текста или речи пользователя – это не ваша задача, это задача операционной системы. ADM OS не означает, что UI-дизайнерам будет меньше работы, это значит, что ее будет больше – им придется учитывать human touch в общении с пользователями. Это будет проектирование не только про глубину тапа до достижения функции и юзабилити дизайна, но и реакции приложения на запрос пользователя – на то, каким тоном отвечает на вопрос ваш чат-бот.
Иными словами, чат-боты, приложения, веб-приложения – все это лишь функции умного ассистента, которого мы (люди) вот-вот достроим. И если вам режет глаз «Операционная система Телеграм», то это была абстракция, от которой уже можно отказаться, давайте ее называть «Операционная система Siri» и «Операционная система Google Now», «ОС Жимолость».
Во славу UX и в память не дожившим до будущего UI из прошлого.
Ваш капитан очевидность, Денис.