Умные колонки, прошивки, релизноутсы и облака
Содержание
Колонка обновилась, а что поменялось?
В комьюнити нередко возникают вопросы такого рода:
- А что нового в этой прошивке?
- Почему нет релизноутсов прошивок!
- Опять ничего нового в прошивке...
А особо "хитрые" участники комьюнити задаются вопросом "А что будет, если поломать прошивку подписной колонки?" 😈
Давайте разберёмся вместе.
Как устроены умные колонки
Практически все - одинаково:
- Микрофоны слушают окружающий шум и непрерывно ищут команду активации.
- Если активационное слово найдено - вся следующая "громкая часть" до тишины также очищается от шумов.
- Очищенный сэмпл уходит на облачные сервера для распознавания.
- В распознанном запросе выявляется интент (намерение пользователя).
- Колонке отправляется команда (и совсем необязательно содержащая запрос или его часть).
Например: - на запрос "Расскажи про погоду" из облака возвращается готовый текст с прогнозом погоды. - на фразу в режиме болталки - рандомный ответ всё той же облачной нейронки. - на запрос изменения громкости... команда изменения громкости, неожиданно)
В зависимости от сценария данные могут ещё несколько раз "скрикошетить" между колонкой и облаком. К примеру, мы хотим найти фильм. Тогда плюс к предыдущим действиям (это условная схема, чисто для иллюстрации):
- Получив команду, колонка направляет запрос на сервис Кинопоиска.
- Кинопоиск сообщает, что такого фильма/сериала в базе нет.
- Колонка получает сообщение и направляет запрос уже для поиска "...в сети" в сервис Яндекс.Видео.
- Сервис возвращает список фильмов.
Последующими командами можно пролистать галерею (при этом, возможно, будут подгружаться дополнительные данные) и запустить выбранное видео. При этом:
- Колонка откроет соединение с удалённым сервисом видео (ok, youtube, эфирные стриминги)
- обрабатывает получаемый поток и выводит его на экран.
Точно так же и с воспроизведением музыки. Что здесь самое главное:
- Распознаёт команду - облако.
- Выделяет интент из запроса - облако.
- Что отправить колонке в ответ на запрос - тоже решает облако.
- Активирует тот или иной сервис (Такси, КП, итд) - опять облако.
- Будет ли сервис работать с данным экземпляром колонки - облако.
- Отдаёт готовые тексты (погода, фактоиды, итд) и мультимедиа-потоки - снова облако.
Что остаётся на стороне колонки?
- Выделить из шума команду, отправить на сервер.
- В зависимости от команды с сервера озвучить полученный текст или открыть медиапоток.
- Воспроизвести этот поток.
Обновы и release notes
Теперь, когда стало понятно, как работает умная колонка с облачными сервисами, понятно и то, что появление новых возможностей не только не обязано быть связанным с выходом прошивки, но и... не должно. Почему?
- Запустили одновременно облачную часть и прошивку. Возник баг. А где он возник? Что из двух частей или их взаимодействия надо немедленно исправить? Ведь одновременно нарушена работа, возможно, десятков тысяч устройств. А в случае поочерёдного ввода найти проблему в несколько раз проще.
- Подготовили прошивку, начали тестировать работу с облачной частью. Выпустили. Если обнаружилась ошибка в облачной части - то снова не надо трогать прошивку. А вот если баг нашёлся именно в прошивке - когда облачная часть уже вовсю работает - вот только тогда есть необходимость трогать прошивку, накатив исправления.
Именно поэтому в релизноутсах нет ничего "вкусного", а список изменений - практически всегда сухое упоминание о багфиксах.
Что хранится в колонке?
Где что выполняется - уже понятно; теперь попробуем разобраться, где что хранится. В колонке - совсем немного, например:
- Таймеры и будильники;
- Прогресс последнего воспроизведённого видео и музыки;
- История навигации (по которой можно вернуться серией команд "Назад").
После перезагрузки колонки большинство этих данных пропадёт.
Ну, а на серверах Яндекса (Паспорт, облачные сервисы, итд), в свою очередь:
- Дела и напоминания;
- Вся информация об аккаунте, подписках, покупке фильмов;
- Все настраиваемые параметры ("Семейный фильтр", "Отвечать одной колонкой", "Узнавать детские голоса", настройки новостей, итд);
- Устройства и сценарии Умного дома;
Все "серверные" данные останутся в целости и сохранности не только при отключении колонки, но и при её перевозке на новое место, замене, отвязке/привязке к другому аккаунту, итд.
Там ещё про подписную было...
Ах, да) "взлом" подписной колонки. Смысла в этом ровно столько, сколько в попытке "взломать" банковскую платёжную карточку. То есть, нисколько. Ведь информация о денежном балансе, кредитная история, тарифы и доступные возможности хранятся не в карте, а самой в платёжной системе. Точно так же, как информация о подписке и возможностях колонки определяется не колонкой, а облаком.
А моя вообще не обновилась!
Остался ещё один важный нюанс:
- обновления физически не могут упасть одномоментно ко всем;
- включаемые в облаке функции также могут "приходить" постепенно.
Что делать? Просто подождать пару дней, и ваша колонка тоже обновится.
"Ускорить" получится только апдейт локальной прошивки (и только для больших Станций - полным сбросом), но мы настоятельно не рекомендуем сбрасывать колонки по пустякам.