Перейти к содержанию

Интерфейсы от командной строки до голоса: различия между версиями

Материал из Wiki yaboard
Нет описания правки
Строка 27: Строка 27:




== А навстречу ему Лиса? Когда уже Лиса будет? ==
== И, наконец... ==


[[Файл:Лиса.jpg]]
[[Файл:Лиса.jpg]]


И, наконец, мы добираемся до главной темы: голосовые интерфейсы!  
...мы добираемся до главной темы: голосовые интерфейсы!  


Этот радикальный переход '''не только от клавиш к голосу, но и от экрана к «слепому» общению''' ставит целый ряд задач, многие из которых, к нашему счастью, успешно решались на предыдущих этапах. Нам остаётся выбрать правильные варианты.
Этот радикальный переход '''не только от клавиш к голосу, но и от экрана к «слепому» общению''' ставит целый ряд задач, многие из которых, к нашему счастью, успешно решались на предыдущих этапах. Нам остаётся выбрать правильные варианты.




Что надо выделить в первую очередь:
Что надо выделить в первую очередь:
* Способ общения для многих пользователей радикально новый, необжитой. Необходимо '''больше подсказывать и информировать''', чем в обычных программах (при этом не перегружая слух пользователя ненужной на данную секунду информацией).
 
* Если о программе пользователь может прочитать в её же справке, сделать выдержки и закладки, изучить на официальном сайте или на форумах с обзорами, то запуск навыка чаще всего произойдёт вслепую и, возможно, пользователь даже не поймёт, что запустил условную «подпрограмму». Очень важно дать ему понять, '''какую именно его проблему решает навык''', и как наиболее эффективно его можно использовать.
{| class="wikitable" style = "width:100%"
* В отличие от безразмерного экранного места с иллюстрациями голосовой интерфейс должен уметь рассказать '''коротко, лёгким языком и образно''', максимально упростив восприятие для визуалов. Проще говоря, помочь им создать «картинку» в голове.
|-
* '''Диалог должен строиться свободно'''. Человек не машина, имеет право вспомнить какой-то из пропущенных шагов, внести уточнения или полностью поменять своё решение на любом шаге. При этом необходимо сохранять общий контекст сессии (представьте на месте программы собеседника).
! width="35%"| Задача
* «Древовидные» меню – плохой выбор (если это не вызвано какой-то критической необходимостью, которой автор в жизни пока не наблюдал). Намного лучше подойдёт аналогия с '''глобальными «горячими клавишами»''' (один из примеров – требуемая платформой Яндекс обработка команды «Помощь» при любом шаге общения в навыке), или параллельными «дорожками», между которыми пользователь сможет прыгать в нужный ему момент.
! width="35%"| Решение
* Очень важно '''не ломать естественный язык'''. «Вы хотите продолжить? Скажите ‘Далее’» - практически худшее, что можно придумать. Если вы предлагаете продолжить, сохранить, выбрать, перейти – то обязаны обработать как минимум предложенное вами слово, и не предлагать вместо него другое, а тем более жёстко зашитое как единственный принимаемый вариант. Хорошим решением будет предусмотреть синонимы и разговорные ответы: «Да, Конечно, Валяй, Поехали». Стоит '''активно использовать интенты''', предлагаемые платформой Диалоги.
! width="30%"| Чего нужно избегать
* '''Никаких лишних подтверждений и искусственно растянутых диалогов'''. Если есть возможность получить всю нужную информацию в одной фразе – стоит попотеть, чтобы этого достичь, пользователи будут вам благодарны.
|-
* '''Общение должно быть живым, натуральным'''. А это означает, что в отличие от прежних программ не только не нужна стандартная фраза на все сходные случаи, а наоборот, даже для одинаковых случаев правильно проработать по нескольку вариантов ответов, обращений, пояснений (так называемые промпт-листы).
| Способ общения для многих пользователей радикально новый, необжитой  
| Необходимо '''больше подсказывать и информировать''', чем в обычных программах  
| Не перегружайте слух пользователя ненужной в данную секунду информацией
|-
| Про обычную программу пользователь может прочитать в её же справке, скопировать выдержки, сделать закладки, изучить на официальном сайте или на форумах с обзорами. А запуск навыка наверняка произойдёт вслепую и, возможно, пользователь даже не поймёт, что запустил условную «подпрограмму»
| Нужно сразу рассказать, '''какую именно проблему пользователя решает навык''', и как наиболее эффективно его можно использовать
| Не рассказывайте, как много навык всего крутого умеет. Скажите, чем он полезен
|-
| У голосового интерфейса нет безразмерного экранного места для длинных абзацев с красивыми иллюстрациями
| Расскажите '''коротко, лёгким языком и образно''', максимально упростив восприятие для визуалов. Помогите им создать «картинку» в голове.
| Не забывайте, что далеко не всем комфортно получать информацию «на слух»
|-
| Человек не машина, имеет право вспомнить какой-то из пропущенных шагов, внести уточнения или полностью поменять своё решение на любом шаге
| '''Стройте диалог свободно''', как если бы это была беседа
| Не теряйте общий контекст сессии (представьте на месте вашей программы живого собеседника, или сотрудника сервиса)
|-
| Каскады из меню
| «Древовидные» меню – плохой выбор (если это не вызвано какой-то критической необходимостью, которой автор в жизни пока не наблюдал). Намного лучше подойдёт аналогия с '''глобальными «горячими клавишами»''' (один из примеров – требуемая платформой Яндекс обработка команды «Помощь» при любом шаге общения в навыке), или параллельными '''«дорожками»''', между которыми пользователь сможет прыгать в нужный ему момент
*
| Пользователь должен всегда понимать, в каком именно разделе программы и на каком шаге находится. Свобода передвижения не должна нарушать информированность
|-
| Интерес к диалогу; живой, естественный язык
| Если вы предлагаете '''Хотите продолжить (сохранить, выбрать, перейти)''' – то обязаны обработать как минимум основные предложенные вами слова (включая "Хочу"), и не предлагать вместо них искусственно навязанное другое. Отличное решение - предусмотреть синонимы и разговорные ответы: '''«Да, Конечно, Валяй, Поехали»'''. Стоит '''активно использовать интенты''', предлагаемые платформой Диалоги
| «Вы хотите продолжить? Скажите ‘Далее’» - практически худшее, что можно придумать. Хотя нет, ещё хуже - жёстко зашить отсутствующее в вопросе слово как единственный принимаемый вариант.
|-
| Утомительные и сбивающие лишние шаги при вводе
| Если есть возможность получить всю нужную информацию в одной фразе – стоит попотеть, чтобы этого достичь, пользователи будут вам благодарны
| Соблюдайте баланс между ёмкостью и сложностью ввода. Можно сказать «Назовите ваши имя, пол и возраст» - и разобрать полученную строку за один раз, легко для пользователя. Но сложные данные (точное соблюдение формата ввода, длинное объяснение, неочевидность вводимых чисел) лучше разделить.
|-
| Лишние шаги, часть 2. Порой в игровых навыках встречаются бесконечные "Продолжаем?", которые пользователь должен бесконечно подтверждать. Это напрягает, выбивает из динамики и в итоге отбивает охоту запускать не только этот, но и другие, хорошие навыки.
| Поставьте себя на место пользователя. Если он не захочет продолжать, то просто закроет навык или произнесёт команду смены режима, получения счёта, итд. Не заставляйте совершать его обезьяньи действия.
| Необходимость подтверждения всё же существует при риске оборвать игру в режиме соревнования (или если вы не ещё умеете сохранять статистику игр), перед другими важными или критическими действиями (удаление аккаунта, оплата, итд)
|-
| Живое «человеческое» общение
| В отличие от графических программ не только не нужна стандартная фраза на все сходные окна диалогов, а наоборот, даже в одинаковых случаях правильно проработать по нескольку вариантов ответов, обращений, пояснений (так называемые промпт-листы)
|
|-
| Атмосфера голосовых приложений
| Компенсируйте недостаток графики интересной озвучкой, характерами героев/ведущего, художественным текстом, возбуждающим воображение. Всегда дублируйте произносимый текст на случай экрана.
| Не переборщите)) не заставляйте пользователя слушать длинный безусловно красиво записанный шум моря, если он хочет скорее сделать следующий ход. Очень бережно относитесь к относительным уровням громкости голоса, шумов и эффектов
|}





Версия от 20:21, 16 декабря 2020

Большое Лирическое Отступление

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

Огромным шагом вперёд стали перфоленты, а затем и перфокарты. Тем не менее, настраивать и управлять компьютерами всё ещё могли только обученные специалисты. И только появление клавиатур, чуть позже совмещённых с экранами, удачно заменившими телетайпы\АЦПУ, позволило существенно снизить порог вхождения, а появление персональных компьютеров – на порядки увеличить круг людей, которым стали доступны машинные вычислительные мощности.

Кстати, первый сенсорный экран появился ещё в 1965 году!

Не менее революционным стал переход от «запустил-жди» к интерактивному взаимодействию внутри программ. Кроме комфорта, гибкости и ранее невозможных корректировок «на лету», он ещё больше снизил порог вхождения, и позволил активно использовать меню и контекстные подсказки в программах в духе:

  1. Вывести список
  2. Загрузить файл
  3. Сохранить файл
  4. Выход из программы

(спойлер: большинство разработчиков навыков всё ещё находятся здесь)

Самое время вспомнить ту самую команду choice, что позволяла создавать целые каскады меню в bat-файлах, и которая и сегодня спустя десятилетия входит в целый ряд операционных систем.

Примерно в это же время стали осмысливаться программные «горячие клавиши» (в отличие от строгого аппаратного набора управляющих клавиш на первых компьютерах). Что это означало практически? Что в консольных программах OS уже не надо переходить из одного меню в другое, чтобы в конце концов, добравшись до главного, нажать заветное «4 - выход». Достаточно в любой момент исполнения нажать Ctrl-C.

Следующий прыжок и новая степень свободы – да, конечно, графический интерфейс и свободно перемещающийся курсор!

Теперь не надо последовательно гулять по всем меню, они все одномоментно визуально доступны, а для запуска достаточно кликнуть по нужному пункту в любой момент исполнения программы. Одновременно скупые когда-то Ctrl-Z и Ctrl-C эволюционировали в целый «язык», понятный сегодня всем: Ctrl-N, Ctrl-O, Ctrl-V, Ctrl-P, Shift-Ctrl-Z – их действия «возникают» у нас в голове раньше, чем мы дочитываем текст.

И, наконец...

...мы добираемся до главной темы: голосовые интерфейсы!

Этот радикальный переход не только от клавиш к голосу, но и от экрана к «слепому» общению ставит целый ряд задач, многие из которых, к нашему счастью, успешно решались на предыдущих этапах. Нам остаётся выбрать правильные варианты.


Что надо выделить в первую очередь:

Задача Решение Чего нужно избегать
Способ общения для многих пользователей радикально новый, необжитой Необходимо больше подсказывать и информировать, чем в обычных программах Не перегружайте слух пользователя ненужной в данную секунду информацией
Про обычную программу пользователь может прочитать в её же справке, скопировать выдержки, сделать закладки, изучить на официальном сайте или на форумах с обзорами. А запуск навыка наверняка произойдёт вслепую и, возможно, пользователь даже не поймёт, что запустил условную «подпрограмму» Нужно сразу рассказать, какую именно проблему пользователя решает навык, и как наиболее эффективно его можно использовать Не рассказывайте, как много навык всего крутого умеет. Скажите, чем он полезен
У голосового интерфейса нет безразмерного экранного места для длинных абзацев с красивыми иллюстрациями Расскажите коротко, лёгким языком и образно, максимально упростив восприятие для визуалов. Помогите им создать «картинку» в голове. Не забывайте, что далеко не всем комфортно получать информацию «на слух»
Человек не машина, имеет право вспомнить какой-то из пропущенных шагов, внести уточнения или полностью поменять своё решение на любом шаге Стройте диалог свободно, как если бы это была беседа Не теряйте общий контекст сессии (представьте на месте вашей программы живого собеседника, или сотрудника сервиса)
Каскады из меню «Древовидные» меню – плохой выбор (если это не вызвано какой-то критической необходимостью, которой автор в жизни пока не наблюдал). Намного лучше подойдёт аналогия с глобальными «горячими клавишами» (один из примеров – требуемая платформой Яндекс обработка команды «Помощь» при любом шаге общения в навыке), или параллельными «дорожками», между которыми пользователь сможет прыгать в нужный ему момент
Пользователь должен всегда понимать, в каком именно разделе программы и на каком шаге находится. Свобода передвижения не должна нарушать информированность
Интерес к диалогу; живой, естественный язык Если вы предлагаете Хотите продолжить (сохранить, выбрать, перейти) – то обязаны обработать как минимум основные предложенные вами слова (включая "Хочу"), и не предлагать вместо них искусственно навязанное другое. Отличное решение - предусмотреть синонимы и разговорные ответы: «Да, Конечно, Валяй, Поехали». Стоит активно использовать интенты, предлагаемые платформой Диалоги «Вы хотите продолжить? Скажите ‘Далее’» - практически худшее, что можно придумать. Хотя нет, ещё хуже - жёстко зашить отсутствующее в вопросе слово как единственный принимаемый вариант.
Утомительные и сбивающие лишние шаги при вводе Если есть возможность получить всю нужную информацию в одной фразе – стоит попотеть, чтобы этого достичь, пользователи будут вам благодарны Соблюдайте баланс между ёмкостью и сложностью ввода. Можно сказать «Назовите ваши имя, пол и возраст» - и разобрать полученную строку за один раз, легко для пользователя. Но сложные данные (точное соблюдение формата ввода, длинное объяснение, неочевидность вводимых чисел) лучше разделить.
Лишние шаги, часть 2. Порой в игровых навыках встречаются бесконечные "Продолжаем?", которые пользователь должен бесконечно подтверждать. Это напрягает, выбивает из динамики и в итоге отбивает охоту запускать не только этот, но и другие, хорошие навыки. Поставьте себя на место пользователя. Если он не захочет продолжать, то просто закроет навык или произнесёт команду смены режима, получения счёта, итд. Не заставляйте совершать его обезьяньи действия. Необходимость подтверждения всё же существует при риске оборвать игру в режиме соревнования (или если вы не ещё умеете сохранять статистику игр), перед другими важными или критическими действиями (удаление аккаунта, оплата, итд)
Живое «человеческое» общение В отличие от графических программ не только не нужна стандартная фраза на все сходные окна диалогов, а наоборот, даже в одинаковых случаях правильно проработать по нескольку вариантов ответов, обращений, пояснений (так называемые промпт-листы)
Атмосфера голосовых приложений Компенсируйте недостаток графики интересной озвучкой, характерами героев/ведущего, художественным текстом, возбуждающим воображение. Всегда дублируйте произносимый текст на случай экрана. Не переборщите)) не заставляйте пользователя слушать длинный безусловно красиво записанный шум моря, если он хочет скорее сделать следующий ход. Очень бережно относитесь к относительным уровням громкости голоса, шумов и эффектов


Подытожим:

  • Чего не должно быть:
    • никаких вложенных меню,
    • никаких жёстко зашитых безальтернативных вариантов ввода,
    • никаких конфликтов между подсказкой и ожидаемым к вводу словом.
  • Что должно быть:
    • краткое ясное информирование пользователя о его пользе с самого запуска навыка,
    • чёткие образные подсказки,
    • разные варианты текстов для одних и тех же ситуаций,
    • максимальная «пронизанность» навыка «горячими клавишами» навигации и смены режимов
    • и разнообразие принимаемых к вводу команд.

Примеры

Рассмотрим условный навык «Угадай меня»: