Telegram Instant View

Опубликовано:
Translations:no translations yet
Теги:programming

Недавно поддержал кнопку «⚡ Посмотреть» для ссылок на neexee.com. Кнопка позволяет смотреть статьи прямо из Telegram, не переходя в браузер. На английском кнопка называется «Instant view». Под Linux кнопки Instant view нет, под Android/iOS/Windows есть.

Cо слов основателя компании, француза по имени Paul Du Rove, над Telegram работает 30 разработчиков. Видимо, все 30 столкнулись со сложностями при работе с этими Instant view, поэтому фича получилась идейно крутой, но не доделанной.

«Eventually we want to provide Instant View pages for every story on the Web and thus devour the entire Internet (evil laughговорили они.

Фича крутая потому что в https://instantview.telegram.org/ есть админка, в которой можно описать вёрстку своего сайта на специальном языке программирования. Telegram использует шаблоны на этом языке для преобразования вёрстки сайта в упрощённую вёрстку Instant view. С технической стороны это очень впечатляет.

С продуктовой точки зрения тоже всё красиво. Делаешь в продукте язык шаблонов, а написание шаблонов аутсорсишь красноглазым пользователям. Для попсовых платформ вроде drive.ru даже провели соревнования по написанию шаблонов. Но в итоге что-то пошло не так. Это замечательно описал популярный дизайнер Илья Бирман:

[Хочу], чтобы вы могли рассказать Телеграму про свой сайт. Но проблема в том, что я не знаю, как ему рассказать. У них там целая страница, где суперподробно расписан сам язык; есть штука, где можно протестировать шаблон для своего сайта; убедиться, что он работает.

Но что с этим дальше делать — неизвестно. Нет кнопки «Использовать этот шаблон». Нет места, куда его вставить на своём сайте, чтобы Телеграм увидел. Нихрена понять нельзя; я когда-то на три раза прочитал всю документацию, не въехал и забил.

Если правильно понимаю, так вышло потому что разработчики Telegram модерируют пользовательские шаблоны раз в 5 лет. Добавить свой сайт через заявленный Telegram-ом процесс работы с Instant view ни у кого в Интернете не получается с 2019 года.

Поэтому люди придумали обходные варианты. Все они сводятся к тому, что нужно подогнать вёрстку сайта под то, что ожидает Telegram. Нужно заставить его подумать: «о, такое я умею парсить из коробки». Можно определять Telegram по User-Agent и отдавать ему страницы с понятной ему вёрсткой. Можно кормить вёрсткой по-телеграмовски всех подряд, я так и сделал. Редактор шаблонов с https://instantview.telegram.org/ в отладке этого дела не бесполезен, он подсказывает про типичные ошибки вроде тега <img> внутри <a>, такое Telegram не поддерживает.

Было бы хорошо, если бы ребята из Telegram довели фичу c Instant view для сайтов работяг до ума. Ну или хотя бы рассказали, почему её не получилось доделать. Это очень интересно. Возможно, цель «provide Instant View pages for every story on the Web» была слишком амбициозной. Вёрстка даже хорошо известных сайтов постоянно меняется. Возможно, Telegram покрыл не «every story on the Web», а «99% of stories on the Web». Если так, это тоже очень круто.