Выбрать главу

Опубликовано 10 апреля 2013

На фестивале SXSW, прошедшем в марте 2013 года в США, инженер Google Тимоти Джордан рассказал, как работают Google Glass и как разрабатывать приложения для них. И хотя прототипы очков пока что доступны лишь малому числу разработчиков и пользователей, знать, как они устроены, может оказаться очень полезным. Похоже, в Google сделали всё возможное, чтобы создать экзотический интерфейс очков удобным, а разработку приложений — лёгкой.

http://www.youtube.com/watch?v=JpWmGX55a40

Стоит учитывать, что до того, как очки начнут продаваться, кое-что ещё может измениться, но по речи Джордана уже можно составить достаточно полное впечатление. К тому же изменения, если и последуют, будут основаны как раз на пожеланиях разработчиков-первопроходцев.

Как работает интерфейс Google Glass

Итак, как работают очки Google? Первое, что важно знать: они не блокируют зрение — человек по-прежнему видит всё, что происходит перед ним. Как и любой смартфон, очки по умолчанию вообще не отображают информации на экране. Если прикоснуться к тачскрину на дужке, на экране появятся часы и подсказка «ok glass».

Эту фразу нужно произнести, чтобы активировать очки. Проведя пальцем сверху вниз по тачпаду, можно заблокировать экран обратно. Произнеся приветствие, мы видим список доступных команд: «google, сделать фото, записать видео, проложить маршрут, послать сообщение».

Например, можно сказать: «Google, как сказать «спасибо» на японском?» — и система отправит голосовой запрос к поисковику. Когда ответ будет доставлен, пользователь увидит написание японского слова «спасибо» в оригинале и на английском, а также услышит это слово, произнесённое вслух.

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

Ткнув в дужку в тот момент, когда очки показывают карточку, мы вызываем контекстное меню. Его пункты тоже листаются при помощи тачпада. Например, для картинки меню будет состоять из команд «поделиться» и «удалить». Нажав «поделиться», можно следом выбрать, куда отправить картинку.

Существует также специальный тип карточек — с загнутым уголком наверху. Это на самом деле не карточки, а «связки» карточек (bundle), и каждую из них можно развернуть, чтобы увидеть дополнительное содержимое. Движение пальцем вниз по тачпаду всегда будет возвращать на предыдущий уровень меню.

Как разрабатывать приложения для Glass

Приложений, работающих непосредственно на компьютере, встроенном в Glass, в Google делать не разрешат. Вместо этого разработчикам предлагается создавать веб-сервисы, которые будут общаться с сервером компании, а тот, в свою очередь, будет обмениваться информацией с пользовательскими очками. Сервис отправляет карточки серверу Google, который отслеживает состояние очков и берёт на себя всю работу по синхронизации данных.

Для взаимодействия используется три технологии: запросы REST, протокол авторизации OAuth2 и формат данных JSON. Если вкратце, то REST позволяет работать с наборами данных: по HTTP у сервера либо запрашивается список элементов, либо посылается команда на удаление или добавление элемента. OAuth2 — это технология, которая позволяет разрешать сторонним сервисам делать что-то от имени пользователя. Подключение сервиса к Glass более или менее аналогично установке программы: пример такого взаимодействия можно видеть в Twitter, Facebook и во многих других сервисах, предоставляющих интерфейсы для сторонних приложений.

Каждая карточка может содержать текст, картинки, HTML или видео. Также разработчик может сделать карточку «связкой», содержащей другие карточки. К примеру, связка карточек со сводкой новостей будет отображаться в таймлайне как одна новость, но если выбрать её, можно узнать подробности или прочесть остальные актуальные заголовки.

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