Facebook versucht frustrierte Entwickler zu besänftigen

  • Dec 07, 2023

Entwickler haben sich diese Woche über zwei verschiedene Facebook-Probleme beschwert. Das erste bezog sich auf das Javascript SDK und das zweite auf das Python SDK. Facebook reagierte auf beides.

rustygears.png
Zwei verschiedene Entwickler haben diese Woche ihre Frustrationen über die Facebook-Plattform und die Anwendungsprogrammierschnittstelle (API) von Facebook geäußert. Beide starteten dank ihrer Einsendungen schnell durch HackerNachricht: Die Facebook-Plattform ist ein Zugunglück, Beispiel Nr. 871 Und Facebook hat sein Python-SDK-Repository ohne Vorwarnung gelöscht.

In beiden Fällen wollte ich das angesprochene Thema aufschreiben, aber ich wollte auch die Facebook-Seite der Geschichte erfahren. Ich kontaktierte das Unternehmen und wurde auf lange Antworten von Douglas Purdy, Facebooks Director of Developer Relations, hingewiesen. Kurz gesagt, er entschuldigte sich, räumte einige Verwirrung auf und versprach, dass Facebook sich immer noch um Entwickler kümmert. Ist das wahr? Du entscheidest.

Beim ersten Problem (Javascript SDK) geht es darum, wie mühsam es ist, mit der Facebook-API zu arbeiten: Sie ist nicht nur fehlerhaft und inkonsistent, Facebook ist es offenbar auch egal, dass sie fehlerhaft ist. Der Autor, Jeff Schnitzer, sagt, es gäbe dafür Hunderte von Beispielen, aber er geht ausführlich auf die Beschreibung eines kürzlichen Erlebnisses ein, das er erlebt hat, und erklärt, wie er ein paar wertvolle Stunden verloren hat.

Mit dem Javascript SDK können Sie die Ereignisse „auth.login“ (beschrieben als „ausgelöst, wenn sich der Benutzer anmeldet“) und „auth.logout (beschrieben als „ausgelöst, wenn sich der Benutzer abmeldet“) abonnieren. Schnitzer hat herausgefunden, dass auth.logout beim Abmelden und beim Anmelden ausgelöst wird. Dann fand er zwei weitere Personen, die dies als Fehler gemeldet hatten FacebookEntwickler. Facebook teilte ihnen mit, dass dieser Fehler beabsichtigt sei.

Frustriert definierte Schnitzer den typischen Reaktionsablauf von Facebook wie folgt:

  1. Ohne Kommentar schließen, da sich das Problem nicht beheben lässt.
  2. Ignorieren Sie Entwicklerkommentare, die um Klarstellung bitten.
  3. Der Entwickler postet einen doppelten Fehler und bittet um Klärung.
  4. Schließen Sie wie beabsichtigt mit einer kryptischen Erklärung.
  5. Ignorieren Sie Entwicklerkommentare, die um Klarstellung bitten.

„Ich wünschte, das wäre ein Einzelfall, aber fast alle Erfahrungen, die ich mit der Facebook-Plattform gemacht habe, sind gleichermaßen unbefriedigend“, schrieb Schnizter. „Bugs werden geschlossen oder einfach ignoriert. Von den Problemen, die eine Antwort erhalten, lautet die erste Runde fast immer „Benötige einen Repro-Fall“, auch wenn der Fehler in der Beschreibung *klar* dargelegt ist. Muss ich nach Palo Alto fahren und es auf Ihrer Tastatur eingeben?“

So reagierte Purdy auf Schnitzers Beschwerden:

Unsere API liegt uns absolut am Herzen. Wir arbeiten so hart wie möglich daran, unsere API weniger fehlerhaft und stabiler zu machen. Im Laufe des vergangenen Jahres haben wir diesem Problem mehr Tests, mehr Ressourcen und mehr Tools hinzugefügt als während der gesamten Lebensdauer der Facebook-Plattform. Darüber hinaus sind wir dabei, die Fläche unserer Plattform auf ein Maß zu reduzieren, das uns einen guten Support ermöglicht. Insbesondere entfernen wir FBML ( https://developers.facebook.com/blog/post/568/), veraltete REST-API ( https://developers.facebook.com/blog/post/616/), Übergang zur Unterstützung von OAuth 2.0/HTTPs ( https://developers.facebook.com/docs/oauth2-https-migration/) auf ganzer Linie und entscheiden, welche SDKs wir wirklich unterstützen werden. Diese Änderungen sind für uns und die Entwickler schmerzhaft, aber notwendig, um den von den Entwicklern erwarteten Support zu bieten. Ironischerweise ist es die OAuth-Migration, die für den im Beitrag gemeldeten JavaScript SDK-Fehler verantwortlich ist. Wir haben diesen Fehler eingeführt, indem wir den OAuth-Codepfad hinzugefügt haben. Dieser Fehler soll jedoch bald behoben werden (in der Zwischenzeit gibt es einen einfachen Workaround). Was die Quelle des JavaScript SDK angeht, arbeiten wir am richtigen Ansatz, um sicherzustellen, dass Entwickler Zugriff auf die nicht minimierte Quelle erhalten (was wir meiner Meinung nach zum Debuggen tun müssen). Es ist unwahrscheinlich, dass wir dies über GitHub tun werden, aber wir denken darüber nach, es einfach von unserem CDN mit der minimierten Version als Option zu entfernen. Was den Fehlerprozess betrifft, möchte ich zwei Dinge sagen. Erstens verfügen wir jetzt über ein engagiertes Team von Ingenieuren, die sich der Unterstützung von Entwicklern widmen. Wenn Sie schon seit einiger Zeit auf der Facebook-Plattform entwickeln, ist die Tatsache, dass auf Fehler täglich reagiert wird, eine enorme Verbesserung. Wir haben noch einen _langen_ Weg vor uns, aber wir hören zu und reparieren. Ich möchte anmerken, dass wir noch daran arbeiten, wie wir auf verschiedene Probleme reagieren und wie das Bug-Tool funktioniert (etwas, das wir dieses Jahr gestartet haben) funktioniert – dies scheint aus dem Beitrag und etwas hervorzugehen, das ich weiterverfolge An. Zweitens: Nur weil der Reporter es reproduzieren kann, heißt das nicht, dass wir es auch mit den von Ihnen bereitgestellten Schritten können. Unser Team aus Supporttechnikern versucht, jedes einzelne gemeldete Problem zu reproduzieren. Oftmals können und brauchen sie einfach keine weiteren Informationen. Abschließend möchte ich Folgendes sagen: 1. Wir kümmern uns um unsere Entwickler und die API. 2. Wir haben dieses Jahr mehr als je zuvor getan, um Entwicklern zu helfen und die Plattform stabil zu halten. 3. Allerdings haben wir noch einen langen Weg vor uns und diese Dinge ändern sich nicht über Nacht. 4. Wenn jemand Probleme mit der Behandlung eines Fehlers oder ein anderes Problem mit der Facebook-Plattform hat, können Sie mich jederzeit auf Facebook (www.facebook.com/dmp) oder [email protected] anpingen.

Beim zweiten Problem (Python SDK) geht es darum, wie Facebook das bisher gepflegt hat python-sdk Projekt auf GitHub, löschte dann aber plötzlich das öffentliche Repository. Der Autor, Lincoln Quirk, stellt fest, dass das Problem beim Löschen eines Repositorys von GitHub darin besteht, dass es viele Leute betrifft, die GitHub angeben Repositorys in ihren „requirements.txt“-Dateien, einer Python-Pip-Funktion, mit der Sie Abhängigkeiten für Ihren Code auflisten können, der automatisch aus dem Internet installiert werden kann wenn gebraucht. Quirk hatte das Python-SDK-Repository von Facebook in seiner Anforderungsdatei, aber da es jetzt nicht mehr vorhanden ist, kann er seine Abhängigkeiten nicht installieren.

Der Fehlerbericht am Facebook-Entwickler bezieht sich auf die „90-Tage-Breaking-Change-Richtlinie“ des Unternehmens, aber der Facebook-Mitarbeiter, der sie als „By Design“ einstufte, scheint diese Tatsache zu ignorieren. Quirk hat jedoch herausgefunden, dass jemand den Code unter verwaltet github.com/pythonforfacebook/facebook-sdk. Dann entdeckte er auch, dass Facebook zwar die Einstellung angekündigt hatte, der Hinweis jedoch in einem anderen Fehlerbericht vergraben war Facebook-Entwickler.

So reagierte Purdy auf Quirks Beschwerden:

Meine kurze Antwort ist, dass das Repository wieder öffentlich ist, mit dem Hinweis, dass es veraltet ist. Ich persönlich entschuldige mich für die Abwanderung. Meine ausführliche Antwort lautet, dass wir dieses SDK seit einiger Zeit nicht mehr unterstützt haben und dass das SDK aufgrund unseres kürzlichen generellen Wechsels zu OAuth 2.0 das neueste Cookie-Format nicht unterstützt. Der Grund, warum wir das Repository privat gemacht haben, bestand darin, Entwickler nicht mit einem öffentlichen SDK zu verwirren, das einfach nicht funktionierte und von dem wir bereits sagten, dass wir es nicht unterstützen. Sie fragen sich vielleicht, warum wir dieses SDK nicht unterstützen. Die Antwort ist ganz einfach: Ressourcen. Was wir das ganze Jahr über tun, ist, die Fläche unserer Plattform so weit zu reduzieren, dass wir tatsächlich guten Support bieten können. Aus diesem Grund entfernen wir FBML ( https://developers.facebook.com/blog/post/568/), veraltete REST-API ( https://developers.facebook.com/blog/post/616/), Übergang zur Unterstützung von OAuth 2.0/HTTPs ( https://developers.facebook.com/docs/oauth2-https-migration/) auf ganzer Linie und entscheiden, welche SDKs wir wirklich unterstützen werden. Auf dieser Grundlage werden wir zwei Dinge tun. Zuerst haben wir das Repository wieder öffentlich gemacht, mit der Meldung, dass es nun veraltet ist. Fühlen Sie sich frei, nach Geschmack/Arbeit zu klonen und zu modifizieren. Wir möchten wirklich ein Python-SDK unterstützen, aber wir müssen alle unsere Ressourcen auf die SDKs konzentrieren, die wir tatsächlich gut unterstützen können. Ich habe keinen Zweifel daran, dass die Entwicklergemeinschaft in der Zwischenzeit ein SDK bereitstellen kann und wird, um diesen Bedarf zu decken. Zweitens werden wir etwas in unserem Entwicklerblog veröffentlichen, um sicherzustellen, dass allen klar ist, welche SDKs wir verwenden Unterstützung (derzeit unterstützen wir nur das PHP SDK, das JavaScript SDK, das iOS SDK und das Android SDK).

Es scheint, dass Facebook Entwicklern nicht so sehr unnötige Hindernisse in den Weg legt, sondern vielmehr ein ernsthaftes Kommunikationsproblem hat. Da das Unternehmen noch jung ist, nimmt es verständlicherweise regelmäßig zahlreiche Änderungen vor. Facebook-Entwickler sollten auf jeden Fall diejenigen sein, die über diese Ereignisse posten, aber meiner Meinung nach brauchen sie eine bessere Schulung.

Siehe auch:

  • Eine Entwicklerumfrage ergab, dass Facebook die schlechteste API hat
  • Facebook veranstaltet nächsten Monat zwei Mobile Hack-Events
  • Facebook bietet App-Entwicklern die Heroku-Cloud an
  • Die Facebook-Plattform für Mobilgeräte kommt für Android
  • Die Facebook-Plattform wird mobil, beginnend mit Apple iOS
  • Facebook startet HTML5 Resource Center