Контроллер Steam Controller заставили ездить по столу как миниатюрную радиоуправляемую машинку, причём прямо из вкладки браузера на Chromium. Для русскоязычной IT-аудитории это не просто забавный DIY-трюк: история хорошо показывает, до какой степени веб уже умеет работать с «железом» без драйверного зоопарка, десктопных клиентов и плясок с SDK.
Как пишет Habr / Новости, автор проекта сделал страницу, которая подключается к Steam Controller через WebHID и управляет встроенными вибромоторами так, чтобы устройство медленно двигалось по ровной поверхности в нужную сторону. Пользователю не нужно ставить отдельное приложение или драйвер: достаточно открыть сайт в совместимом браузере, подтвердить устройство в системном окне выбора и дальше управлять контроллером в реальном времени.
С технической точки зрения идея одновременно простая и красивая. Вибромоторы в геймпаде обычно нужны для тактильной отдачи, но при определённой частоте импульсов они начинают раскачивать корпус целиком. Если менять характер сигнала на левом и правом моторе, контроллер не только ползёт вперёд по столу, но и поворачивает. По сути, браузер не «едет» устройством в привычном смысле, а аккуратно толкает его серией вибрационных импульсов. Выглядит немного абсурдно, но именно такие абсурдные эксперименты часто лучше любой презентации объясняют, на что реально способен современный веб-стек.
Ключевой компонент здесь — WebHID, стандарт для низкоуровневой работы веб-страниц с USB- и Bluetooth-устройствами. Он позволяет сайту обмениваться командами с периферией после явного разрешения со стороны пользователя. Это важная деталь: никакой магии «сайт захватил устройство сам» тут нет, соединение строится через стандартный диалог выбора девайса в браузере. Именно поэтому проект запускается в одной вкладке и не требует локальной установки. Для разработчиков это лишнее напоминание, что браузер давно вышел из роли контейнера для формочек и новостных лент. Если нужно быстро собрать прототип для взаимодействия с железом, веб уже выглядит не компромиссом, а вполне рабочей площадкой.
Есть, правда, и предсказуемые ограничения. WebHID поддерживается только в браузерах на базе Chromium — например, в Chrome и Edge. В Safari и Firefox такой сценарий не взлетит. Для массового продукта это серьёзный стоп-фактор: как только приложение завязано на браузерные API вокруг устройств, сразу приходится думать не только о UX, но и о матрице поддержки, политике безопасности и том, насколько ваш целевой пользователь вообще сидит в нужном браузере. Для демо, внутренних инструментов и инженерных прототипов это терпимо. Для широкого потребительского запуска — уже вопрос. В этом смысле история со Steam Controller ценна не как готовый продукт, а как демонстрация границ возможного.
Контекст у новости тоже показательный. Браузерные API для работы с периферией — WebUSB, WebBluetooth, Web Serial, WebHID — давно вызывают двойственную реакцию. С одной стороны, разработчики получают короткий путь к созданию конфигураторов, диагностических панелей, лабораторных интерфейсов и прочих утилит, которые раньше почти автоматически означали нативный клиент. С другой — каждая такая возможность повышает требования к безопасности и прозрачности разрешений. Поэтому отрасль движется осторожно: API появляются, но поддержка по браузерам фрагментирована, а сценарии использования долго живут на грани между «вау» и «а давайте всё же не будем давать странице слишком много». Проект со Steam Controller попадает ровно в эту серую, но очень продуктивную зону: пользы на каждый день немного, зато инженерной наглядности хоть отбавляй.
Для команд, которые делают продукты на стыке софта и устройств, вывод вполне практический. Если задача — быстро показать концепт инвестору, собрать внутренний инструмент для настройки периферии или проверить механику взаимодействия без отдельной десктопной разработки, браузерный подход становится всё более рациональным. Веб-интерфейс проще развернуть, обновить и отдать пользователю по ссылке, чем поддерживать установщик под несколько ОС. Особенно если речь идёт о нишевом оборудовании или коротком жизненном цикле прототипа. Да, до полноценной замены нативных приложений тут далеко. Но порог входа в hardware-проекты заметно снижается, и это уже влияет на скорость экспериментов в индустрии.
Есть и культурный слой, без которого история была бы менее живой. В заметке вспоминают более раннюю находку пользователей: выяснилось, что контроллер Valve умеет издавать звук при падении, если включён режим Big Picture, причём вибромоторы воспроизводят знаменитый «крик Вильгельма». Это, конечно, из той же категории инженерных шалостей, где продукт внезапно оказывается чуть более странным и человечным, чем обещал маркетинг. Но именно такие детали и создают вокруг железа экосистему экспериментов, а вокруг API — реальные кейсы, пусть и с оттенком техно-цирка.
В сухом остатке новость не про то, что миру срочно понадобился геймпад, катающийся по столу. Она про другое: веб-платформа уже достаточно взрослая, чтобы напрямую работать с устройствами и порождать неожиданные сценарии без толстого слоя нативного софта. Вопрос теперь не в том, можно ли подключить железо к браузеру, а в том, какие из таких трюков останутся эффектным демо, а какие quietly переедут в инструменты, которыми инженеры и продуктовые команды будут пользоваться каждый день.