Basecamp เปิดซอร์สแอปแชท Campfire จุดประกายการถ่ายเถียงเรื่องคุณภาพโค้ดและช่วงเวลาเข้าสู่ตลาด

ทีมชุมชน BigGo
Basecamp เปิดซอร์สแอปแชท Campfire จุดประกายการถ่ายเถียงเรื่องคุณภาพโค้ดและช่วงเวลาเข้าสู่ตลาด

Basecamp ขึ้นหน้าขึ้นตาด้วยการเปิดซอร์ส Campfire แอปพลิเคชันแชทบนเว็บของพวกเขาที่เคยเป็นคู่แข่งของ Slack และเครื่องมือสื่อสารทีมอื่นๆ การเคลื่อนไหวครั้งนี้เป็นส่วนหนึ่งของโครงการ Once ของพวกเขา ที่เสนอซอฟต์แวร์แบบซื้อครั้งเดียวโดยไม่มีค่าสมาชิกรายเดือน

คุณสมบัติหลักของ Campfire :

  • หลายห้องพร้อมการควบคุมการเข้าถึง
  • ข้อความส่วนตัวและการ @mentions
  • การแนบไฟล์พร้อมการแสดงตัวอย่าง
  • ฟังก์ชันการค้นหา
  • การแจ้งเตือนผ่าน Web Push
  • API พร้อมรองรับการผสานรวมบอท
  • สถาปัตยกรรมแบบ Single-tenant

ปรัชญาโค้ดสะอาดแบ่งแยกชุมชนนักพัฒนา

โค้ดเบสที่เพิ่งปล่อยออกมาได้จุดประกายการอภิปรายอย่างเข้มข้นเกี่ยวกับแนวทางการเขียนโค้ด โดยเฉพาะการไม่มีคอมเมนต์ในโค้ดเลยตลอดทั้งแอปพลิเคชัน Ruby สมาชิกชุมชนแบ่งออกเป็นสองฝ่ายว่าสิ่งนี้แสดงถึงฝีมือการทำงานที่ยอดเยี่ยมหรือการจัดทำเอกสารที่ไม่ดี นักพัฒนาบางคนชื่นชมแนวทางนี้ โดยโต้แย้งว่าโค้ด Ruby ควรจะสามารถอธิบายตัวเองได้และอ่านง่ายพอที่จะไม่จำเป็นต้องมีคอมเมนต์อธิบาย คนอื่นๆ แสดงความกังวลเกี่ยวกับความสามารถในการบำรุงรักษาและการถ่ายทอดความรู้ โดยเฉพาะเมื่อพบการตัดสินใจในการนำไปใช้ที่ผิดปกติ เช่น การบล็อกเวอร์ชันเบราว์เซอร์ฝั่งเซิร์ฟเวอร์โดยไม่มีคำอธิบายใดๆ เกี่ยวกับเหตุผลเบื้องหลังทางเลือกดังกล่าว

การถกเถียงนี้สะท้อนให้เห็นความแตกแยกทางปรัชญาที่กว้างขึ้นในการพัฒนาซอฟต์แวร์ระหว่างผู้ที่เชื่อว่าโค้ดที่สะอาดและมีโครงสร้างดีสามารถพูดแทนตัวเองได้ และผู้ที่สนับสนุนการจัดทำเอกสารอย่างครอบคลุมเพื่อช่วยเหลือนักพัฒนาในอนาคต

การนำไปใช้ทางเทคนิคและข้อกังวลเรื่องความเข้ากันได้ของเบราว์เซอร์

สแต็กเทคนิคของ Campfire เผยให้เห็นทางเลือกที่น่าสนใจบางอย่างที่ทำให้ชุมชนนักพัฒนาต้องยกคิ้ว แอปพลิเคชันใช้ import maps สำหรับการจัดการโมดูล JavaScript ซึ่งอาจอธิบายได้ว่าทำไมจึงมีข้อกำหนดเวอร์ชันเบราว์เซอร์ที่เข้มงวดที่บล็อกเบราว์เซอร์รุ่นเก่าโดยไม่มีเอกสารที่ชัดเจน แม้ว่าแนวทางนี้จะช่วยขจัดความจำเป็นในการใช้ Node.js ในกระบวนการ build และทำให้การ deploy ง่ายขึ้น แต่ก็สร้างอุปสรรคด้านความเข้ากันได้สำหรับผู้ใช้ที่มีอุปกรณ์รุ่นเก่า

การทดสอบเผยให้เห็นว่าแอปพลิเคชันทำงานได้ดีบนระบบสมัยใหม่ แต่ล้มเหลวบนฮาร์ดแวร์รุ่นเก่า เช่น อุปกรณ์ iPad 3 ที่ใช้ iOS 9.3.5 แม้จะมีอินเทอร์เฟซที่ดูเรียบง่ายซึ่งอาจบ่งบอกถึงความเข้ากันได้ที่กว้างขึ้น

ความเข้ากันได้ของเบราว์เซอร์:

  • ต้องการเบราว์เซอร์รุ่นใหม่ที่รองรับ import maps
  • รองรับ Firefox 108+ ขึ้นไป
  • บล็อกเบราว์เซอร์รุ่นเก่าจากฝั่งเซิร์ฟเวอร์
  • ไม่สามารถใช้งานได้บน iOS 9.3.5 ( iPad 3 )

คำถามเรื่องช่วงเวลาเข้าสู่ตลาดและภูมิทัศน์การแข่งขัน

การปล่อยซอร์สโค้ดได้กระตุ้นให้เกิดการไตร่ตรองเกี่ยวกับตำแหน่งและช่วงเวลาเดิมของ Campfire ในตลาด ผู้สังเกตการณ์ในอุตสาหกรรมสังเกตเห็นความขัดแย้งของการที่ Basecamp เข้าสู่ตลาดแชททีมได้เร็วแค่ไหน แต่ Campfire กลับมีผลงานทางการค้าที่แย่เมื่อเทียบกับผู้เข้ามาทีหลัง เช่น Slack

น่าทึ่งมากที่พวกเขาเข้าสู่ตลาดเร็วขนาดนี้ ทีมเทคมีความสามารถสูง แต่กลับทำได้แย่มาก อยากอ่านบทวิเคราะห์หลังเหตุการณ์ว่าเกิดอะไรขึ้น

การเปิดซอร์สเกิดขึ้นในช่วงเวลาที่บัญชี Slack ฟรีเก็บข้อความไว้เพียง 90 วันเท่านั้น ซึ่งอาจสร้างโอกาสใหม่สำหรับทางเลือกที่โฮสต์เอง อย่างไรก็ตาม นักวิจารณ์โต้แย้งว่าตลาดมีโซลูชันที่ตั้งตัวแล้ว เช่น Zulip และ Mattermost ทำให้เกิดคำถามว่าแอปพลิเคชันแชทที่โฮสต์เองอีกตัวหนึ่งจะตอบสนองความต้องการที่แท้จริงหรือเป็นเพียงแนวทาง ไม่ใช่ที่นี่คิดค้น ในการพัฒนาซอฟต์แวร์

ระบบการ deploy แบบ Docker ทำให้ Campfire ค่อนข้างง่ายในการติดตั้งสำหรับองค์กรที่ต้องการควบคุมโครงสร้างพื้นฐานแชทอย่างสมบูรณ์ พร้อมฟีเจอร์ต่างๆ รวมถึงระบบอัตโนมัติ SSL การแนบไฟล์ และการแจ้งเตือนผ่านเว็บ ทั้งหมดรวมอยู่ในคอนเทนเนอร์เดียว

อ้างอิง: Campfire