Веб для исследований

Веб это граф, страницы это узлы, а ссылки — связи между ними. Помимо этого есть измерение времени — вчера я ссылался на такую-то страницу, а теперь — нет, или самой страницы больше нет (с этим иногда помогает Internet Archive Wayback Machine).

Я как человек никогда не вижу сеть целиком, я путешествую по её узлам, мой взгляд локален. Более того, у моего путешествия есть контекст, благодаря которому я выбираю на какие ссылки нажать, а какие проигнорировать. Параллельно может существовать несколько контекстов: в одной из вкладок открыт Твиттер, но он не входит в контекст исследования.

Мейнстримные браузеры уплощают мой опыт исследования: список вкладок плоский, по истории можно ходить только вперёд и назад (в вебките соответствующая структура так и называется: WKBackForwardList). Это не означает, что контекста путешествия не существует, он есть — но он хранится только в моей голове. Компьютеры помогают человеку, когда позволяют не держать что-то в голове.

История браузера — тоже граф.


В своё время Гугл придумал как ранжировать результаты в выдаче, ориентируясь на ссылки сайтов друг на друга (PageRank). Довольно быстро это стали абьюзить через мусорные «покупные» ссылки.

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

Constructing hypertext maps based on geography is always tempting; when we are looking for a two-dimensional organizing principle, conventional mapping naturally suggests itself. Avoid falling back on geography by habit, but don’t overlook occasions where it may provide fresh insight.

— Mark Bernstein, The Tinderbox Way

Можно копировать страницы из браузера в другие программы, позволяющие это делать (тот же Tinderbox), но это создаёт трение, а значит это будет мало кем использоваться.

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

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

Веб сегодня — территория потребителей, пассивно поглощающих контент, относящиеся к вебу как к чему-то данному извне. Это рационально: пользователь действительно не может повлиять на контент сайта. Но при помощи разных User Agents consumer может превратиться в prosumer.

Тим опубликовал