Czego nauczyłem się z Hacker News
Luty 2009
Hacker News skończył w zeszłym tygodniu dwa lata. Początkowo miał być projektem pobocznym – aplikacją do ćwiczenia Arc i miejscem wymiany informacji dla obecnych i przyszłych założycieli Y Combinator. Rozrósł się i pochłonął więcej czasu, niż się spodziewałem, ale nie żałuję, ponieważ wiele się nauczyłem, pracując nad nim.
Wzrost
Kiedy uruchomiliśmy go w lutym 2007 roku, ruch w dni powszednie wynosił około 1600 unikalnych użytkowników dziennie. Od tego czasu wzrósł do około 22 000. To tempo wzrostu jest nieco wyższe, niż bym chciał. Chciałbym, żeby strona rosła, ponieważ strona, która nie rośnie przynajmniej powoli, prawdopodobnie umiera. Ale nie chciałbym, żeby urosła tak duża jak Digg czy Reddit – głównie dlatego, że rozmyłoby to charakter strony, ale także dlatego, że nie chcę spędzać całego czasu na radzeniu sobie ze skalowaniem.
Mam już wystarczająco dużo problemów z tym związanych. Pamiętaj, że pierwotną motywacją dla HN było przetestowanie nowego języka programowania, a do tego takiego, który skupia się na eksperymentowaniu z projektowaniem języków, a nie na wydajności. Za każdym razem, gdy strona staje się powolna, umacniam się, przypominając sobie słynny cytat McIlroy i Bentley'a
Kluczem do wydajności jest elegancja, a nie bataliony specjalnych przypadków.
i szukam wąskiego gardła, które mogę usunąć przy najmniejszej ilości kodu. Do tej pory udało mi się nadążyć, w tym sensie, że wydajność pozostała konsekwentnie przeciętna pomimo 14-krotnego wzrostu. Nie wiem, co zrobię dalej, ale prawdopodobnie coś wymyślę.
Takie jest moje ogólne podejście do strony. Hacker News to eksperyment, i to eksperyment w bardzo młodej dziedzinie. Strony tego typu mają zaledwie kilka lat. Ogólnie rzecz biorąc, konwersacja w Internecie ma zaledwie kilka dekad. Więc prawdopodobnie odkryliśmy tylko ułamek tego, czego ostatecznie się dowiemy.
Dlatego jestem tak optymistycznie nastawiony do HN. Kiedy technologia jest tak młoda, istniejące rozwiązania są zazwyczaj okropne; co oznacza, że musi być możliwe zrobienie czegoś znacznie lepszego; co oznacza, że wiele problemów, które wydają się nierozwiązywalne, nie jest. W tym, mam nadzieję, problem, który dotknął tak wiele poprzednich społeczności: zniszczenie przez wzrost.
Rozmycie
Użytkownicy martwili się tym od kilku miesięcy od uruchomienia strony. Do tej pory te alarmy były fałszywe, ale mogą nie zawsze takie być. Rozmycie to trudny problem. Ale prawdopodobnie rozwiązywalny; to, że otwarte rozmowy „zawsze” były niszczone przez wzrost, kiedy „zawsze” oznacza 20 przypadków, nie znaczy wiele.
Ale ważne jest, aby pamiętać, że próbujemy rozwiązać nowy problem, ponieważ oznacza to, że będziemy musieli próbować nowych rzeczy, z których większość prawdopodobnie się nie powiedzie. Kilka tygodni temu próbowałem wyświetlać imiona użytkowników z najwyższymi średnimi wynikami komentarzy na pomarańczowo. [1] To był błąd. Nagle kultura, która była mniej więcej zjednoczona, została podzielona na posiadających i nieposiadających. Nie zdawałem sobie sprawy, jak bardzo kultura była zjednoczona, dopóki nie zobaczyłem jej podzielonej. To było bolesne obserwować. [2]
Więc pomarańczowe nazwy użytkowników nie wrócą. (Przepraszam za to.) Ale w przyszłości pojawią się inne równie pozornie wadliwe pomysły, a te, które okażą się skuteczne, prawdopodobnie będą wydawać się równie wadliwe, jak te, które się nie sprawdzą.
Prawdopodobnie najważniejszą rzeczą, jakiej nauczyłem się o rozmyciu, jest to, że mierzy się je bardziej zachowaniem niż użytkownikami. To złe zachowanie chcesz powstrzymać bardziej niż złych ludzi. Zachowanie użytkowników okazuje się zaskakująco plastyczne. Jeśli ludzie oczekują, że będą zachowywać się dobrze, zazwyczaj tak robią; i odwrotnie.
Chociaż oczywiście zakazywanie złego zachowania zazwyczaj odstrasza złych ludzi, ponieważ czują się niekomfortowo ograniczeni w miejscu, gdzie muszą się dobrze zachowywać. Ale ten sposób ich powstrzymywania jest łagodniejszy i prawdopodobnie skuteczniejszy niż otwarte bariery.
Jest teraz całkiem jasne, że teoria wybitych szyb dotyczy również stron społecznościowych. Teoria głosi, że drobne formy złego zachowania prowadzą do gorszych: że dzielnica z dużą ilością graffiti i wybitymi szybami staje się miejscem, gdzie dochodzi do napadów. Mieszkałem w Nowym Jorku, kiedy Giuliani wprowadził reformy, które uczyniły teorię wybitych szyb słynną, a transformacja była cudowna. I byłem użytkownikiem Reddita, kiedy stało się odwrotnie, a transformacja była równie dramatyczna.
Nie krytykuję Steve'a i Alexisa. To, co stało się z Reddit, nie wydarzyło się z zaniedbania. Od początku mieli politykę cenzurowania wszystkiego poza spamem. Ponadto Reddit miał inne cele niż Hacker News. Reddit był startupem, a nie projektem pobocznym; jego celem było jak najszybsze rozwijanie się. Połącz szybki wzrost i zerową cenzurę, a wynikiem będzie wolna amerykanka. Ale nie sądzę, żeby zrobili coś inaczej, gdyby robili to ponownie. Mierzony ruchem, Reddit jest znacznie bardziej udany niż Hacker News.
Ale to, co stało się z Reddit, nie musi się nieuchronnie stać z HN. Istnieje kilka lokalnych maksimów. Mogą istnieć miejsca, które są wolną amerykanką i miejsca bardziej przemyślane, tak jak istnieją w prawdziwym świecie; a ludzie będą zachowywać się inaczej w zależności od tego, w którym się znajdują, tak jak robią to w prawdziwym świecie.
Obserwowałem to na żywo. Widziałem ludzi publikujących na Reddit i Hacker News, którzy faktycznie zadali sobie trud napisania dwóch wersji: jednej płomiennej dla Reddita i bardziej stonowanej dla HN.
Zgłoszenia
Istnieją dwa główne rodzaje problemów, których strona taka jak Hacker News musi unikać: złe historie i złe komentarze. Do tej pory niebezpieczeństwo złych historii wydaje się mniejsze. Historie na stronie głównej są nadal w przybliżeniu takie same, jak te, które byłyby tam, gdy HN dopiero zaczynał.
Kiedyś myślałem, że będę musiał ważyć głosy, aby utrzymać gówno z dala od strony głównej, ale jeszcze tego nie zrobiłem. Nie przewidziałbym, że strona główna utrzyma się tak dobrze, i nie jestem pewien, dlaczego tak się stało. Być może tylko bardziej myślący użytkownicy dbają wystarczająco, aby przesyłać i oceniać linki, więc koszt krańcowy jednego losowego nowego użytkownika zbliża się do zera. Albo być może strona główna chroni się sama, reklamując, jakiego rodzaju zgłoszenia się oczekuje.
Najbardziej niebezpieczną rzeczą dla strony głównej jest coś, co jest zbyt łatwe do oceny w górę. Jeśli ktoś udowodni nowy twierdzenie, wymaga to od czytelnika pewnej pracy, aby zdecydować, czy je ocenić, czy nie. Zabawny rysunek wymaga mniej. Rant z hasłem zagrzewającym do walki jako tytułem wymaga zera, ponieważ ludzie głosują na niego nawet nie czytając go.
Stąd to, co nazywam Zasadą Puszystości: na stronie z wiadomościami głosowanymi przez użytkowników, linki, które są najłatwiejsze do oceny, przejmą kontrolę, chyba że podejmiesz konkretne środki, aby temu zapobiec.
Hacker News ma dwa rodzaje zabezpieczeń przed puszystością. Najczęstsze rodzaje linków puszystych są blokowane jako nie na temat. Obrazki kotków, tyrady polityczne i tak dalej są wyraźnie zakazane. To powstrzymuje większość puszystości, ale nie całą. Niektóre linki są zarówno puszyste, w sensie bycia bardzo krótkimi, jak i na temat.
Nie ma na to jednego rozwiązania. Jeśli link jest tylko pustym rantem, redaktorzy czasami go usuwają, nawet jeśli jest na temat w sensie bycia o hackingu, ponieważ nie jest na temat według prawdziwego standardu, którym jest pobudzanie ciekawości intelektualnej. Jeśli posty na stronie są charakterystycznie tego typu, czasami je blokuję, co oznacza, że nowe rzeczy pod tym adresem są automatycznie usuwane. Jeśli post ma tytuł typu linkbait, redaktorzy czasami go przepisują, aby był bardziej rzeczowy. Jest to szczególnie konieczne w przypadku linków, których tytuły są hasłami zagrzewającymi do walki, ponieważ w przeciwnym razie stają się one niejawnymi postami typu „zagłosuj, jeśli wierzysz w to i to”, które są najbardziej ekstremalną formą puszystości.
Techniki radzenia sobie z linkami muszą ewoluować, ponieważ ewoluują również linki. Istnienie agregatorów już wpłynęło na to, co agregują. Pisarze celowo tworzą rzeczy, aby przyciągnąć ruch z agregatorów – czasami nawet konkretnych. (Nie, ironia tego stwierdzenia nie umknęła mi.) Są też bardziej złowrogie mutacje, takie jak linkjacking – publikowanie parafrazy artykułu kogoś innego i przesyłanie tego zamiast oryginału. Mogą one uzyskać wiele głosów w górę, ponieważ wiele z tego, co dobre w artykule, często przetrwa; faktycznie, im bliższa parafraza jest plagiatowi, tym więcej przetrwa. [3]
Myślę, że ważne jest, aby strona, która usuwa zgłoszenia, zapewniała użytkownikom możliwość zobaczenia, co zostało usunięte, jeśli tego chcą. To utrzymuje redaktorów w uczciwości, a co równie ważne, daje użytkownikom pewność, że wiedzieliby, gdyby redaktorzy przestali być uczciwi. Użytkownicy HN mogą to zrobić, przełączając przełącznik o nazwie showdead w swoim profilu. [4]
Komentarze
Złe komentarze wydają się być trudniejszym problemem niż złe zgłoszenia. Chociaż jakość linków na stronie głównej HN niewiele się zmieniła, jakość mediany komentarzy mogła nieco spaść.
Istnieją dwa główne rodzaje zła w komentarzach: złośliwość i głupota. Istnieje wiele nakładania się między nimi – złośliwe komentarze są nieproporcjonalnie częściej głupie – ale strategie radzenia sobie z nimi są różne. Złośliwość jest łatwiejsza do kontrolowania. Można mieć zasady mówiące, że nie powinno się być złośliwym, a jeśli się je egzekwuje, wydaje się możliwe, aby utrzymać złośliwość w ryzach.
Utrzymanie złośliwości w ryzach jest trudniejsze, być może dlatego, że głupota nie jest tak łatwo odróżnialna. Złośliwi ludzie częściej wiedzą, że są złośliwi, niż głupi ludzie wiedzą, że są głupi.
Najbardziej niebezpieczną formą głupiego komentarza nie jest długi, ale błędny argument, lecz głupi żart. Długie, ale błędne argumenty są faktycznie dość rzadkie. Istnieje silna korelacja między jakością komentarza a jego długością; gdybyś chciał porównać jakość komentarzy na stronach społecznościowych, średnia długość byłaby dobrym predyktorem. Prawdopodobnie przyczyną jest ludzka natura, a nie coś specyficznego dla wątków komentarzy. Prawdopodobnie chodzi po prostu o to, że głupota częściej przybiera formę posiadania niewielu pomysłów niż błędnych.
Niezależnie od przyczyny, głupie komentarze zazwyczaj są krótkie. A ponieważ trudno napisać krótki komentarz, który wyróżnia się ilością przekazywanych informacji, ludzie próbują je wyróżnić zamiast tego, będąc zabawnymi. Najbardziej kuszącym formatem dla głupich komentarzy jest rzekomo dowcipne złośliwe uwagi, prawdopodobnie dlatego, że złośliwe uwagi są najłatwiejszą formą humoru. [5] Więc jedną z zalet zakazywania złośliwości jest to, że ogranicza ona również te.
Złe komentarze są jak kudzu: szybko przejmują kontrolę. Komentarze mają znacznie większy wpływ na nowe komentarze niż zgłoszenia na nowe zgłoszenia. Jeśli ktoś prześle kiepski artykuł, pozostałe zgłoszenia nie stają się wszystkie kiepskie. Ale jeśli ktoś opublikuje głupi komentarz w wątku, to nadaje ton otoczeniu. Ludzie odpowiadają na głupie żarty głupimi żartami.
Może rozwiązaniem jest dodanie opóźnienia, zanim ludzie będą mogli odpowiedzieć na komentarz, i uczynienie długości opóźnienia odwrotnie proporcjonalną do jakiejś predykcji jego jakości. Wtedy głupie wątki rosłyby wolniej. [6]
Ludzie
Zauważam, że większość opisanych przeze mnie technik jest konserwatywna: mają na celu zachowanie charakteru strony, a nie jego wzmocnienie. Nie sądzę, żeby to był mój błąd. Wynika to z kształtu problemu. Hacker News miał szczęście zacząć dobrze, więc w tym przypadku jest to dosłownie kwestia zachowania. Ale myślę, że ta zasada dotyczyłaby również stron o innym pochodzeniu.
Dobre rzeczy na stronie społecznościowej pochodzą bardziej od ludzi niż od technologii; głównie w zapobieganiu złym rzeczom technologia odgrywa rolę. Technologia z pewnością może usprawnić dyskusję. Zagnieżdżone komentarze na przykład tak robią. Ale wolałbym korzystać ze strony z prymitywnymi funkcjami i inteligentnymi, miłymi użytkownikami niż z bardziej zaawansowanej, której użytkownicy byliby idiotami lub trollami.
Dlatego najważniejszą rzeczą, jaką może zrobić strona społecznościowa, jest przyciągnięcie ludzi, których chce. Strona starająca się być jak największa, chce przyciągnąć wszystkich. Ale strona celująca w konkretny podzbiór użytkowników musi przyciągnąć tylko tych – i co równie ważne, odepchnąć wszystkich innych. Świadomie starałem się to zrobić na HN. Projekt graficzny jest tak prosty, jak to możliwe, a zasady strony zniechęcają do dramatycznych tytułów linków. Celem jest, aby jedyną rzeczą, która zainteresuje kogoś, kto po raz pierwszy odwiedza HN, były wyrażone tam idee.
Minus polega na tym, że dostosowanie strony do przyciągania określonych ludzi może być dla tych ludzi zbyt atrakcyjne. Jestem zbyt świadomy, jak uzależniający może być Hacker News. Dla mnie, podobnie jak dla wielu użytkowników, jest to rodzaj wirtualnego placu miejskiego. Kiedy chcę zrobić przerwę od pracy, wchodzę na plac, tak jak mógłbym wejść na Harvard Square lub University Ave w świecie fizycznym. [7] Ale plac online jest bardziej niebezpieczny niż fizyczny. Gdybym spędzał pół dnia wałęsając się po University Ave, zauważyłbym to. Muszę przejść milę, żeby tam dotrzeć, a siedzenie w kawiarni czuje się inaczej niż praca. Ale odwiedzenie forum online wymaga tylko kliknięcia i powierzchownie wygląda bardzo podobnie do pracy. Możesz marnować czas, ale nie jesteś bezczynny. Ktoś jest niepoprawny w Internecie, a ty naprawiasz problem.
Hacker News jest zdecydowanie użyteczny. Wiele się nauczyłem z rzeczy, które czytałem na HN. Napisałem kilka esejów, które zaczęły się jako komentarze tam. Więc nie chciałbym, żeby strona zniknęła. Ale chciałbym mieć pewność, że nie jest to netto obciążenie dla produktywności. Cóż za katastrofa by to była, przyciągnąć tysiące inteligentnych ludzi do strony, która spowodowałaby, że zmarnują mnóstwo czasu. Chciałbym mieć 100% pewności, że nie jest to opis HN.
Czuję, że uzależniający charakter gier i aplikacji społecznościowych jest nadal w większości nierozwiązanym problemem. Sytuacja jest teraz taka, jak z crackiem w latach 80.: wynaleźliśmy strasznie uzależniające nowe rzeczy i jeszcze nie wyewoluowaliśmy sposobów ochrony przed nimi. W końcu to zrobimy, i to jest jeden z problemów, na których mam nadzieję skupić się dalej.
Przypisy
[1] Próbowałem szeregować użytkowników według średniego i medianowego wyniku komentarza, a średni (z odrzuconym najwyższym wynikiem) wydawał się dokładniejszym predyktorem wysokiej jakości. Mediana może być jednak dokładniejszym predyktorem niskiej jakości.
[2] Inną rzeczą, której nauczyłem się z tego eksperymentu, jest to, że jeśli zamierzasz rozróżniać między ludźmi, lepiej upewnij się, że robisz to dobrze. Jest to jeden problem, w którym szybkie prototypowanie nie działa.
W rzeczywistości jest to intelektualnie uczciwy argument za niedyskryminowaniem między różnymi typami ludzi. Powodem, dla którego się tego nie robi, nie jest to, że wszyscy są tacy sami, ale to, że źle jest robić źle i trudno jest robić dobrze.
[3] Kiedy łapię rażąco linkjackowane posty, zastępuję adres URL tym, co skopiowali. Strony, które nagminnie linkjackują, są blokowane.
[4] Digg jest notoryczny ze swojego braku przejrzystości. Źródłem problemu nie jest to, że ludzie zarządzający Digg są szczególnie przebiegli, ale to, że używają niewłaściwego algorytmu do generowania swojej strony głównej. Zamiast wypływać z dołu, gdy otrzymują więcej głosów, jak na Reddit, historie zaczynają się na górze i są wypychane w dół przez nowe przybyłe.
Powodem tej różnicy jest to, że Digg wywodzi się ze Slashdot, podczas gdy Reddit wywodzi się z Delicious/popular. Digg to Slashdot z głosowaniem zamiast redaktorów, a Reddit to Delicious/popular z głosowaniem zamiast zakładek. (Nadal można zobaczyć skamieniałości ich pochodzenia w ich projekcie graficznym.)
Algorytm Digg jest bardzo podatny na manipulacje, ponieważ każda historia, która trafi na stronę główną, jest nową najlepszą historią. Co z kolei zmusza Digg do reagowania ekstremalnymi środkami zaradczymi. Wiele startupów ma jakiś sekret dotyczący podstępów, do których musieli się uciekać w początkowych dniach, i podejrzewam, że Digg to skala, w jakiej najlepsze historie były de facto wybierane przez ludzkich redaktorów.
[5] Dialog w Beavis and Butthead składał się w dużej mierze z tych elementów, a kiedy czytam komentarze na naprawdę złych stronach, słyszę je ich głosami.
[6] Podejrzewam, że większość technik zniechęcających do głupich komentarzy jeszcze nie została odkryta. Xkcd wdrożył szczególnie sprytny w swoim kanale IRC: nie zezwalaj na to samo dwa razy. Gdy ktoś powie „fail”, nikt nigdy więcej tego nie powie. To szczególnie ukarałoby krótkie komentarze, ponieważ mają one mniej miejsca, aby uniknąć kolizji.
Innym obiecującym pomysłem jest filtr głupoty, który jest podobny do probabilistycznego filtra spamu, ale wytrenowany na korpusach głupich i niegłupich komentarzy.
Może nie musisz usuwać złych komentarzy, aby rozwiązać problem. Komentarze na dole długiego wątku są rzadko widoczne, więc może wystarczy uwzględnić predykcję jakości w algorytmie sortowania komentarzy.
[7] To, co sprawia, że większość przedmieść jest tak demotywująca, to brak centrum, do którego można by się udać.
Podziękowania dla Justin Kan, Jessica Livingston, Robert Morris, Alexis Ohanian, Emmet Shear i Fred Wilson za przeczytanie wersji roboczych tego tekstu.
Komentarz do tego eseju.