Умный дом с NoUI

Базовый интерфейс, с которым мы все сейчас привыкли взаимодействовать — GUI (Graphical User Interface, графический пользовательский интерфейс). Любое наше взаимодействие с web, mobile и любой системой умного дома присходит именно по средством взаимодействия с ним. Он знаком пользователям, и сейчас на рынке образуется критическая масса профессиональных кадров, понимающая принципы его построения. Можно уверенно сказать, что человечество покорило это инструмент.
Также есть еще один тренд набирающий популярность — VUI (Voice User Interface, голосовой пользовательский интерфейс). Он больше похож на футуристичный инструмент из кино
Но уровень того, насколько он незнаком пользователю, плюс невозможность заранее увидеть доступные варианты управления согласно закону Хикка делают данный интерфейс менее скоростным в сравнении с GUI.
Полагаю, революция в данном случае случится достаточно быстро (3-5 лет), потому что у современных людей уже был опыт приспособления к предыдущему поколению интерфейсов.
Однако с голосовым управлением остается фундаментальная проблема: вам сначала нужно полностью продумать команду и лишь потом начать взаимодействовать с интерфейсом, когда в случае с GUI все наоборот.
На примере написания заметки: с голосовым управлением вы сначала полностью формулируете заметку, формулируете управляющую команду, затем произносите управляющую команду «Алиса, запиши заметку», далее диктуете текст. Эти три шага суммарно составят затраченное на взаимодействие с интерфейсом время.
Тогда как используя уже привычный графический интерфейс, вы формулируете путь до приложения с заметками и проходите его. Хотя задача не выполнена до конца, непосредственное взаимодействие с интерфейсом закончено и теперь вы можете также надиктовать текст заметки.
Я допускаю, что VUI уверенно займет свое место, как один пазл чего-то большего. Но настоящий прорыв придет с распространением — NoUI (No User Interface, отсутствие пользовательского интерфейса).
Объект системы — Человек
Руководствуясь базовыми принципами ООП построим серверную часть системы умного дома, используя следующие объекты:
- Девайс. Имеет основные функции: подключение, изменение, удаление. И обладает рядом подклассов, которые уже и определяют специфичные свойства и функции.
- Помещение. Обычно имеется в виду комната или в более глубоком представлении Дом плюс объекты внутри — комнаты. В продвинутых системах каждое помещение обладает своими свойствами (например, влажность, температура), влияя на которые приводятся в работу определенные функции Девайсов.
- Сценарии. Триггеры, настраиваемые пользователем или заранее закладываемые разработчиком, которые автоматически приводят в действие функции девайсов при наступлении определенных условий.
- Пользователь. Объект, к которому привязаны девайсы и помещения и который администрирует их настройки и взаимодействия.
Это очень утрированное представление, но оно отображает основную суть того, как сейчас происходит взаимодействие внутри систем Умного дома.
Чтобы автоматизировать систему, введем дополнительный объект — Человек. Можно также расширить существующую модель Пользователя, однако, в моем представлении, пользователь это административная функция, а Человек непосредственный участник взаимодействия.
Для примера наделим его следующими свойствами:
- Состояние (сон, бодрствование)
- Местоположение (комната, отсутствие)
- Действие (движется в комнату, покидает дом, занимается спортом)
- Активность (высокая, низкая, обычная)
- Температура (обычная, повышенная)
- Комфортный климат (влажность, температура, чистота воздуха)
- Время
Из сочетания тех или иных свойств будут вызываться определенные функции:
- Время — 21:00, Состояние — бодрствование, нужно вызвать функцию, которая изменит режим освещения всех лампочек в доме на приглушенно желтый, чтобы способствовать выработке мелатонина.
- Местоположение — Отсутствует, Время — 02:00, включить эффект присутствия с помощью освещения.
Основной проблемой в этом случае становится определение пользователя системой — его авторизация. Так как люди пока что не чипируют себя, нет надежных меток их местоположения, свойств.
Но каждый уже сейчас обладает меткой, которая косвенно может о них говорить — мобильный телефон. В случае более придвинутых пользователей — носимая электроника.
Авторизация
Процесс авторизации возвращает значение свойств Пользователя, в числе которых «местоположение». При этом в качестве функций возможно подключение нескольких вариантов авторизации.
В таком случае, в простейшей форме система, к примеру, использует базовый метод авторизации по MAC-адресу мобильного телефона, в которой через триангуляцию устанавливается ближайшее устройство, а соответственно пользователю присваивается помещение того же устройства.
При этом главным критерием авторизации выступает не сам пользователь, а его мобильный телефон, что в свою очередь может привести к неправильному выполнению метода.
Поэтому в архитектуре предусмотрена возможность подключить дополнительные методы: добавить авторизацию по MAC-адресу смарт-часов или фитнес-браслета, как более носимого девайса в том числе в условиях дома, или авторизация по скриншоту с видеокамеры, при наличии подключенной к системе. С развитием системы и появлением более мощных девайсов возможно использование методов вплоть до определения по сердечному ритму.
Также это оставляет свободу в приоритезации того или иного метода авторизации, к примеру, если система использует в приоритете авторизацию по часам, но видит изменение положения телефона, логичным предположением будет то, что пользователь снял часы. Особенно если она располагает информацией, что девайс находится на зарядке.
Свойства пользователя
Пример со свойствами и вызываемыми функциями был приведен очень грубо. Чтобы охватить разом всю картину, нужно понять главный принцип:
Свойства объекта Человек описывают общие закономерности присущие всем подобным объектам
Таким образом, черпая вдохновение из научных работ о человеке, мы получаем огромный набор научно-обоснованных гипотез для развития системы.
Вроде того, что яркий свет останавливает выработку мелатонина, а желтый напротив. Прогретое помещение нужно, а когда человек находится в нем, а если ушел. И здесь все равно, какой из приборов решит эту проблему.
Отсюда и получается, что наличие любого интерфейса для взаимодействия — лишняя прослойка. Умное это не то, что включается и управляется дистанционно, а то, что влияет на пользователя.
Фото Sebastian Scholz
P.S. Почему я вообще написал все это?
В данный момент я работаю над созданием системы Умного дома в Российском подразделении компании Леруа Мерлен. Мне удалось изучить большое количество решений коллег, разрабатывающих умные решения как в России, так и в мире.
Потенциально за этими технологиями видится колоссальный рынок. Но как в бум IoT-стартапов в 2014 года, так и сейчас рынок не сформировался.
Я сделал вывод, что абсолютно все нарушают одну важнейшую истину:
Умный дом это не про дом, а про человека
Связаться со мной