페이스북은 좌절한 개발자들을 달래려고 노력한다

  • Dec 07, 2023

이번 주 개발자들은 두 가지 별도의 Facebook 문제에 대해 불평했습니다. 첫 번째는 Javascript SDK에 관한 것이고 두 번째는 Python SDK에 관한 것입니다. 페이스북은 두 가지 모두에 응답했습니다.

녹슨기어.png
이번 주에는 두 명의 다른 개발자가 Facebook 플랫폼과 Facebook의 애플리케이션 프로그래밍 인터페이스(API)에 대한 불만을 게시했습니다. 둘 다 에 제출한 덕분에 빠르게 성공했습니다. 해커소식: Facebook 플랫폼은 난파선입니다. 예 #871 그리고 Facebook은 경고 없이 python-sdk 저장소를 삭제했습니다..

두 경우 모두 제기된 문제에 대해 글을 쓰고 싶었지만 Facebook의 입장도 듣고 싶었습니다. 나는 회사에 연락했고 Facebook의 개발자 관계 이사인 Douglas Purdy로부터 긴 답변을 받았다는 지시를 받았습니다. 간단히 말해서, 그는 사과하고 일부 혼란을 해소했으며 Facebook이 여전히 개발자에 관심을 갖고 있다고 약속했습니다. 그게 사실인가요? 당신이 판사가 되십시오.

첫 번째 문제(Javascript SDK)는 Facebook API로 작업하는 것이 얼마나 고통스러운지에 대한 것입니다. 버그가 많고 일관성이 없을 뿐만 아니라 Facebook은 그런 점에 전혀 신경을 쓰지 않는 것 같습니다. 저자인 Jeff Schnitzer는 이러한 사례가 수백 가지 있다고 말하지만, 최근 자신이 경험한 사례를 자세히 설명하고 귀중한 몇 시간을 낭비했는지 설명했습니다.

Javascript SDK를 사용하면 "auth.login"("사용자가 로그인할 때 실행됨"으로 설명됨) 및 "auth.logout("사용자가 로그아웃할 때 실행됨"으로 설명됨) 이벤트를 구독할 수 있습니다. Schnitzer는 로그아웃할 때와 로그인할 때 auth.logout이 실행된다는 사실을 발견했습니다. 그런 다음 그는 이것을 버그로 신고한 다른 두 사람을 발견했습니다. 페이스북개발자. Facebook은 이 버그가 의도된 버그라고 말했습니다.

좌절감에 Schnitzer는 Facebook의 일반적인 문제 대응 흐름을 다음과 같이 정의했습니다.

  1. 설명 없이 수정되지 않음으로 닫습니다.
  2. 설명을 요구하는 개발자 의견을 무시하세요.
  3. 개발자가 설명을 요청하는 중복된 버그를 게시했습니다.
  4. 비밀스러운 설명과 함께 설계대로 닫습니다.
  5. 설명을 요구하는 개발자 의견을 무시하세요.

Schnizter는 "이번 사건이 고립된 사건이었으면 좋겠지만 Facebook 플랫폼에서 겪은 거의 모든 경험이 마찬가지로 불만족스럽습니다"라고 썼습니다. "버그는 닫혀 있거나 단순히 무시됩니다. 응답을 받는 문제 중 설명에 버그가 *명확하게* 명시되어 있더라도 거의 항상 첫 번째 라운드는 '재현 사례 필요'입니다. 팔로알토로 운전해서 가서 키보드로 입력해야 하나요?"

Purdy가 Schnitzer의 불만 사항에 어떻게 대응했는지는 다음과 같습니다.

우리는 API에 절대적으로 관심을 갖고 있습니다. 우리는 API의 버그를 줄이고 더욱 안정적으로 만들기 위해 최선을 다하고 있습니다. 지난 1년 동안 우리는 이 문제를 해결하기 위해 Facebook 플랫폼 전체 기간 동안 가졌던 것보다 더 많은 테스트, 리소스, 도구를 추가했습니다. 또한, 우리는 플랫폼의 표면적을 좋은 수준의 지원을 제공할 수 있는 수준으로 줄이는 과정에 있습니다. 특히 FBML( https://developers.facebook.com/blog/post/568/), REST API 지원 중단( https://developers.facebook.com/blog/post/616/), OAuth 2.0/HTTP 지원으로 이동( https://developers.facebook.com/docs/oauth2-https-migration/) 전반적으로 우리가 실제로 지원할 SDK를 결정합니다. 이러한 변경 사항은 우리와 개발자 모두에게 고통스러운 일이지만 개발자가 기대하는 수준의 지원을 제공하려면 필요합니다. 아이러니하게도 게시물에서 보고된 JavaScript SDK 버그의 원인은 OAuth 마이그레이션입니다. 이 버그를 도입하고 OAuth 코드 경로를 추가했습니다. 하지만 이 버그는 곧 수정될 예정입니다(그동안 간단한 해결 방법이 있습니다). JavaScript SDK의 소스 측면에서 우리는 개발자가 축소되지 않은 소스(디버깅을 위해 필요하다는 데 동의합니다)에 액세스할 수 있도록 올바른 접근 방식을 통해 작업하고 있습니다. GitHub를 통해 이 작업을 수행할 가능성은 없지만 옵션으로 축소된 버전을 사용하여 CDN에서 제거하는 것을 고려하고 있습니다. 버그 프로세스에 관해서는 두 가지를 말씀드리겠습니다. 첫째, 이제 우리는 개발자 지원을 전담하는 전담 엔지니어 팀을 보유하고 있습니다. 한동안 Facebook 플랫폼에서 개발을 해오셨다면 버그가 매일 응답을 받고 있다는 사실은 엄청난 개선입니다. 갈 길이 멀다. 하지만 우리는 듣고 고치고 있다. 다양한 문제에 대응하는 방법과 버그 도구를 어떻게 처리할지에 대한 프로세스는 아직 진행 중이라는 점을 알려드립니다. (올해 우리가 출시한 것) 작동합니다 -- 이것은 게시물과 제가 후속 조치를 취하고 있는 것에서 입증되는 것 같습니다 에. 둘째, 기자가 재현할 수 있다고 해서 귀하가 제공하는 단계를 적용하더라도 우리도 그렇게 할 수 있다는 의미는 아닙니다. 우리의 지원 엔지니어 팀은 보고된 모든 단일 문제를 재현하려고 노력합니다. 더 많은 정보를 얻을 수 없고 더 많은 정보가 필요한 경우가 많습니다. 1. 다음과 같은 말로 마무리하겠습니다. 우리는 개발자와 API에 관심을 갖고 있습니다. 2. 올해 우리는 개발자를 돕고 플랫폼을 안정적으로 유지하기 위해 그 어느 때보다 더 많은 일을 해왔습니다. 3. 그렇긴 하지만, 아직 갈 길이 멀고 이런 것들이 하루아침에 바뀌지는 않습니다. 4. 버그 처리 방법에 문제가 있거나 Facebook 플랫폼에 다른 문제가 있는 경우 언제든지 Facebook(www.facebook.com/dmp) 또는 [email protected]에서 저에게 핑을 보내실 수 있습니다.

두 번째 문제(Python SDK)는 Facebook이 이전에 Python SDK를 어떻게 유지했는지에 관한 것입니다. 파이썬-SDK GitHub 프로젝트를 진행하다가 갑자기 공개 저장소를 삭제했습니다. 저자인 Lincoln Quirk는 GitHub에서 저장소를 삭제할 때의 문제는 GitHub를 지정하는 많은 사람들에게 영향을 미친다는 점을 지적합니다. require.txt 파일의 리포지토리, 코드에 대한 종속성을 나열하고 인터넷에서 자동으로 설치될 수 있는 Python Pip 기능 필요할 때. Quirk의 요구 사항 파일에는 Facebook의 python-sdk 저장소가 있었지만 지금은 없어졌기 때문에 종속 항목을 설치할 수 없습니다.

버그 보고서 페이스북 개발자 는 회사의 '90일 Breaking Change 정책'을 언급하고 있는데, 이를 'By Design'으로 분류한 페이스북 직원은 이 사실을 무시하는 것 같습니다. 그러나 Quirk는 누군가가 코드를 관리하고 있음을 발견했습니다. github.com/pythonforfacebook/facebook-sdk. 그런 다음 그는 또한 Facebook이 서비스 중단을 발표했지만 해당 메모가 다른 버그 보고서에 묻혀 있다는 사실도 발견했습니다. 페이스북 개발자.

Purdy가 Quirk의 불만 사항에 어떻게 대응했는지는 다음과 같습니다.

나의 짧은 대답은 저장소가 더 이상 사용되지 않는다는 알림과 함께 다시 한 번 공개된다는 것입니다. 이탈에 대해 개인적으로 사과드립니다. 저의 긴 대답은 우리가 한동안 이 SDK를 지원하지 않았으며 최근 OAuth 2.0으로 전반적으로 전환함에 따라 SDK가 최신 쿠키 형식을 지원하지 않는다는 것입니다. 우리가 저장소를 비공개로 만든 이유는 작동하지 않고 이미 지원하지 않는다고 밝힌 공개 SDK로 개발자를 혼란스럽게 하는 것을 피하기 위해서였습니다. 우리가 왜 이 SDK를 지원하지 않는지 궁금하실 것입니다. 대답은 매우 간단합니다. 리소스입니다. 우리가 일년 내내 해왔던 일은 플랫폼의 표면적을 실제로 좋은 지원을 제공할 수 있는 곳으로 줄이는 것입니다. 이것이 우리가 FBML을 제거하는 이유입니다( https://developers.facebook.com/blog/post/568/), REST API 지원 중단( https://developers.facebook.com/blog/post/616/), OAuth 2.0/HTTP 지원으로 이동( https://developers.facebook.com/docs/oauth2-https-migration/) 전반적으로 우리가 실제로 지원할 SDK를 결정합니다. 이를 바탕으로 2가지 작업을 진행하겠습니다. 첫째, 이제 더 이상 사용되지 않는다는 메시지와 함께 저장소를 다시 공개했습니다. 취향에 맞게 복제하고 수정하세요. 우리는 정말로 Python SDK를 지원하고 싶지만 실제로 잘 지원할 수 있는 SDK에 모든 리소스를 집중해야 합니다. 나는 개발자 커뮤니티가 임시적으로 이러한 요구를 충족할 수 있는 SDK를 제공할 수 있고 앞으로도 제공할 것이라는 데 의심의 여지가 없습니다. 둘째, 개발자 블로그에 게시물을 게시하여 모든 사람이 우리가 어떤 SDK를 제공하는지 명확히 알릴 것입니다. 지원(현재 PHP SDK, JavaScript SDK, iOS SDK 및 Android SDK만 지원하고 있습니다).

페이스북은 개발자들에게 불필요한 장애물을 던지는 게 아니라 의사소통에 심각한 문제를 안고 있는 것 같다. 회사는 아직 젊기 때문에 당연히 빈번하게 많은 변화를 만들고 있습니다. Facebook 개발자는 확실히 이러한 이벤트에 대해 게시해야 하지만 내 생각에는 더 나은 교육이 필요합니다.

또한보십시오:

  • 개발자 설문 조사에 따르면 Facebook에는 최악의 API가 있습니다.
  • 페이스북, 다음 달 모바일 해킹(Mobile Hack) 이벤트 2개 개최
  • Facebook은 앱 개발자에게 Heroku 클라우드를 제공합니다.
  • 모바일용 Facebook 플랫폼이 Android로 출시됩니다.
  • Facebook 플랫폼은 Apple iOS를 시작으로 모바일화됩니다.
  • Facebook, HTML5 리소스 센터 출시