17 คะแนน โดย junhoyeo 2023-07-08 | 10 ความคิดเห็น | แชร์ทาง WhatsApp

เบื้องหลัง

  • เมื่อเช้าวานนี้ Meta (Instagram) ได้เปิดตัว Threads แอปที่ออกมาเป็นคู่แข่งของ Twitter และภายใน 7 ชั่วโมงหลังเปิดตัวก็มียอดผู้ใช้แตะ 10 ล้านคน
  • รู้สึกว่าคงปล่อยให้กระแสของ Threads ผ่านไปเฉย ๆ ไม่ได้ เลยเริ่มคิดว่าจะใช้โอกาสนี้อย่างไรดี
  • จึงตัดสินใจสร้างไคลเอนต์ TypeScript/Node.js โดยใช้ API แบบปิด
    • เมื่อ 3 ปีก่อน ตอนที่ Clubhouse เปิดตัวโดยยังไม่มีเว็บแอป ก็เคยแกะ API request ผ่าน SSL Proxy แล้วทำเว็บเซอร์วิสขึ้นมาเหมือนกัน (junhoyeo/clubhouse-profile) คนรอบตัวมองว่าน่าสนใจ แต่ก็ไม่ได้สร้างอิมแพ็กต์ไปมากกว่านั้น
    • แต่ครั้งนี้รู้สึกว่านี่เป็นจังหวะที่น่าลองอีกครั้ง:
      • ปีที่แล้วหลังจาก ChatGPT ออกมา นักพัฒนาจำนวนมากได้สร้างไคลเอนต์/บริการอย่างไม่เป็นทางการขึ้นมา ทำให้ ecosystem โดยรวมเติบโตต่อไป
      • จนถึงตอนนี้ ถ้าดู GitHub feed ก็ยังเห็นรีโพใหม่ ๆ ที่เกี่ยวกับ ChatGPT/OpenAI SDK หรือไคลเอนต์แบบคัสตอมได้ไม่ยาก
    • ถ้าลองทำอีกครั้งคราวนี้ น่าจะทำออกมาได้สนุกกว่ามาก

ทิศทางต่อจากนี้

  • Threads กำลังเตรียมเชื่อมต่อให้รองรับร่วมกับ ecosystem ของ Fediverse ที่ Mastodon ผลักดันอยู่
  • การขาย API ของแพลตฟอร์มโซเชียลอย่าง Twitter ของ Elon Musk และ Reddit ที่รีบเดินตาม ก็กลายเป็นอีกหนึ่งเทรนด์ของ SNS
  • การที่ Meta จะเปิด API ของ Threads ให้ภายนอกใช้งานน่าจะเป็นแค่เรื่องของเวลา
  • กรณีของ ChatGPT
    • Travis Fischer หนึ่งในคนที่สร้าง ChatGPT Client ได้เร็วที่สุด
      • มีรีโพอย่าง transitive-bullshit/chatgpt-api ที่มีดาวมากกว่า 14k เป็นต้น
      • หลังจาก OpenAI เปิดให้ผู้ใช้ส่วนใหญ่เข้าถึง GPT4 API ได้ เขาก็ปรับตำแหน่งของโปรเจกต์อย่างรวดเร็วจาก Unofficial Client ไปเป็นไคลเอนต์ที่เชื่อมกับ Official API
  • เลยตัดสินใจว่าเมื่อ Meta ขยับตัว หากเพิ่มการเชื่อมต่อแบบทางการได้อย่างรวดเร็ว ก็น่าจะยึดตำแหน่งไลบรารี SDK ไว้ก่อนได้

ความคืบหน้า

  • ตอน 3 ทุ่ม ใช้เวลา 30 นาทีทำฟังก์ชันพื้นฐานที่ดึง User ID ภายในที่ Threads ใช้จากชื่อผู้ใช้ (username) แล้วใช้ค่านี้ยิง GraphQL query เพื่อดึงโปรไฟล์ผู้ใช้และ Threads ที่โพสต์ขึ้นมา พร้อมเปิดรีโพ threads-api
  • น่าจะเพราะคีย์เวิร์ด จึงมีนักพัฒนาหน้าใหม่เข้ามาทันที และมี issue ถามว่ารีโพนี้คืออะไร
  • พัฒนาต่อแบบ Working in Public
  • วันเดียวกันก็ทำเดโม Reader ด้วย Next.js และ Tailwind

ผลลัพธ์

  • ภายในวันเดียว มียอดดาวเกิน 200 และมียอด pageview มากกว่า 6,000
  • นักพัฒนาจากหลากหลายประเทศเข้ามามีส่วนร่วม และแชร์ไอเดียผ่าน Threads กับ Twitter
  • คนที่ได้แรงบันดาลใจจากสิ่งนี้ก็ไปสร้างไคลเอนต์เวอร์ชัน Rust, Go, Java และ Python
  • ยังได้รับข้อเสนอให้สปอนเซอร์ผ่าน GitHub issue ด้วย

ต่อจากนี้

  • เชื่อมต่อระบบยืนยันตัวตน
  • สร้าง UI component ที่สนุกและน่าใช้
  • เปิดตัวไคลเอนต์แบบคัสตอมที่ดูแลรักษาโดยชุมชนโอเพนซอร์ส

10 ความคิดเห็น

 
sollscherr 2023-11-19

ฮือๆ Meta เรียกร้องให้คุณหยุดกิจกรรมเหล่านี้ทันที

 
junhoyeo 2024-01-18

โชคดีที่ได้คุยและปิดเรื่องกับทนายจากสำนักงานกฎหมายที่ติดต่อมาได้ด้วยดี พอมาย้อนดูแล้วก็ดูเหมือนจะเป็นแค่เหตุการณ์ชวนขำสนุก ๆ เท่านั้นเอง 555

 
tpdns90321 2023-07-11

ยินดีด้วยที่ติดเทรนด์บน Github ยินดีด้วย

 
junhoyeo 2024-01-18

เพิ่งเห็นตอนนี้เอง ขอบคุณครับ! เหมือนว่านี่จะเป็นครั้งแรกที่ติดเทรนด์ พอขึ้นไปได้ครั้งหนึ่งแล้ว พวกบอตก็ช่วยกระจายไปทั่วเลย ดึดึ

 
kuroneko 2023-07-10

เยี่ยมมากครับ

ผมเองพอเห็น Threads ก็คิดว่าเดี๋ยวคงมีใครสักคนทำ API ขึ้นมาอีกแน่ ๆ
แต่คุณลงมือทำได้รวดเร็วมากจริง ๆ!

ขอให้ไปได้สวย และหวังว่าจะได้เข้าร่วมเป็นไลบรารีทางการครับ

 
junhoyeo 2024-01-18

ขอบคุณครับ! ดูเหมือนว่าการทำ write เสร็จแล้วแต่ยังไม่ปล่อยออกมา แล้วอัปโหลดเฉพาะ read ขึ้นไปก่อนเพื่อยึดหัวหาดไว้ก่อน จะเป็นหมากที่เข้าท่าสุดยอดจริง ๆ ครับ
แม้ว่าไลบรารีอย่างเป็นทางการจะหมดลุ้นไปแล้ว แต่จากนี้ไปผมก็จะลองทำโปรเจกต์สนุก ๆ อีกเยอะเลยครับ!

 
laeyoung 2023-07-09

ว้าว

 
junhoyeo 2024-01-18

ขอบคุณนะ!

 
kuber 2023-07-08

สุดยอดมาก!

 
junhoyeo 2024-01-18

ขอบคุณมาก!!