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