На заре компьютерной эры, когда ПК были слабые и очень дорогие, в офисах вместо компьютеров использовали пустышки — терминалы. Очень слабые бездисковые рабочие станции, которые просто выводили картинку, которую для них рисовал сервер.

И вот круг замкнулся. Теперь мощные сервера стримят игры на наши дисплеи. А наши смартфоны теперь сами выступают в качестве такого “сервера”, которые стримят интерфейсы на на более слабые машины. Поэтому сегодня мы разберемся в технологиях мобильного стриминга.

Выясним, чем AirPlay отличается от Google Cast? Обсудим зачем Apple раньше добавлял мини-джек даже в роутеры? Узнаем может ли Chromecast отпугивать комаров? И разберемся как смартфоны научились стримить целые приложения на примере CarPlay и Android Auto.

Начнём с двух самых популярных технологий стриминга — AirPlay и Google Cast. Вроде бы эти технологии делают одно и то же — стримят аудио и видео на телевизоры и умные колонки, но делают они это принципиально по-разному.

AirPlay

Итак, Airplay. Для владельцев техники Apple, Airplay понятная и привычная технология с богатой историей.

AirPlay основан на древней технологии AirTunes 2004 года. Которая тогда позволяла стримить аудио с iTunes на прообраз всех умных колонок — AirPort Express.

Это был компактный роутер который вставлялся в розетку и выглядел как здоровенный адаптер питания. А еще к нему можно было подключить колонку через аудиовыход и слушать музыку через AirTunes где захочешь. Ноу-хау для своего времени!

Ну а дальше, в 2010 году, в эпоху iPhone 4, AirTunes стал AirPlay. Теперь стримить можно было через любой роутер на любые сертифицированные девайсы от разных брендов. Причем стримить не только аудио, но и фото, и видео, и метаданные: заголовки песен, имена артистов, обложки альбомов.

А в 2017 году вместе с AirPlay 2 добавилась возможность стримить музыку сразу на несколько девайсов одновременно. Чтобы сразу весь дом на ушах стоял.

В чем особенности технологии?

1. AirPlay — это проприетарный протокол Apple, поэтому хочешь поддержку — плати.
2. Для работы AirPlay необходимо, чтобы устройства находились одной сети WiFi, потому как связь между устройствами осуществляется через роутер.
3. Всю работу по обработке данных берет на себя устройство передатчик, а приемник просто получает готовый потоковый сигнал. А значит, когда вы стримите что-то с iPhone, он занят и расходует батарейку.

Из плюсов — удобство. Между устройствами не нужно создавать пару. Стримить можно в один клик на любое лицензированное устройство в рамках одной WiFi сети.

Google Cast

Забавно, что главный конкурент AirPlay, технология Google Cast – другая во всём!

Google Cast, естественно дебютировал в Chromecast. И самое забавное, технология получилась чисто случайно.

Был такой инженер Маджд Бакар. Который заметил, что его жена, когда хочет что-то посмотреть на умном ТВ через стриминговый сервис, делает следующее:  ищет, что посмотреть на ноутбуке, откладывает его и потом ищет тоже самое на телевизоре. И только потом смотрит. А всё потому, что интерфейсы ТВ неудобные.

Поэтому инженер решил придумать интерфейс на смартфоне, который позволял бы воспроизводить видео на большом дисплее в пару тапов.

А дальше в 2011 году он устроился в Google и предложил эту идею. Ему сказали: Шикарно! Делай. И так в 2013 году появился Chromecast.

Так что, если заметите, что Google выпускает очередное странное устройство, не ищите логики – зачем они это делают. Там явно замешана какая-то история с женой.

Поэтому у Google Cast вообще другая идеология. Он изначально разрабатывался не для того, чтобы связать в экосистему кучу девайсов, которых у Google в тот момент не было. А для того, чтобы победить неудобные интерфейсы умных ТВ, игровых приставок и пр.

Для этого у Google Cast есть два режима трансляции.

Первый и основной способ условно назовём “делегирование”. Это не официальное название, но хорошо описывает суть. В этом случае устройство-передатчик, например Android-смартфон просто передает устройству с поддержкой Google Cast ссылку на контент, который нужно воспроизвести. Тем самым снимая с себя нагрузку по обработке потокового сигнала.

Очень эффективно и логично.

И второй режим, зеркалирование. Он нужен, когда мы просто хотим отобразить интерфейс смартфона на большом экране ТВ.

Итого Google Cast тоже простая и очень удобная технология проецирования, которая доступна на приставках Chromecast, почти на всех Android смартфонах и Android TV, многих умных колонках, и даже на iPhone и iPad. И это несмотря на то, что Google Cast — тоже проприетарный протокол.

Главный недостаток — необходимость создавать пару. Для чего используется приложение Google Home.

Кстати, по идее, для работы протокола нужно, чтобы устройства находились в одной сети WiFi. Но в 2014 году, для устройств Chromecast и только для них, Google представили «гостевой режим», который позволяет создавать пару между отправителем и получателем при помощи ультразвука, который воспроизводится телевизором. Люди ультразвук не слышат, а вот микрофон в смартфоне слышит.

Вот так можно законнектить девайсы. А заодно отпугнуть комаров или наоборот призвать крыс. Прям как Пегий Дудочник, если вы понимаете, о чем я.

Правда сегодня мы такой функции в Chromecast уже не нашли, может собакам не нравилось?

Коротко про остальное

Существуют и другие беспроводные протоколы — это WiFi Direct, Miracast, DLNA, WiDi и AirDrop. Буквально пару слов о них.

WiFi Direct — это часть стандарта WiFi, которая позволяет напрямую обмениваться файлами между двумя устройствами. То есть это режим одноранговой сети. Он используется на Android в разных реализациях в качестве альтернативы AirDrop.

А AirDrop – это аналог WiFi Direct, но на базе проприетарной технологии Apple — Multipeer Connectivity.

Miracast — это стандарт передачи мультимедиа сигнала по воздуху на основе WiFi Direct. Условно говоря, это HDMI по WiFi. Умеет только передавать видео и звук, больше ничего не умеет. Используется для подключения беспроводных дисплеев и почти нигде не работает. И есть еще DLNA и WiDi — аналоги Miracast, тоже не взлетевшие.

Apple CarPlay и Android Auto

Но нас на самом деле интересуют CarPlay и Android Auto. Почему? Скоро узнаете. У этих технологий, тоже интересная история.

Apple CarPlay зародился из совместной разработки Apple и BMW и вырос из функции «iPod Out», которая появилась в 2010 году. Функция позволяла управлять iPod через крутилки автомобиля и выводить на экран специальный интерфейс. Для того времени это была настоящая магия. Это вам не плеер по AUX законнектить!

Сам же CarPlay анонсировали на WWDC 3 годами позже и тогда он назывался iOS In The Car. А еще через год на выставке в Женеве, CarPlay получил свое официальное название.

Android Auto развивался с отставанием и был анонсирован на Google I/O в 2014 году, а релиз произошел в 2015 году.

Но только в 2019 году после серьезной переработки интерфейса система стала действительным конкурентом CarPlay.

Так почему же мы перешли от AirPlay и Google Cast к автомобилям. Дело в что, CarPlay и Android Auto — это тоже стриминг, только более продвинутый!

Тут стримится не просто видео и аудио, а целые интерфейсы с приложениями! Это очень интересно устроено. О том как всё это работает нам рассказали ребята из Яндекса, на примере Яндекс.Карт и Яндекс.Навигатора, которые наконец-то появились в Apple CarPlay и Android Auto, официально! Автомобилисты поздравляю вас, вы этого долго ждали! Но как же всё это работает?

На удивление, в отличие от AirPlay и Google Cast, технологии CarPlay и Android Auto по своей сути устроены одинаково. Поэтому расскажу вам сразу как устроено и то, и другое, указывая нюансы.

Итак, познакомимся с двумя главными игроками нашей пьесы: мобильный телефон и головное устройство автомобиля, более известное как ГУ. Так вот, связь между устройствами двусторонняя.

Телефон передает на ГУ отрендеренный интерфейс и звук. А ГУ, в свою очередь, отдаёт обратно:

  • нажатия на экран: тачи, драги
  • данные с данные с кнопочек, крутило-вертелок на руле, например регулировку громкости;
  • данные с микрофона, для голосового поиска
  • данные с датчиков: скорость и геолокацию автомобиля, если поддерживается.
  • данные с парктроника
  • и, например, состояние фар, если они включены, приложение может предположить что за бортом темно и переключиться на темный интерфейс.

И вместе мы получаем симбиоз двух систем:

  • От телефона мы берем мощность для отрисовки интерфейса и связь с интернетом.
  • От автомобиля, большой удобный экран, аудиосистему и удобный интерфейс взаимодействия в виде кнопочек на руле и прочее.

Проблемы и ограничения

И всё было бы здорово, если бы не масса подводных камней и ограничений. А главный подводный камень в том, что в этой связке телефон/головное устройство, есть третий невидимый игрок, серый кардинал который всем управляет.

Дело в том, что приложение, Яндекс.Карты или Навигатор напрямую не связываются с головным устройством, они делают это через посредника, того самого серого кардинала. В случае Apple это сервис CarPlay и приложение Android Auto у Google.

Например, в CarPlay приложение даже не отрисовывает все в финальном разрешении. Приложение отправляет интерфейс по слоям: отдельно карту, отдельно различные элементы. А сервис CarPlay его склеивает под разрешение дисплея головного устройства.

В связи с такой сложной схемой делегирования полномочий, во-первых разработчик не может контролировать весь пользовательский опыт. В частности автомобиль может не приглушать музыку во время уведомлений навигатора, хотя должен.

Во-вторых, существует масса ограничений, и в первую очередь они касаются интерфейса.

Шаблоны

Шаблон Android Auto
Шаблон CarPlay

Все приложения должны быть сделаны строго по шаблонам. Регламентируется все элементы на экране, где они находятся, какой они формы и даже сколько их.

Например, в списках на Android Auto должно быть не больше шести элементов, а в CarPlay – 12 элементов. Поэтому, если у вас обширный список избранных адресов, они могут не влезть в интерфейс.

И именно поэтому привычные вам приложения могут выглядеть упрощенно и не иметь часть функционала, по причине строгих шаблонов.

Ну или например, запрещено использовать сторонние ассистенты есть только Siri и Google Assistant, а вот с Алисой поговорить не получится.

Ну или самое обидное. На Android Auto на текущий момент нельзя передвигать карту пальцем на сенсорном экране, вообще никак.

А в Carplay поддерживаются только драги, то есть перетаскивания влево-вправо, вверх-низ. И больше ничего, ни вам мультитач, ни логнтапа, ничего.

С другой стороны, большая часть упрощений сделаны ради безопасности пользователя, а часть ограничений постепенно снимается. Так например поддержка прикосновений уже есть в альфа-версии Android Auto, так что в ближайшем будущем и это будет.

Тупящие ГУ

Но самое большое ограничение это производительность ГУ автомобилей. Дело в том, что в автомобиле и так никогда не ставили мощное железо. Плюс цикл разработки автомобиля это года три, а значит мы получаем устаревший процессор уже на старте, еще учитываем, что автомобиль будет ездить лет десять или больше.

Поэтому если вам не повезло с головным устройством интерфейс может тупить.

Советы

Чтобы избежать негативного опыта вот несколько полезных советов:

1. Carplay и Android Auto работают как по проводу так и по WiFi. Но рекомендуем подключаться по WiFi. С проводами можно столкнуться с плохим контактом, поврежденным проводом, расшатанным разъёмом и так далее. А WiFi работает без проблем. Дожили…

2. Если автомобиль не приглушает звуки уведомлений, посмотрите соответствующую опцию в настройках автомобиля. В большинстве случаев она есть.

3. Если интерфейс тупит, на Android часто ситуация может улучшиться при смене телефона: тут чем мощнее и современнее модель, тем лучше.

Инструкция

Но всё это мелочи по сравнению с тем, что наконец-то навигация от Яндекс появилась на дисплеях автомобилей. Поэтому если хотите попробовать навигацию уже сейчас, вот что нужно сделать:

  1. Обновите приложение Яндекс.Карты или Яндекс.Навигатор до последней версии
  2. Зайдите в свой аккаунт Яндекса
  3. Если у вас вдруг нет подписки Яндекс.Плюс, подключите её, можно сделать прямо в Яндекс.Картах или Яндекс.Навигаторе. Причем, первые 3 месяца подписки можно протестировать бесплатно
  4. Ну и в машине подключаете телефон по USB или Wi-Fi и готово!

Выводы

Что в итоге? Очевидно, что в будущем технологии стриминга будут применяться еще шире. Телефоны будут стримить интерфейсы на очки дополненной реальности. По слухам именно так будут реализованы Apple Glass.

Возможно, мы сможем отказаться от процессоров в телевизорах и других дисплеях, а критику на все домашние экраны будет посылать одно мощное центральное устройство.

А самые простые компьютеры просто снова терминалами с доступом в сеть, также как это было на заре компьютерной эры.