Stecke einen Stift hinein!

Pinterest platziert über sein Chrome-Plugin Werbeanzeigen für sich selbst auf Webseiten. Die Mitarbeiter von Postlight verbrachten einen Tag damit, herauszufinden, was Pinterest tat, und schrieben dann einen Code, mit dem jeder, der eine Website verwaltet, die Anzeige ausblenden kann. Dieser Code befindet sich am Ende dieses Artikels.

Update, 10. Dezember 2015: Pinterest hat Kontakt aufgenommen. Sie haben ihren Regexp-Fehler behoben und verhindern außerdem, dass ihre Werbeanzeige auf Readability.com geschaltet wird, wodurch unsere Probleme vollständig behoben werden. Danke, Pinterest!

Wer hat was jetzt getan?

Am Freitag, dem 4. Dezember, hat Philip Forget, der Hauptentwickler von Readability, den folgenden Screenshot von Readability.com in unseren Gruppenchat gepostet. “Das scheint mir ein schäbiger Schachzug zu sein”, schrieb er. “Aber vielleicht bin ich voreingenommen.”

Um zu verstehen, warum es sich um einen schlechten Schritt handelte, müssen Sie wissen, wer daran beteiligt ist.

Erstens ist Pinterest ein gigantischer, gut finanzierter Image-Lesezeichen-Service mit 100 Millionen Nutzern und Über 500 Mitarbeiter. Vor einigen Monaten wurde eine Funktion angeboten, mit der Sie nicht nur Bilder, sondern ganze Artikel speichern können.

Zweitens ist Postlight eine digitale Agentur in New York City, die mobile und Web-Apps erstellt. Als Unternehmen sind wir erst ein paar Monate alt, aber als Team arbeiten viele von uns seit Jahren zusammen. Das Unternehmen wurde von mir, Paul Ford, und meinem Partner, Rich Ziade, gegründet.

Drittens ist Lesbarkeit ein digitaler Dienst, den Postlight verwaltet. Es konkurriert mit dem Produkt “Später lesen” von Pinterest, indem es Webartikel in einer einfachen, lesbaren Ansicht speichert. Es hat zig Millionen Benutzer und zwei oder drei Mitarbeiter in einer arbeitsreichen Woche (null Mitarbeiter in einer ruhigen Woche). Es gibt es seit 2010.

Es war nicht schwer herauszufinden, was dies bewirkt hat: Das Pinterest Chrome-Plugin, mit dem Bilder, die Sie im Web finden, einfach „angeheftet“ werden sollen, hat sein Mandat überschritten und Anzeigen geschaltet Webseiten anderer Leute. Das ist nicht illegal! Aber es ist eine schlechte Form und auch für die Benutzer verwirrend. Wir hatten keine Ahnung, dass Pinterest Anzeigen für ein Konkurrenzprodukt auf unseren eigenen Seiten einfügt. Außerdem sieht es nicht wie eine Anzeige aus, sondern eher wie eine freundliche Erinnerung. Wir verwenden Rot, sie verwenden Rot. Die Leute könnten denken, wir würden das Produkt von Pinterest über unser eigenes bewerben.

Wir waren nicht empört, nur neugierig. Warum, fragten wir uns, hat Pinterest Anzeigen für seinen Lesedienst oben auf den Seiten von unserem Leseservice geschaltet? Wir sind klein. Sie sind riesig. Es hat uns paranoid gemacht. Wir haben versucht, die Anzeige auf anderen Websites wie der New York Times und dem New Yorker zu schalten, aber keine Würfel. Könnten sie uns gezielt ansprechen? Dann haben wir uns online umgesehen und festgestellt, dass andere Leute die Anzeige auf anderen Websites bemerkt haben:

Wir drei, Richard, Paul und Philip, haben Zeit damit verbracht, den Quellcode des Pinterest-Plugins herunterzuladen und herumzustöbern. Philip ist bei weitem der beste Programmierer der drei, also hatte er bald die Situation ausgepackt und erklärt, was los war – eine schöne Samstagsaktivität.

In der Quelle

Der Quellcode des Pinterest Chrome-Plugins ist nicht der am besten dokumentierte, aber wir haben unser Bestes getan, um ihn zu verstehen. Soweit wir bei jedem Besuch einer beliebigen Webseite feststellen können, überprüft der Pinterest-Code die Adresse der Seite, “hascht” sie in einen 12-Buchstaben-Code und vergleicht diesen Code mit einer Liste von etwa 8.000 andere Codes.

Wir vermuten, dass dies eine verdeckte Liste der Websites ist, auf denen nicht Sie ihre Bilder anheften sollen – eine “Opt-out” -Liste. Und wenn eine Website nicht in dieser Liste enthalten ist, fügt der Pinterest-Code allen Bildern mit einer Breite von 300 Pixel oder mehr auf der aktuellen Webseite Schaltflächen zum Anheften hinzu.

So weit, so gut. Dies ist, was das Plugin tun soll . Aber dann gibt es einen Abschnitt in JavaScript von Pinterest, der sich auf ein “Experiment” bezieht und den Codenamen “Toast” zu haben scheint. Der “Toast” -Code prüft, ob die Seite, die Sie besuchen, Bilder enthält. Anschließend weist er Sie einem “Segment” zu und bestimmt, ob Sie die “Erfahrung” erhalten sollen. (Dies sind die Begriffe, die sie in ihrem Code verwenden. Wenn “canHazExperience” auf “true” gesetzt wird, können Sie die Erfahrung gefährden. )

Beim Lesen des Codes scheint die Anzeige “Erfahrung” häufiger als tatsächlich geschaltet zu werden – etwa 30% der Plugin-Benutzer sollten sie alle zwei Wochen einmal sehen. Aber Pinterest hat einen Fehler in ihrem Code: Wenn sie alle Bilder auf Ihrer Seite betrachten, suchen sie nach solchen, die mit sicheren “ https ” – URLs und auch “ htts <" übereinstimmen / strong> ”URLs. Es gibt keine “htts”; Sie meinten “http” und machten einen Fehler. Aufgrund dieses Fehlers funktioniert die Anzeigeninjektion nur auf Websites, auf denen Bilder sicher gehostet werden – , und die meisten Websites tun dies nicht, sodass die meisten Websites nicht tatsächlich eine Gefahr darstellen können die Erfahrung. Glücklicherweise kann die Lesbarkeit dies, da wir eine der wenigen Websites sind, die Bilder über eine sichere Verbindung hosten.

Als wir eine Kopie ihres Plugins erstellt und mit behobenem Fehler ausgeführt haben, konnten wir ihre Anzeige auf jeder Website mit ausreichend großen Bildern zuverlässig sehen. So erfuhren wir, dass unser Unternehmen nicht gezielt angesprochen wurde, was eine Erleichterung war. Pinterest erwartet vielmehr, sich überall zu injizieren.

Entschuldigung, aber …

Wenn Sie das Pinterest-Plugin in Chrome installiert haben, haben Sie dem zugestimmt. Ihr eigener Browser hat gefragt, ob es für Pinterest in Ordnung ist, sich alles anzusehen, was Sie durchsucht haben, und Sie haben Ja gesagt. Sie haben Pinterest implizit die Erlaubnis erteilt, zu sehen, was Sie gerade durchsuchen, alles zu melden, was gemeldet werden soll, und Anzeigen auf jeder von Ihnen besuchten Seite zu stauen. So funktionieren Web-Plugin-Berechtigungen.

Pinterest ist kaum der schlimmste Täter – es wird nicht versucht, Ihre Kreditkartennummer oder etwas anderes zu ermitteln. Es tut nur das, was Sie ihm gesagt haben, dass es tun könnte.

Und dies ist nur ein Teil des Codes, dessen Verständnis wir einige Zeit in Anspruch genommen haben, basierend auf einer paranoiden Vermutung, die sich als falsch herausstellte. (Nun, nicht falsch , nur nicht spezifisch für die Lesbarkeit.) Browser-Plugins sind wie Rumpelstilzchen – sie versprechen, das Web in Gold zu verwandeln und dann Ihr erstgeborenes Kind zu fordern.

Was jetzt?

Wir haben uns ein wenig überlegt, was wir als nächstes tun sollen. Das kluge , was wir tun müssen, ist, die Klappe zu halten und es abzuschütteln. (Wir haben Bekannte gemeinsam.) Klug – aber langweilig. Außerdem haben wir jetzt viel Zeit damit verbracht, herauszufinden, wie ihr Code funktioniert. Dann dachten wir: Wenn Pinterest ohne Erlaubnis Anzeigen in unsere Seiten einfügen kann, können wir Text in ihre Anzeigen einfügen . Es dauerte nur ein paar Minuten, um herauszufinden, wie. Hier ist eine, die wir getestet haben:

Weitere Ideen der Mitarbeiter von Postlight (rechtlich umsetzbare / obszöne Ideen entfernt):

– oder –

– oder –

– und schließlich –

Es macht Spaß, Riesen zu optimieren, aber es gibt bereits genug Fehlleitungen im Web. Wir haben uns entschlossen, das Vernünftige für Readability-Benutzer zu tun, und Philip hat ein paar Codezeilen geschrieben, um die Anzeige von Pinterest zu entfernen, wenn sie erscheint. JavaScript gibt und JavaScript nimmt weg.

Natürlich könnte Pinterest seinen Code ändern, um unseren Blocker zu umgehen, aber wir bezweifeln, dass sie es bemerken oder sich darum kümmern werden. In ihrer Größenordnung wird unsere mangelnde Einhaltung der erzwungenen Anzeigeninjektion in ihren Protokollen nur als statistisches Rauschen angezeigt.

Wir könnten wahrscheinlich herausfinden, wie wir uns abmelden können, wie diese 8.000 geheimen Hash-Websites – aber dann könnten unsere Benutzer ihre Bilder nicht anheften. Und wer sollen wir zwischen Menschen und ihre Stecknadeln kommen?

Ist irgendetwas davon wichtig?

Pinterest ist ein globales Unternehmen mit mehr als 500 Mitarbeitern. Lesbarkeit ist auch ein großer Service – sie bedient jeden Monat Hunderte Millionen Anfragen – aber mit einer Skeleton-Crew. Wir haben einmal versucht, Geld für Schriftsteller (und für uns selbst!) Zu verdienen, aber unser Versuch hat alle wirklich sauer gemacht – also haben wir jeden Cent, den wir verdient haben, an so viele Schriftsteller gezahlt, wie wir aufspüren und geben konnten 100.000 US-Dollar verbleiben für gemeinnützige Alphabetisierungszwecke. Zusammenfassung: Wir haben immer nur Geld für das Produkt verloren und Unmengen von Menschen verärgert (obwohl wir zur Förderung der Alphabetisierung beigetragen und eine ganze Kategorie von Internetdiensten entwickelt haben).

Warum machen wir so weiter? Torheit, Sturheit und massive weltweite Nachfrage. Die Lesbarkeit ist für Millionen von Menschen im Internet zu einem zentralen Dienstprogramm geworden. Wir bedienen Benutzer, die unter unterdrückenden Bedingungen leben, in denen das Internet stark zensiert ist, und helfen behinderten Menschen, Zugang zu Artikeln im Internet zu erhalten. Und wir betreiben heimlich viele Lese-Apps und Software von Drittanbietern. Also konzentrieren wir uns auf diese Dinge. Einige Unternehmen sind Einhörner im Wert von Milliarden, wir nicht. Es ist jedoch ein Privileg und eine Ausbildung, dieses seltsame Tool, das heute Teil der verborgenen Infrastruktur des Webs ist, leise zu hüten.

Bis Freitag hatten wir Ehrfurcht vor Pinterest. Sie haben eine enorme Plattform aufgebaut, einige erstaunliche Produkte ausgeliefert und konzentrieren sich eher auf ihre Benutzer als auf Schlagzeilen. Dieser Injektionsstil scheint ein seltsamer Schritt für sie zu sein, um für ihren neuen Lesezeichen-Service zu werben, aber sie haben kommerziellen Druck, den wir uns nur vorstellen können.

Angesichts der verschwindend geringen Wahrscheinlichkeit, dass jemand von der Führung von Pinterest dies liest, schlagen wir vor, dass Pinterest keine vage definierten Werbeaktionen mehr auf den Websites anderer Personen einfügt, “experimentiert” oder nicht. Wenn nicht, sollte Pinterest seinen Nutzern zumindest klar machen, woher die Anzeigen stammen. Wenn Sie der eingefügten Anzeige nur Text hinzufügen, z. B. “ Diese Meldung wird angezeigt, weil Sie die Pin-It-Schaltfläche für Chrome installiert haben”, reicht aus. Klarheit ist ein Zeichen von Respekt. Oder führen Sie oben auf der Seite einen farbigen Streifen + eine Benachrichtigung aus. Dies ist ein bekannteres Muster für die Anzeigenwerbung.

Und abgesehen davon korrigieren Sie bitte den regulären Ausdruck in Zeile 1031 in cr_139.js. Wenn Pinterest das Falsche tun wird, sollten sie es zumindest gut machen.

Mit freundlichen Grüßen

Paul Ford & amp; Rich Ziade
Postlight & amp; Lesbarkeit

P.S. Wenn Sie eine Website verwalten, können Sie die Anzeigen von Pinterest mit diesem Code ausblenden (während die “Pin this” -Symbole wie gewohnt funktionieren – wir möchten Ihre Strategie für das Engagement in sozialen Medien nicht durcheinander bringen).

ist ein schnell wachsender Produktladen in New York City, der mobile und Web-Apps für unsere Kunden und für uns selbst erstellt. Wir lieben das Web – das echte, chaotische, globale Web, Plugins und alles andere – viel mehr als gesund oder vernünftig ist. Wenn wir Ihnen behilflich sein können, setzen Sie sich mit uns in Verbindung.