На прошлой неделе Hacker News исполнилось два года. Изначально он задумывался как сайд-проект — приложение для оттачивания Arc и место, где нынешние и будущие основатели Y Combinator могли бы обмениваться новостями. Он разросся и стал отнимать больше времени, чем я ожидал, но я не жалею об этом, потому что работа над ним меня очень многому научила.
Рост
Когда мы запустились в феврале 2007 года, посещаемость по будням составляла около 1600 уникальных посетителей в день. С тех пор она выросла примерно до 22 000. Этот темп роста несколько выше, чем мне хотелось бы. Я хочу, чтобы сайт рос, ведь ресурс, который не растет хотя бы медленно, скорее всего, мертв. Но мне не хотелось бы, чтобы он вырос до масштабов Digg или Reddit — главным образом потому, что это размыло бы характер сайта, но также и потому, что я не хочу тратить все свое время на решение проблем с масштабированием.
У меня и так хватает с этим проблем. Напомню, изначальным мотивом создания HN было тестирование нового языка программирования, причем такого, который ориентирован на эксперименты с языковым дизайном, а не на производительность. Каждый раз, когда сайт начинает тормозить, я подбадриваю себя, вспоминая знаменитую цитату Макилроя и Бентли:
Ключ к производительности — это элегантность, а не батальоны частных случаев.
и ищу узкое место, которое можно устранить минимальным количеством кода. Пока что мне удается держаться на плаву — в том смысле, что производительность остается стабильно посредственной, несмотря на 14-кратный рост. Не знаю, что я буду делать дальше, но, наверное, что-нибудь придумаю.
Таково мое отношение к сайту в целом. Hacker News — это эксперимент, причем в очень молодой области. Сайтам такого типа всего несколько лет. Общению в интернете в целом — всего несколько десятилетий. Так что мы, вероятно, открыли лишь малую долю того, что нам еще предстоит узнать.
Вот почему я так оптимистично настроен по отношению к HN. Когда технология настолько молода, существующие решения обычно ужасны; а это значит, что можно сделать гораздо лучше; а это, в свою очередь, значит, что многие проблемы, которые кажутся неразрешимыми, на самом деле разрешимы. Включая, я надеюсь, и проблему, погубившую столь многие сообщества до нас: разрушение под влиянием роста.
Размывание
Пользователи беспокоились об этом еще тогда, когда сайту было всего несколько месяцев. До сих пор эти тревоги были ложными, но так может быть не всегда. Размывание — сложная проблема. Но, вероятно, разрешимая; то, что открытые дискуссии «всегда» разрушались ростом, мало что значит, когда «всегда» насчитывает от силы два десятка случаев.
Но важно помнить, что мы пытаемся решить новую проблему, а значит, нам придется пробовать новое, большая часть чего, скорее всего, не сработает. Пару недель назад я попробовал выделять оранжевым цветом имена пользователей с наивысшим средним баллом за комментарии. [1] Это было ошибкой. Внезапно культура, которая была более или менее единой, разделилась на имущих и неимущих. Я не понимал, насколько она была единой, пока не увидел ее расколотой. На это было больно смотреть. [2]
Так что оранжевые никнеймы не вернутся. (Прошу за это прощения.) Но в будущем появятся и другие, столь же неудачные на первый взгляд идеи, и те, что в итоге сработают, поначалу наверняка будут казаться такими же провальными, как и те, что не прижились.
Пожалуй, самый главный вывод, который я сделал о размывании: оно измеряется скорее в поведении, чем в пользователях. Не допускать нужно именно дурное поведение, а не дурных людей. Поведение пользователей оказывается на удивление податливым. Если от людей ожидают хорошего поведения, они, как правило, ведут себя хорошо; и наоборот.
Хотя, конечно, запрет на неподобающее поведение обычно отваживает плохих людей, потому что им некомфортно и тесно в месте, где приходится вести себя прилично. Но этот способ не пускать их — мягче и, вероятно, эффективнее, чем явные барьеры.
Сейчас уже совершенно ясно, что теория разбитых окон применима и к сайтам сообществ. Суть теории в том, что мелкие формы дурного поведения провоцируют худшие: район с обилием граффити и разбитых окон превращается в место, где происходят грабежи. Я жил в Нью-Йорке, когда Джулиани внедрял реформы, прославившие теорию разбитых окон, и преображение было чудесным. И я был пользователем Reddit, когда там произошло прямо противоположное, и метаморфоза была столь же впечатляющей.
Я не критикую Стива и Алексиса. То, что случилось с Reddit, произошло не из-за халатности. С самого начала их политикой было не подвергать цензуре ничего, кроме спама. К тому же у Reddit были другие цели, нежели у Hacker News. Reddit был стартапом, а не сторонним проектом; его целью было расти как можно быстрее. Объедините стремительный рост и полное отсутствие цензуры — и на выходе получите побоище, где каждый сам за себя. Но я не думаю, что они поступили бы иначе, начни они все заново. По меркам трафика Reddit куда успешнее, чем Hacker News.
Но то, что случилось с Reddit, не обязательно произойдет с HN. Существует несколько локальных максимумов. Могут существовать места, где царит полная вседозволенность, и места более вдумчивые, точно так же, как и в реальном мире; и люди будут вести себя по-разному в зависимости от того, где находятся, совсем как в реальной жизни.
Я наблюдал это вживую. Я видел людей, которые публиковали посты и на Reddit, и на Hacker News, и не ленились писать две разные версии: агрессивный флейм для Reddit и более сдержанный вариант для HN.
Публикации
Есть два основных типа проблем, которых должен избегать такой сайт, как Hacker News: плохие публикации и плохие комментарии. Пока опасность плохих публикаций кажется меньшей. Материалы на главной странице сейчас примерно такие же, какими они были бы на заре HN.
Когда-то я думал, что мне придется взвешивать голоса, чтобы не пускать чушь на главную, но пока этого делать не пришлось. Я бы ни за что не предсказал, что главная страница продержится так хорошо, и сам не до конца понимаю, почему так вышло. Возможно, только более вдумчивым пользователям не все равно, чтобы предлагать ссылки и голосовать за них, так что предельные издержки от одного случайного нового пользователя стремятся к нулю. Или, быть может, главная страница защищает себя сама, демонстрируя, какого рода публикации здесь приветствуются.
Самое опасное для главной страницы — это контент, за который слишком легко проголосовать. Если кто-то доказывает новую теорему, читателю требуется приложить определенные усилия, чтобы решить, отдавать свой голос или нет. Забавный комикс требует меньших усилий. А гневная тирада с призывом к оружию в заголовке требует нулевых усилий, потому что люди голосуют за нее, даже не читая.
Отсюда вытекает то, что я называю Принципом пустословия (Fluff Principle): на новостном сайте с пользовательским голосованием ссылки, которые проще всего оценить, захватят все пространство, если только вы не примете специальных мер для предотвращения этого.
У Hacker News есть два способа защиты от пустословия. Самые распространенные типы поверхностных ссылок банятся как оффтоп. Фотографии котят, политические обличительные речи и тому подобное прямо запрещены. Это отсекает большую часть информационного мусора, но не весь. Некоторые ссылки одновременно являются легковесными, в плане краткости содержания, и тематическими.
Универсального решения здесь нет. Если ссылка ведет на пустой эмоциональный выплеск, редакторы иногда удаляют ее, даже если она по теме — в смысле отношения к программированию и хакерству, — потому что она не соответствует реальному критерию: пробуждать интеллектуальное любопытство. Если публикации на каком-то сайте имеют преимущественно такой характер, я иногда баню его целиком, то есть новые материалы с этого URL удаляются автоматически. Если у поста кликбейтный заголовок, редакторы порой перефразируют его, делая более сухим и фактологическим. Это особенно необходимо для ссылок, чьи заголовки звучат как лозунги, иначе они превращаются в неявные посты формата «голосуй за, если считаешь так-то», а это самая крайняя форма информационного мусора.
Методы работы со ссылками должны эволюционировать, потому что меняются сами ссылки. Появление агрегаторов уже повлияло на контент, который они собирают. Авторы теперь намеренно пишут тексты ради трафика с агрегаторов — иногда даже конкретных. (И нет, ирония этого утверждения от меня не ускользает.) Кроме того, возникают и более зловредные мутации, вроде линкджекинга (linkjacking) — публикации пересказа чужой статьи со ссылкой на него вместо оригинала. Они могут набирать кучу апвоутов, потому что многое из хорошего в статье часто сохраняется; более того, чем ближе пересказ к плагиату, тем больше хорошего сохраняется. [3]
Я считаю важным, чтобы сайт, удаляющий публикации, предоставлял пользователям возможность увидеть удаленное, если они того пожелают. Это держит редакторов в честности и, что не менее важно, дает пользователям уверенность в том, что они заметят, если редакторы перестанут быть честными. Пользователи HN могут сделать это, включив опцию showdead в своем профиле. [4]
Комментарии
Плохие комментарии кажутся более сложной проблемой, чем плохие публикации. Хотя качество ссылок на главной странице HN почти не изменилось, качество медианного комментария, возможно, несколько снизилось.
У плохих комментариев есть две основные разновидности: злоба и глупость. Между ними много общего — злобные комментарии с непропорционально высокой вероятностью оказываются еще и глупыми, — но стратегии борьбы с ними различаются. Злобу контролировать легче. Можно ввести правила, запрещающие грубость, и если следить за их соблюдением, то злобу вполне реально удерживать в узде.
Удерживать в узде глупость сложнее, возможно, потому, что ее труднее четко распознать. Злые люди чаще осознают, что они злы, чем глупые — что они глупы.
Самая опасная форма глупого комментария — это не длинный, но ошибочный аргумент, а тупая шутка. Длинные, но ошибочные рассуждения на самом деле встречаются довольно редко. Существует сильная корреляция между качеством комментария и его длиной; если бы вы захотели сравнить качество комментариев на сайтах сообществ, средняя длина была бы хорошим предиктором. Вероятно, причина кроется в человеческой природе, а не в специфике веток обсуждений. Скорее всего, дело просто в том, что глупость чаще выражается в недостатке мыслей, чем в ошибочности суждений.
Какова бы ни была причина, глупые комментарии, как правило, коротки. А поскольку трудно написать короткий комментарий, выделяющийся объемом переданной информации, люди пытаются выделиться за счет юмора. Самый соблазнительный формат глупого комментария — это якобы остроумный колкий выпад, вероятно, потому, что подколы — самая легкая форма юмора. [5] Так что одно из преимуществ запрета на грубость в том, что он сокращает и их количество.
Плохие комментарии подобны кудзу: они стремительно захватывают территорию. Комментарии влияют на новые комментарии гораздо сильнее, чем публикации — на новые публикации. Если кто-то выложит убогую статью, остальные публикации не станут от этого убогими. Но если кто-то оставит тупой комментарий в ветке, это задает тон всему общению вокруг него. На глупые шутки люди отвечают глупыми шутками.
Возможно, решение в том, чтобы ввести задержку перед отправкой ответа на комментарий, сделав длительность задержки обратно пропорциональной некоему прогнозу его качества. Тогда ветки с глупыми комментариями росли бы медленнее. [6]
Люди
Я замечаю, что большинство описанных мной приемов консервативны: они направлены скорее на сохранение характера сайта, чем на его улучшение. Не думаю, что это моя личная предвзятость. Все дело в специфике проблемы. Hacker News посчастливилось изначально быть хорошим, так что в данном случае речь идет буквально о сохранении. Но я полагаю, что этот принцип применим и к сайтам с иной предысторией.
Все хорошее на сайтах сообществ исходит от людей, а не от технологий; технологии вступают в игру главным образом для предотвращения плохого. Технологии, безусловно, могут улучшить дискуссию. Древовидные комментарии, например, именно это и делают. Но я лучше буду пользоваться сайтом с примитивным функционалом и умными, приятными пользователями, чем более продвинутым сайтом, чьи пользователи — идиоты или тролли.
Поэтому самое важное, что может сделать сайт сообщества, — это привлечь тех людей, которых он хочет видеть. Сайт, стремящийся стать как можно больше, хочет привлечь всех. Но сайту, ориентированному на определенную категорию пользователей, нужно привлечь именно их — и, что не менее важно, оттолкнуть всех остальных. Я сознательно добивался этого на HN. Графический дизайн максимально прост, а правила сайта запрещают броские заголовки ссылок. Цель в том, чтобы единственным, что может заинтересовать человека, впервые попавшего на HN, были высказанные там идеи.
Минус настройки сайта на привлечение определенных людей в том, что для этих людей он может оказаться слишком привлекательным. Я прекрасно понимаю, насколько аддиктивным может быть Hacker News. Для меня, как и для многих пользователей, это своего рода виртуальная городская площадь. Когда я хочу сделать перерыв в работе, я выхожу на эту площадь, точно так же, как вышел бы на Гарвард-сквер или Юниверсити-авеню в физическом мире. [7] Но виртуальная площадь опаснее реальной. Если бы я слонялся полдня по Юниверсити-авеню, я бы это заметил. До нее нужно пройти целую милю, да и сидеть в кафе ощущается совсем иначе, чем работать. А вот зайти на интернет-форум стоит всего одного клика, и внешне это очень похоже на работу. Вы, может, и тратите время впустую, но вы не бездельничаете. Кто-то не прав в интернете, и вы исправляете ситуацию.
Hacker News определенно полезен. Я многому научился благодаря прочитанному на HN. Я написал несколько эссе, которые начинались там как комментарии. Так что мне бы не хотелось, чтобы сайт исчез. Но мне бы хотелось быть уверенным, что он не тянет вниз общую продуктивность. Какой катастрофой было бы привлечь тысячи умных людей на сайт, который заставляет их тратить кучу времени впустую. Хотел бы я быть на 100% уверен, что это описание не относится к HN.
Мне кажется, аддиктивность игр и социальных приложений — это до сих пор по большей части нерешенная проблема. Сейчас ситуация похожа на историю с крэком в 1980-х: мы изобрели ужасно вызывающие привыкание новые вещи и еще не выработали способов защиты от них. Со временем мы их выработаем, и это одна из проблем, на которых я надеюсь сосредоточиться в дальнейшем.
Примечания
[1] Я пробовал ранжировать пользователей как по среднему, так и по медианному баллу комментариев, и среднее значение (с отброшенной максимальной оценкой) показалось более точным признаком высокого качества. Хотя медиана может быть более точным признаком низкого качества.
[2] Еще один урок, который я извлек из этого эксперимента: если уж вы собираетесь разделять людей по категориям, лучше быть уверенным, что вы делаете это правильно. Это как раз та проблема, где быстрое прототипирование не работает.
Собственно, это и есть честный интеллектуальный аргумент против разделения людей на категории. Причина не делать этого заключается не в том, что все одинаковы, а в том, что ошибиться здесь опасно, а поступить правильно — очень сложно.
[3] Когда я ловлю вопиющие случаи линкджекинга, я заменяю URL на адрес первоисточника. Сайты, систематически промышляющие линкджекингом, блокируются.
[4] Digg печально известен своей непрозрачностью. Корень проблемы не в том, что ребята, управляющие Digg, особенно скрытны, а в том, что они используют неправильный алгоритм для формирования главной страницы. Вместо того чтобы всплывать снизу по мере набора голосов, как на Reddit, публикации сразу попадают на самый верх и вытесняются вниз новыми поступлениями.
Причина этого различия в том, что Digg произошел от Slashdot, тогда как Reddit произошел от Delicious/popular. Digg — это Slashdot с голосованием вместо редакторов, а Reddit — это Delicious/popular с голосованием вместо закладок. (Их корни до сих пор видны в элементах графического дизайна.)
Алгоритм Digg очень уязвим для манипуляций, поскольку любая публикация, попадающая на главную, сразу становится материалом номер один. Это, в свою очередь, вынуждает Digg прибегать к крайним контрмерам. У многих стартапов есть свои скелеты в шкафу насчет уловок, к которым им приходилось прибегать на первых порах, и я подозреваю, что тайна Digg заключается в том, до какой степени топовые материалы де-факто отбирались живыми редакторами.
[5] Диалоги в «Бивисе и Баттхеде» состояли преимущественно из подобных реплик, и когда я читаю комментарии на действительно плохих сайтах, я прямо слышу их голоса.
[6] Полагаю, большинство методов борьбы с глупыми комментариями нам еще только предстоит открыть. Очень остроумный способ реализовали на IRC-канале xkcd: не разрешать повторять одно и то же дважды. Если кто-то уже сказал «fail», больше никто никогда не сможет это сказать. Это особенно сильно ударило бы по коротким комментариям, поскольку у них меньше возможностей избежать совпадений.
Другая многообещающая идея — stupid filter (фильтр глупости), работающий в точности как вероятностный спам-фильтр, но обученный на корпусах глупых и неглупых комментариев.
Возможно, для решения проблемы вовсе не обязательно удалять плохие комментарии. Комментарии в самом низу длинной ветки мало кто видит, так что может оказаться достаточным включить оценку прогнозируемого качества в алгоритм сортировки комментариев.
[7] Что делает большинство пригородов столь удручающими, так это отсутствие центра, до которого можно дойти пешком.
Спасибо Джастину Кану, Джессике Ливингстон, Роберту Моррису, Алексису Оганяну, Эммету Ширу и Фреду Уилсону за чтение черновиков этого текста.
Обсудить это эссе.