[О блоге] [наверх] [пред] [2020-08-17 10:45:05+03:00] [a3b6b4ff11f962f8810c12fb331311a3655adda3]
Темы: [web]

Годное предложение по современному Web-у

http://www.stargrave.org/WebForbidden.html
Годное с моей точки зрения. Добавил абзац с тем, как я видел бы
возможность посещения современных Web-страничек в Интернете. Хороший
вопрос, конечно же, а зачем? Но если им не задаваться, то вместо того,
чтобы серверы отдавали кучу исполняемого кода, который наши машины
должны выполнять, можно было бы делать VNC/X11/whatever подключение по
которому у нас фактически просто удалённый доступ. Как в BBS-ках было. Я
вот про себя думаю чем бы это сильно отличалось от "классического"
использования Chrome и не нахожу чем. На современных сайтах уже нормой
является перехват нажатий клавиш чтобы делать то, что броузеры 25+ лет
назад умели (поиск, прокрутка) (ff1d0be750ab73518138fe8f04b423822081d5d1),
а значит удобно настроенный броузер (Pentadactyl для Firefox и всё такое)
уже не будут работать, ибо родной функционал броузера не будет рабочим.
Сохранить страницу на диск, чтобы в offline смотреть, тоже не выйдет,
это же real-time rendered single page application какой-нибудь. В итоге,
удалённый запуск всё равно ничем не будет менее удобен, зато локального
никакого кода не выполняется, не ставится безопасность под удар, не
нужно тонны невероятно сложного (c07d35c602ac5422060333ff43fff37d4d44b38f)
софта, который надо регулярно-регулярно обновлять. А если это будет
X11-like протокол, а не просто передача растрового изображения (RDP/VNC),
то и трафика наверняка будет куда меньше. Даже с хорошим сжатием растра
RDP/VNC, мне кажется, выигрыш в трафике будет.

Только всего этого не будет, ибо как же о нас собирать данные то!?

    [оставить комментарий]
    комментарий 0:
    From: kmeaw
    Date: 2020-08-17 21:36:27Z
    
    Параллель с BBS очень понравилась.
    
    Осталось придумать, как решить следующие проблемы:
    
    1) Когда пользователь использует современный веб, то у него загружается
    страничка с ресурсами, дальше он её читает, и в это время у него может
    не быть связности с тем сервером, где эта страница находится. Типичный
    сценарий для человека, который едет в метро — открыл несколько вкладок,
    вагон приехал на станцию, все вкладки загрузились, можно читать.
    Дочитал страницу, захотел перейти с неё по ссылке — отправляешь вкладку
    грузить следующую страницу, а пока поезд едет, читаешь другие вкладки.
    Этот сценарий важен, так как мобильных юзер-агентов в современном вебе
    больше, чем всех остальных.
    
    В случае с VNC-подобным протоколом надо сделать так, чтобы страницу
    можно было хотя бы скроллить без сети. Можно попытаться передавать
    виртуальный экран, представляющий собой очень узкую и длинную колонку,
    что-то вроде 1920x10000, со скроллом на клиентской стороне. Но тогда не
    получится реализовать стилизованный прогресс-бар, эффекты при прокрутке
    и бесконечныо-прокручиваемые страницы.
    
    2) Современная вёрстка предполагает, что ширина экрана может быть любой.
    Хуже того, она может меняться прямо во время просмотра страницы — сейчас
    пользователь может ресайзить окошко с браузером, а телефон поворачивать
    на бок.
    
    Текущие браузеры умеют делать reflow всего содержимого в оффлайне.
    Как реализовать похожее поведение в твоей концепции? Унести box model на
    клиента?
    
    3) Переходы с одного сайта на другой и новые окна/вкладки. Сейчас я могу
    открыть страницу (например результатов поиска), а оттуда попасть на
    другую страницу, которая находится на совсем другом сервере. Чтобы
    сделать что-то похожее в VNC, надо научить его делать редиректы с
    сервера на сервер. И по команде с сервера открывать новые подключения к
    другим VNC-серверам.
    
    X11 доволно плохо работает через интернет — при использовании
    современных тулкитов и растеризатором шрифтов он требователен как к
    latency, так и к bandwidth, так что кроме как по локальной сети не
    работает. Мне понравилось, как работает Xpra, то там, как и в RDP,
    передаётся пожатый растр.
    
    Если совсем упороться, то можно ещё развить эту идею с 2D до 3D, и
    передавать не canvas со страничкой, а карту с состоянием объектов, как в
    каком-нибудь DooM. Раньше был VRML, но в нём не решили задачу бесшовного
    перехода с одного документа на другой.
    
    комментарий 1:
    From: Sergey Matveev
    Date: 2020-08-18 08:16:46Z
    
    *** kmeaw [2020-08-18 00:33]:
    >Осталось придумать, как решить следующие проблемы:
    
    Я же всего лишь предлагал концепт, а не буквально готовое решение :-)
    Даже в BBS-ках же тоже были протоколы сжатия передаваемых ANSI-изображений
    (только сейчас задумался и понял что они наверное бессмысленны стали
    когда модемы стали самостоятельно жать передаваемый трафик).
    
    >1) Когда пользователь использует современный веб, то у него загружается
    >страничка с ресурсами, дальше он её читает, и в это время у него может
    >не быть связности с тем сервером
    
    Насколько понимаю, о связанности сейчас уже давно никто не думает и все
    априори считают что Интернет есть всегда и везде. Ну да, возможно кроме
    переходов в туннеле в метро. А если думать о связанности, то
    "современный web" вообще малоюзабелен, с моей точки зрения, ибо всё
    больше всего переносится в online, даже страничку не сохранить на диск.
    
    >В случае с VNC-подобным протоколом надо сделать так, чтобы страницу
    >можно было хотя бы скроллить без сети. Можно попытаться передавать
    >виртуальный экран, представляющий собой очень узкую и длинную колонку,
    >что-то вроде 1920x10000, со скроллом на клиентской стороне. Но тогда не
    >получится реализовать стилизованный прогресс-бар, эффекты при прокрутке
    >и бесконечныо-прокручиваемые страницы.
    
    У меня тоже первой мыслью было виртуальное разрешение большого размера.
    А всё остальное что назвали: да и слава богу что не будет, ибо
    практической пользы нет :-). И это я серьёзно считаю что *абсолютно*
    пользы от финтифлюшек нет, кроме траты моего времени пока они
    анимируются, вместо моментального показа что уже подгружено. А
    бесконечный scroll... надеюсь я передам всё своё негодование об это
    технологии, как это сделали бы какие-нибудь яростные религиозные
    фанатики, сказав что это творение самого Сатаны :-)! Если бы лозунгом
    было "let's make web usable again!", то я бы начал с уничтожения этой
    идеи бексконечного scroll-а.
    
    >2) Современная вёрстка предполагает, что ширина экрана может быть любой.
    >Хуже того, она может меняться прямо во время просмотра страницы
    
    Если это может делать броузер в текущем месте, то не вижу проблем
    отсылать событие об изменении геометрии окна. Ведь такой сигнал же даже
    есть и в терминальных приложениях.
    
    >3) Переходы с одного сайта на другой и новые окна/вкладки.
    
    Да, это тоже надо будет уметь совместисть с клиентом и говорить ему о
    переходе на другие вкладки.
    
    >X11 доволно плохо работает через интернет
    
    Повторюсь, что я всего-лишь концепт описывал. И само собой текущие
    решения нужно до него доработать. Просто, как мне кажется, это очень не
    много усилий, зато аналогичный результат в виде... современной
    web-странички (малоюзабельной, с моей точки зрения, но передающей все
    хотелки автора). Раз уж смогли сделать современные страницы такими, что
    даже на Core i7 с кучей RAM всё умудряется дико тормозит и потреблять
    трафика и заставлять менять/обновлять framework-и и, соответственно,
    броузеры каждые полгода/год, то уж написать то VNC/RDP/X11/whatever
    решение тем более могут.
    
    Основная проблема, тоже повторюсь, как я её вижу: выполнение *моим*
    компьютеров непойми какого недоверенного кода, чего я допускать не
    собираюсь. Для 99% всех задач Web-а достаточно HTML3/4(?) и возможно
    маааленький subset CSS (красным там что-нибудь подчеркнуть). Но
    "удалённый доступ" к ресурсу будет схож по неюзабельности с современными
    web-сайтами, а при грамотной реализации, куда экономнее по трафику и тем
    более CPU/RAM.