Содержание статьи
У Google есть сайт Chrome Experiments, на котором пользователи могут публиковать необычные, странные и просто смешные веб-приложения для веб-браузера Chrome. Именно там впервые появились Google Gravity, BioDigital Human, WebGL Globe и другие интересные веб-аппы. Однако не все знают, что подобный веб-сайт есть и для другого известного продукта Google — Android Experiments. И там тоже много чего занятного.
Игра в уведомления
На самом деле экспериментов пока не так уж много. Чуть меньше пятидесяти проектов, выполненных как классические приложения или программно-аппаратные комплексы типа «стенда улыбок» или роботов с автопилотом. Однако и среди них можно найти массу интересного. Как насчет игры, в которую можно играть прямо в панели уведомлений? Запускаем HungerMoji, вытягиваем шторку, выбираем, смахивая уведомления, персонаж и еду, за которой он будет охотиться. Смахиваем последнее уведомление, чтобы начать.
Персонаж передвигается по верхнему уведомлению, а навстречу ему «летят» другие уведомления снизу. Они содержат фрукты, овощи, мороженое и прочие яства. Иногда будут попадаться и бомбы. Чтобы защитить персонаж, их необходимо смахивать. Задача, как и положено в играх подобного рода, — продержаться как можно дольше.
Глупость? Вообще — да, но если в Android с помощью одних лишь уведомлений можно реализовать целую игру, включая интерфейс запуска, то нельзя ли пойти дальше? API уведомлений позволяет делать огромное количество интересных вещей, выводить и менять изображения, добавлять кнопки, развертываемое меню, по-разному обрабатывать смахивания в разные стороны, подменять старое уведомление на новое, управлять их показом и читать информацию о других уведомлениях.
Кажется странным, что никто до сих пор не задействовал эти возможности для создания полноценных приложений. Например, читалки новостей, которая была бы реализована как уведомление: смахиваешь и видишь следующую новость, нажимаешь кнопку и сохраняешь в Pocket, нажимаешь на другую кнопку и открываешь в веб-браузере. Ну или представь аудиоплеер без интерфейса, который позволяет переключать композиции смахиванием в разные стороны и выводит более подробную информацию о треке при разворачивании. Никакого громоздкого интерфейса, плеер, который всегда доступен и полностью управляется из шторки. Я бы хотел такой.
Не смотри на меня!
Еще один интересный полуигровой проект — это Boo!. Задача проста — не смотреть на экран. Если все пойдет по плану, на экране соберутся несколько шарообразных существ. Как только взглянешь на экран — все пропало, они заметят тебя и разбегутся в разные стороны.
В целом ничего особенного, но игра затрагивает тот самый мучающий всех вопрос: можно ли управлять смартфоном одним лишь взглядом? Некоторые производители уже пытались применить подобную технологию, но больших успехов не добились. Фирменная прошивка смартфонов Samsung еще с версии для смартфона Galaxy S4 включает функцию слежения за глазами при чтении, поддерживая экран включенным, пока ты не закроешь глаза (уснешь), но популярностью она не пользуется.
В современных версиях Android есть похожий метод для подтверждения аутентификации по снимку лица: недостаточно показать себя, надо еще и моргнуть, доказав, что ты не бумажный. Кто пользуется этой функцией? Подумай сам. Отдельные разработчики пытаются пойти дальше, но тоже без особого успеха. Взгляни хотя бы на рейтинг довольно интересного концептуального приложения Eye Tracker, позволяющего набирать текст с помощью движения глаз. Интересная задумка, но таких мучений не пожелаешь никому.
В общем, постоянное топтание на месте, с кучей непонятных полуработающих экспериментов. А ведь так хотелось.
Разблокировка наклоном
Но вернемся к нашим баранам, а точнее экспериментам. GestureLock — локскрин, позволяющий разблокировать экран с помощью движений смартфона. Для начала обучаешь смартфон, наклоняя в разные стороны, а затем повторяешь те же действия для разблокировки экрана. Пять с плюсом за оригинальность, да и взломать не так уж просто, если движений действительно много. Вот только запомнить их — задача не из тривиальных, слишком уж непривычен сам тип запоминаемой информации. Черт его знает, на сколько градусов ты наклонил смартфон в третий раз.
Судя по всему, задача этого эксперимента — показать более удобный и действенный способ разблокировки, и отчасти разработчику это удалось. Если поискать, то в маркете можно обнаружить и другие попытки решить ту же задачу. Например, DroidLock позволяет использовать в качестве PIN’а текущее время, дату, процент заряда батареи или все эти данные, перемешанные вместе с помощью одному тебе известного алгоритма. Реализация подобной функциональности есть и для iOS, но только для джейлбрейкнутых устройств — твик TimePassword.
Рыбий глаз для запуска приложений
Lens Launcher — очередной инновационный лаунчер для Android. В этот раз «инновация» заключается в том, что иконки всех приложений расположены на одном рабочем столе и, соответственно, сильно уменьшены. Но стоит прикоснуться к экрану, как включается эффект рыбьего глаза, увеличивая иконки под пальцем. Выглядит довольно впечатляюще и, конечно же, очень сильно напоминает интерфейс Apple Watch. С тем исключением, что это действительно удобный лаунчер.
Когда-то я читал колонку на одном из посвященных продуктам Apple веб-сайтов, где автор очень лестно отзывался об интерфейсе Apple Watch и на полном серьезе предлагал применить тот же интерфейс в iOS. Тогда мне эта идея показалась нелепой, однако спустя время, опробовав твик WatchSpring на iPhone и Lens Launcher на Android, я понял, что это не такое уж сумасшествие. Да, идею надо дорабатывать и применять не к самому рабочему столу, а к меню приложений, но в целом очень и очень неплохо.
Часы как игровая площадка
Tilt — еще один игровой эксперимент. Фишка этого приложения — технология дополненной реальности. Ты запускаешь приложение, наводишь его на свои часы на базе Android Wear, и смартфон рисует поверх них игровую площадку. Это полоса препятствий, по которой надо прокатить шарик. Классическая игра, которую изначально придумали как подвижный деревянный стол с лабиринтом и металлическим шариком внутри, а сейчас перенесли в виртуальную реальность.
Вообще, идея приспособить умные часы для чего-то большего, чем показ уведомлений, далеко не нова. На том же сайте есть другой эксперимент, использующий в качестве своеобразного пульта Nintendo Wii: машешь руками для того, чтобы птица на экране не падала. Судя по видео, пока что у приложения явно есть проблемы с задержкой и определением взмаха.
3D-пульт
А как насчет того, чтобы превратить смартфон в пульт управления? Нет, не обычный пульт с кнопками, каким твоя бабушка переключает каналы на телевизоре, а 3D-пульт. Проект так и называется — 3D Controller. Пока это всего лишь демка, которая позволяет управлять 3D-объектом на экране телевизора и играть в простенькие игры, но, как уверяют разработчики, благодаря открытому API программисты могут реализовать любые другие виды приложений, управляемых с пульта. Видео.
Основное отличие приложения от обычных 3D-пультов, которые продаются по пять баксов на aliexpress.com и представляют собой беспроводную мышку с гироскопом, в том, что оно работает, используя Chromecast, то есть само занимается выводом картинки на экран. Ты можешь установить приложение на свой смартфон и использовать его с любым телевизором, к которому подключен Chromecast.
Роботы
Есть на Android Experiments и несколько проектов роботов. Автономных и не очень. Autonomous Android vehicle — робот, единственная задача которого — кататься за зеленым шариком, обходя препятствия на своем пути. Робот использует смартфон для навигации и слежения за объектом, библиотеку компьютерного зрения OpenCV для обработки данных с камеры и плату IOIO для связи смартфона с «телом» робота и реализации логики работы.
К слову, плата IOIO уже давно пользуется популярностью у строителей роботов на базе Android, поэтому на ней же основаны и все остальные проекты роботов, опубликованные на Android Experiments. IOIO Camera robot project — собранный из конструктора лего робот, которым можно управлять с другого смартфона, видя изображение с камеры. Так же работает IOIO Rover.
Проекты исключительно экспериментальные и, можно сказать, образовательные (такими вещами занимаются на втором курсе универа), поэтому у всех роботов полностью открытый исходный код, который можно использовать, чтобы собрать нечто подобное собственными руками.
Выводы
А знаешь, что самое интересное во всех этих проектах? То, как Google относится к нестандартному применению своих продуктов. Android — открытая платформа, использующая открытые стандарты и по минимум ограничивающая разработчиков приложений и кастомизаторов. В Play Store никогда не было серьезных ограничений на публикацию приложений, и там можно найти массу софта, привлекающего права root. Google никак не противится развитию кастомных прошивок и использует любую возможность, чтобы показать, на что способны устройства на базе Android.
Сравни это с поведением Apple, которая везде, где только можно, старается внедрить собственные закрытые стандарты, вынуждая людей платить за неоправданно дорогую сертифицированную периферию, не оставляет разработчикам возможностей для действительно полного использования возможностей устройства и удаляет из App Store интересные приложения (те же измерители веса, использующие датчик давления на экран).
«Don’t be evil» уже давно не слоган Google, но в данном случае он подходит на 100%.