Существует ли полная технологическая независимость?

Существует ли полная технологическая независимость?

Существует ли полная технологическая независимость?

и как к ней приблизиться

Губернатор Белгородской области Вячеслав Гладков неожиданно сформулировал важную техническую проблему мессенджера Max: приложение не может отправлять push-уведомления об ударах и воздушной опасности — потому что любой механизм их доставки «завязан на иностранное ПО, что противоречит текущим подходам».

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

А почему возникала такая проблема и как вообще работают push-уведомления?

Когда приложение хочет «достучаться» до телефона, оно не звонит напрямую — батарея и ОС не позволяют держать сотни постоянных соединений. Вместо этого существуют централизованные брокеры: APNs у Apple и FCM у Google для Android. Сервер приложения отправляет сообщение в один из этих брокеров, тот доставляет его на устройство через одно постоянное системное соединение, которое ОС поддерживает сама.

Это значит, что любое приложение на iOS и Android — хочет оно того или нет — опирается на американскую инфраструктуру, когда хочет «разбудить» экран пользователя.

При этом Telegram умеет обходиться своим независимым сервисом.

Telegram давно выстроил альтернативный канал: постоянное фоновое соединение с собственными серверами по протоколу MTProto. Когда приходит сообщение, клиент узнаёт об этом напрямую, без посредника в виде Google. Поэтому если заблокировать IP-адреса Google, уведомления от Telegram во многих случаях продолжают приходить.

Но работает это не везде. На агрессивных прошивках Android с жёстким управлением фоновыми процессами ОС «убивает» постоянное соединение ради экономии батареи — и без FCM Telegram тоже начинает «молчать». Но сама архитектура такой независимости у Telegram выстроена — и выстраивалась годами.

К сожалению, для Apple iOS это тоже не работает: Telegram на iPhone принципиально завязан на Apple Push Notification service (APNs), и полностью обойтись без него он не может. Это тоже учитывается в архитектуре приложения.

А что с «пушами» в Max?

Прессслужба Max ранее сама признавалась, что приложение отправляет запросы на серверы Apple и Google для проверки доставки pushуведомлений. То есть, чтобы уведомление «всплыло» на экране, цепочка в любом случае завязана на иностранные облака Apple/Google — полностью «суверенного» механизма пушей для смартфонов даже у Telegram не существует.

Но, видимо, любые дополнительные вызовы на зарубежные сервера воспринимаются как риск для нацмессенджера, и именно это блокирует внедрение экстренных пушсхем в Max.

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

Поэтому, для начала, чтобы как минимум увеличить степень независимости MAX, нужен собственный сервис фоновой доставки уведомлений — аналог того, что Telegram сделал с MTProto. Постоянное соединение с российскими серверами, работающее независимо от Google и Apple, которое ОС не сможет просто так убить в фоне.

Это технически решаемая, но не быстрая задача. Нужны: устойчивая серверная инфраструктура, собственный протокол или адаптация открытых решений, договорённости с производителями Android-прошивок (прежде всего с Huawei, которые давно живут без Google), и — главное — время на отладку под десятки тысяч разных устройств.

#Россия #технологии

RU | EN | MAX

VK | RuTube | ОК | Дзен

Поддержать нас

Источник: Telegram-канал "Рыбарь"

Топ

Лента новостей