ลูกค้าต่อต้าน AI Assistant ที่ถอดออกไม่ได้ของ JetBrains
(theregister.com)- AI Assistant ที่ถูกบันเดิลมากับ JetBrains IDE กลายเป็นอุปสรรคต่อการอนุมัติด้านความปลอดภัยและการจัดการทรัพย์สินทางปัญญา ทำให้ลูกค้าบางส่วนเรียกร้องตัวเลือกสำหรับการลบออกทั้งหมด
- กระแสต่อต้านมุ่งไปที่การ ใส่มาเป็นค่าเริ่มต้นและลบออกไม่ได้ มากกว่าตัวความสามารถ AI เอง โดยมีการพูดถึงประเด็นนโยบายองค์กร ความปลอดภัย ความเสี่ยงทางกฎหมาย และความเชื่อถือควบคู่กัน
- บน YouTrack มีเธรด มากกว่า 10 รายการ ที่เรียกร้องวิธีลบ ถอนการติดตั้ง หรือแยก AI Assistant ออก โดยมีการระบุว่า PyCharm, IntelliJ IDEA, Rider และผลิตภัณฑ์อื่น ๆ ได้รับผลกระทบ
- JetBrains อธิบายว่าแม้ปลั๊กอินจะถูกบันเดิลมา แต่โดยปกติแล้ว ฟีเจอร์ AI จะปิดอยู่ และจะไม่มีการส่งข้อมูลออกนอกอุปกรณ์โดยไม่ได้รับความยินยอมจากผู้ใช้
- การลบปลั๊กอินที่บันเดิลมาอาจทำให้เกิดปัญหาเรื่องลายเซ็นแอปพลิเคชันและการอัปเดต ดังนั้น JetBrains จึงกำลังพิจารณาแนวทางที่ยังคงการบันเดิลไว้ แต่เปิดให้ลบออกได้ทั้งหมด
AI Assistant ที่ผสานลึกเข้ากับ IDE
- JetBrains เปิดตัว AI Assistant ในเดือนธันวาคม 2023 เพื่อช่วยโปรแกรมเมอร์เขียนโค้ด
- AI Assistant มีลักษณะคล้าย GitHub Copilot แต่ ผสานรวมอย่างลึก เข้ากับ IDE, ตัวแก้ไขโค้ด และผลิตภัณฑ์อื่น ๆ ของ JetBrains
- บริการที่อิงกับโมเดลภาษาขนาดใหญ่ยังคงมีความกังวลเรื่องความปลอดภัย ความเสี่ยงทางกฎหมาย ความเป็นส่วนตัว และจริยธรรม
- Google, Microsoft และ OpenAI ตกลงจะให้การคุ้มครองภายใต้เงื่อนไขบางประการ เพื่อสร้างความมั่นใจให้ลูกค้าที่กังวลต่อการเรียกร้องทางกฎหมายที่เกี่ยวข้องกับ generative AI
- ไม่ใช่ผู้ให้บริการ AI ทุกรายที่จะเลือกแนวทางเดียวกัน โดย Zoom ต้องออกมาชี้แจงหลังจากเปลี่ยนข้อกำหนดการให้บริการในเดือนสิงหาคม 2023 ว่าจะไม่นำแชตและการโทรไปใช้ฝึก AI
เหตุผลที่ลูกค้าเรียกร้องให้ลบออก
- ลูกค้า JetBrains บางส่วนไม่ต้องการให้ AI Assistant มีอยู่ภายในแอปพลิเคชันของ JetBrains ตั้งแต่แรก
- เหตุผลที่ถูกกล่าวถึงตรงที่สุดคือเป็น ฟีเจอร์ AI ที่ไม่สอดคล้องกับนโยบายองค์กร
- โค้ดของปลั๊กอินถูกผสานรวมลึก ทำให้การลบทำได้ซับซ้อน
- บน JetBrains YouTrack มีเธรด มากกว่า 10 รายการ ที่เรียกร้องวิธีลบ ถอนการติดตั้ง หรือแยกปลั๊กอิน AI Assistant ออก
- เธรด “Provide the possibility to remove a plugin completely from the system” กล่าวถึงปัญหาที่ปลั๊กอินถูกฝังมาในเครื่องมือพัฒนาของ JetBrains เช่น PyCharm, IntelliJ IDEA และ Rider
- นักพัฒนาเรียกปลั๊กอินนี้ว่า bloatware, ความเสี่ยงต่อทรัพย์สินทางปัญญาขององค์กร, ปัญหาด้านความปลอดภัย, ฟีเจอร์ที่น่ารำคาญ และการละเมิดความเชื่อใจ
ความเสี่ยงในมุมมองของนักพัฒนา
- ผู้ใช้ชื่อ Rusty Deaton ระบุว่า ตามนโยบายความปลอดภัยของบริษัท เขาไม่สามารถใช้เครื่องมือที่รวม AI implementation แบบค่าเริ่มต้นมาเป็นส่วนหนึ่งของผลิตภัณฑ์ได้
- นักพัฒนาชื่อ Marcus Grenängen วิจารณ์ว่าไม่ควรใส่ความสามารถที่อาจส่งโค้ดทั้งฐานไปยังที่ที่ไม่ทราบแน่ชัดมาเป็นบันเดิลเริ่มต้น
- เขายังระบุว่าจะไม่ต่ออายุการสมัครสมาชิก JetBrains
- เขามองว่านี่เป็น การละเมิดความเชื่อใจ ที่ไม่อาจย้อนคืนได้
- นักพัฒนาชื่อ Alan Burlison มองว่า การไม่รู้ที่มาของโค้ดที่ AI ให้มานำไปสู่ปัญหาเรื่องไลเซนส์ ทรัพย์สินทางปัญญา และข้อกฎหมาย
- เขาระบุว่าปัญหาที่ใหญ่กว่าคือทรัพย์สินทางปัญญาของบริษัทผู้ใช้อาจรั่วไหลไปยังที่ที่ไม่ทราบแน่ชัด หรืออาจถึงขั้นไปยังคู่แข่งโดยตรง
คำชี้แจงจาก JetBrains
- Matt Ellis, Developer Advocate ของ JetBrains ระบุว่า แม้ปลั๊กอิน AI Assistant จะถูกบันเดิลมาและตัวปลั๊กอินเองเปิดใช้งานอยู่ แต่โดยปกติแล้ว ฟีเจอร์ AI ยังไม่ได้เปิดใช้งาน
- จุดยืนของบริษัทคือจะไม่มีการส่งข้อมูลออกนอกอุปกรณ์โดยไม่ได้รับความยินยอมจากผู้ใช้
- ผู้ใช้ต้องล็อกอิน
- ต้องยอมรับนโยบายข้อมูล
- ต้องซื้อการสมัครสมาชิกหรือเริ่มช่วงทดลองใช้
- ข้อมูลที่ส่งไปยังบริการ AI จะ ไม่ถูกนำไปใช้ฝึกโมเดล
- ยังมีการรองรับ ML สำหรับฟีเจอร์จัดอันดับและเติมโค้ดให้สมบูรณ์ ซึ่งทำงานด้วยโมเดลบนอุปกรณ์ ทำให้ไม่มีการส่งข้อมูลออกนอกเครื่อง
ข้อจำกัดที่ทำให้การลบออกทั้งหมดเป็นเรื่องยาก
- JetBrains ระบุว่ามีลูกค้าจำนวนมากที่พอใจกับปลั๊กอินแบบบันเดิล
- ขณะเดียวกัน บริษัทกำลังพิจารณาวิธีทำให้ ยังคงบันเดิล AI Assistant ไว้แต่สามารถลบออกได้ทั้งหมด
- การลบปลั๊กอินที่บันเดิลมาอาจทำให้ลายเซ็นแอปพลิเคชันเสียหายและทำให้เกิดปัญหาในการอัปเดต
- JetBrains ระบุว่าเป็นเรื่องยากที่จะบอกอย่างแน่ชัดว่าความเห็นคัดค้าน AI Assistant เป็นตัวแทนจุดยืนของลูกค้าทั้งหมดมากน้อยเพียงใด
- บริษัทระบุว่ากำลังรับฟังความเห็นหลากหลายจากชุมชน และมองว่าก็มีทั้งลูกค้าบุคคลและลูกค้าองค์กรจำนวนมากที่ใช้งาน AI Assistant
2 ความคิดเห็น
ทั้งที่ไม่ได้ใช้ AI เลย แต่ทุกครั้งที่อัปเดตก็ถูกเลือกไว้ให้อัตโนมัติ เลยรู้สึกหงุดหงิดมากครับ
ความคิดเห็นใน Hacker News
ต้องเลื่อนลงไปถึงกลางบทความถึงจะเห็นรายละเอียดจริง: ปลั๊กอิน AI Assistant ถูกบันเดิลมาและเปิดใช้งานอยู่ แต่ระบุว่าโดยค่าเริ่มต้นฟีเจอร์ AI ไม่ได้ถูกเปิด และจะไม่มีการส่งข้อมูลออกนอกอุปกรณ์หากไม่ได้รับความยินยอม
หากต้องการใช้ ต้องล็อกอิน ยอมรับนโยบายข้อมูล แล้วซื้อการสมัครสมาชิกหรือเริ่มทดลองใช้งาน และระบุว่าข้อมูลที่ส่งไปยังบริการ AI จะไม่ถูกนำไปใช้ฝึกโมเดล
ดังนั้นคอมเมนต์จำนวนมากใน HN จึงไม่ตรงกับสถานการณ์จริง ไม่ได้เปิดใช้งานเป็นค่าเริ่มต้น โค้ดก็ไม่ได้ถูกรวบรวมไปใช้ฝึก และก่อนใช้งานต้องยอมรับนโยบายอย่างชัดเจน
สุดท้ายแล้วความไม่พอใจจริง ๆ คือปลั๊กอินนี้ มีอยู่ เป็นค่าเริ่มต้น และดูเหมือนว่าแค่นั้นก็เป็นเหตุให้บางบริษัทแบนผลิตภัณฑ์ได้แล้ว
มีการคาดเดามากเกินไปที่แค่อ่านบทความเร็ว ๆ ก็โต้แย้งได้ ทำให้คอมเมนต์ HN เกี่ยวกับ AI อ่านยากขึ้นเรื่อย ๆ เพราะมีคอมเมนต์ที่ไม่ได้อ่านบทความแล้วสมมติกรณีเลวร้ายที่สุด
เหตุผลที่จ่ายค่า IDE ก็เพื่อหลีกเลี่ยงการขายแบบแยกชิ้นแบบนี้ ถ้าต้องการ CI/CD หรือ memory profiler ก็ไปหาเองได้ ไม่จำเป็นต้องมีรายการเมนูที่ไม่ได้ทำงานจริงบนเครื่องของฉันด้วยซ้ำ
เมื่อมีปลั๊กอินใหม่ที่ไม่รู้ที่มาเข้ามาในเครื่องมือพัฒนาโดยแทบไม่มีคำอธิบาย ก็เป็นเรื่องธรรมดาที่คนจะสงสัย แม้แต่ Notepad++ ก็เคยมีดราม่าคล้ายกันจากการอัปเดตที่สุภาพกว่านี้มาก
ตอนอัปเกรด Rider จำได้ว่าเห็น release note เกี่ยวกับ AI แต่คิดว่าเป็นแค่การทดลอง code completion ภายใน ไม่ได้คาดว่าจะเป็นการติดตั้งรุ่นทดลองของบริการอีกตัวราคาเดือนละ 10 ดอลลาร์
คนส่วนใหญ่อาจไม่สนใจและไม่ได้รับผลกระทบ แต่ “คงไม่เป็นไร” ไม่ใช่มาตรฐานที่ทุกคนยอมรับได้
ไม่จำเป็นต้องบันเดิลเข้ามา และเมื่อฟังก์ชันถอนการติดตั้งมีบั๊ก JetBrains ก็ต้องแนะนำวิธีประหลาด ๆ ให้คนที่รับความเสี่ยงนี้ไม่ได้จริง ๆ ว่า “ให้ลบไฟล์เหล่านี้ออกจากระบบ”
ไม่มีอะไรถูกโต้แย้งได้เลย แค่ข้อเท็จจริงที่ว่าปลั๊กอิน มีอยู่ ก็เพียงพอให้ฝ่าย IT จัดทั้ง IDE เป็นรายการที่ต้องเตือนแล้ว
การที่ JetBrains กระจายปลั๊กอินไปกับตัวติดตั้ง IDE โดยอัตโนมัติก็ไม่ได้รับการมองในแง่ดี และการที่ปลั๊กอินกลับมาเปิดใช้งานอีกทุกครั้งที่อัปเดตก็ยิ่งเพิ่มความไม่ไว้วางใจต่อข้อกังวลแรก
ถ้าระหว่างติดตั้งหรืออัปเกรดเสนอให้ติดตั้งปลั๊กอิน AI แต่ไม่ทำให้เป็นของบันเดิลเหมือน IdeaVim ทุกคนก็น่าจะพอใจแล้ว
เพราะอาจถูกเปิดใช้งานได้จากพฤติกรรมผู้ใช้ที่ผิดพลาดหรือจากการอัปเดตซอฟต์แวร์ พื้นที่ AI ยังไม่ชัดเจนทั้งด้านความเสี่ยงและความรับผิด จึงเข้าใจได้ที่องค์กรจะกังวล
โดยทั่วไปแล้ว ช่องว่างระหว่าง “ไม่มี” กับ “มี” นั้นใหญ่กว่าระหว่าง “มีแต่ปิดใช้งาน” กับ “มีและเปิดใช้งาน” มาก ช่องโหว่ด้านความปลอดภัยที่ยังไม่ถูกใช้โจมตีกับสิ่งที่ไม่มีตั้งแต่แรกก็ไม่เหมือนกัน
สิ่งที่เข้าใจไม่ได้ที่สุดคือ JetBrains ไม่ตระหนักว่า การผสาน AI จะทำให้หลายบริษัทใช้ผลิตภัณฑ์ไม่ได้
นี่ไม่ใช่เรื่องรสนิยมส่วนตัว แต่ในสถานการณ์ที่บริษัทอย่าง Amazon แบนการใช้ Copilot การผสานเข้าไปลึกจนถอดออกไม่ได้แบบนี้ดูสายตาสั้นอย่างสิ้นเชิง
หน้าเว็บปัจจุบันมีผู้เข้าชมต่อเดือนไม่ถึง 1,000 คน มีแค่รายการคำตอบในหน้าเดียว และต้นทุนดำเนินงานก็แค่ไม่กี่เซนต์
ผู้บริหารอยากใส่ AI ไปทุกที่จนแทบขัดกับหน้าที่ไว้วางใจ ประเด็นคือกระแสโฆษณาเกินจริงของ AI/ML ทำให้ผู้บริหารคลั่งไปแล้ว
ไม่รู้ว่าคนที่บ่นได้ใช้เครื่องมือนั้นจริง ๆ หรือเปล่า
วิธีของ Microsoft ดูจะดีที่สุด คือประกาศว่าจะรับผิดชอบต่อโค้ด แต่นั่นก็มีต้นทุนตามมา
แต่ก่อนคิดว่า JetBrains เป็นมิตรกับนักพัฒนา แต่หลังเรื่องนี้ก็ไม่มั่นใจเท่าเดิมแล้ว
ดูเหมือนตอนนี้เข้าสู่ช่วงที่ผลิตภัณฑ์ “ถ้าไม่มี AI จะตาย” แล้ว ดังนั้นก่อนจะดีขึ้น มีโอกาสสูงที่จะเลวร้ายลงกว่านี้มาก
พอบริษัทบอกว่าจะใส่ “AI มากขึ้น” ในผลิตภัณฑ์ โดยมากมักเป็นสัญญาณว่าประสบการณ์ผู้ใช้จะแย่ลง ตอนนี้เลยแทบหมดความสนใจแล้ว
ใช้และชอบ IDE หลายตัวของ JetBrains มานาน แต่ฟีเจอร์นี้เป็นครั้งแรกที่รู้สึกว่า เป็นปฏิปักษ์ต่อผู้ใช้
มันถูกยัดเข้ามาและกินพื้นที่หน้าจออันมีค่า ทั้งที่สิ่งที่ต้องการมีแค่ปิดใช้งานแล้วไม่ให้มากวนอีก
ในรีลีสล่าสุด ดูเหมือนว่าสุดท้ายจะปิดได้แล้ว และหวังว่าจะไม่ต้องปิดใหม่ทุกครั้งที่อัปเดต
ฟีเจอร์นี้ให้ความรู้สึกเหมือนโฆษณา Windows ที่ล้ำเส้นในเครื่องมือเชิงพาณิชย์ หรืออัลบั้ม U2 ที่ไม่ต้องการ
แก้ได้เร็วกว่าการเขียนคอมเมนต์นี้อีก
ปลั๊กอินนี้ปิดใช้งานได้ แต่แค่ มีอยู่ ก็อาจทำให้ฝ่ายกฎหมายบังคับแบนจนกว่าจะ “ประเมิน” และ “อนุมัติด้านคอมพลายแอนซ์” เสร็จ
ต้องสามารถถอนการติดตั้งได้อย่างสมบูรณ์
แยกอีกเรื่อง JetBrains ยังน่ารำคาญตรงที่ตอนอัปเดต IDE ก็ยังคอยเรียกร้องให้อัปเดตปลั๊กอินที่ปิดใช้งานไว้ด้วย ไม่เข้าใจว่าทำไมต้องอัปเดตสิ่งที่ไม่ได้ใช้
ตรรกะน่าจะเป็นว่า ถ้าติดตั้งทิ้งไว้ เมื่อภายหลังตัดสินใจใช้ ก็จะได้เป็นเวอร์ชันล่าสุด
การอนุญาตไม่ให้อัปเดตปลั๊กอินที่บันเดิลมาก็น่าจะมีปัญหาคล้ายกัน เป็นไปได้สูงว่าโครงสร้างนี้ใช้ลายเซ็นเดียวสำหรับแพ็กเกจทั้งหมดรวมถึงปลั๊กอินที่บันเดิลมา
ไม่ค่อยเข้าใจความโกรธเท่าไร การที่ปลั๊กอินถูกติดตั้งมาเป็นค่าเริ่มต้นและแสดงอยู่ในถาดด้านขวา ทำให้แทบจะเป็นโฆษณา ซึ่งเป็นเรื่องลบ และความรำคาญนั้นก็เข้าใจได้
แต่ก็ปิดใช้งานได้ง่ายมากเหมือนปลั๊กอินอื่น ๆ ไม่ใช่หรือ? ถ้าเป็นบริการเสียเงิน ก็แค่ไม่ต้องจ่ายเงิน
ดูเหมือนเป็น การปั่นความโกรธ ที่หลายคนติดกับ
แน่นอนว่าถ้าพบว่ามันส่งข้อมูลสำหรับฝึกโมเดลกลับบ้านเป็นค่าเริ่มต้น ผมก็คงเปลี่ยนความคิด แต่ตอนนี้ดูไม่เป็นแบบนั้น
ที่สำคัญกว่านั้นคือ ถ้าทีมกฎหมายบอกว่า “ไม่ได้” คำตอบว่า “มันอยู่ในสถานะปิดใช้งาน” ไม่ใช่คำตอบที่ควรเอางานของตัวเองไปเสี่ยง
ในยุคที่แม้แต่ตัวจัดการแพ็กเกจโอเพนซอร์สและเครื่องมือบิลด์ก็มี telemetry ที่ล่วงล้ำและเปิดเป็นค่าเริ่มต้น การสันนิษฐานว่าปลั๊กอินนี้ส่งข้อมูลอยู่ตอนนี้ หรือจะส่งในสักวันหนึ่ง จึงสมเหตุสมผล จนกว่าจะมีหลักฐานหักล้างก็ต้องคิดแบบนั้น
ถ้าอ่านมุมมองของคนอื่น ๆ ก็น่าจะเข้าใจว่าทำไมพวกเขาถึงโกรธ ถ้ายังไม่เข้าใจ ก็อาจเป็นเพราะไม่รู้วิธีทำความเข้าใจเสียเอง จึงควรลองทบทวนจุดนั้นดู
คำอธิบายของ Ellis สุดท้ายฟังเหมือนพูดว่า “มันเป็น plugIN ไม่ใช่ plugOUT”
ถ้าถอดออกได้ไม่ง่าย แล้วตั้งแต่แรกจะแจกจ่ายในฐานะ ปลั๊กอิน ไปทำไมก็ไม่รู้ บ้าบอสิ้นดี
ถ้าเปลี่ยนเนื้อหาใน “โฟลเดอร์”
.appห่วงโซ่การตรวจสอบจะพัง เราเองก็เคยเรียนรู้เรื่องนั้นอย่างเจ็บปวดตอนพยายามทำปลั๊กอินน่าแปลกที่ปิดใช้งานไม่ได้ การใส่ฟีเจอร์เข้ามาไม่ใช่ปัญหา แต่ควรปล่อยให้เป็นตัวเลือก แล้วดูว่ามีคนใช้งานจริงแค่ไหนก่อนค่อยทำเป็นค่าเริ่มต้นไม่ใช่หรือ?
บริษัทเครื่องมือพัฒนาที่เดินสวนทางกับสามัญสำนึกแบบนี้ ดูไม่ ยึดผู้ใช้เป็นศูนย์กลาง เลย
ในฐานะคนที่ใช้เครื่องมือของ JetBrains มาหลายปี ขอแนะนำว่าควรเริ่มฟังฟีดแบ็กจากลูกค้าให้ดีกว่านี้ ดูเหมือนเจ้าเหนือหัวองค์กรที่โยนเครื่องมือพัฒนาสำเร็จรูปลงมาให้นักพัฒนา และไม่ดีต่อภาพลักษณ์บริษัทด้วย
เธรด YouTrack ที่ลิงก์ไว้ในบทความก็พูดแบบเดียวกัน เพียงแต่ไม่สามารถลบปลั๊กอินออกจากเครื่องได้อย่างสมบูรณ์
ตามคำตอบอย่างเป็นทางการของ JetBrains ปลั๊กอิน AI Assistant ถูกเปิดใช้งานเป็นค่าเริ่มต้นและมีเมนูกับหน้าต่างเครื่องมือแสดงใน UI แต่จะใช้ฟีเจอร์ AI Assistant ได้ก็ต่อเมื่อผู้ใช้ยินยอมอย่างชัดเจน ใช้รุ่นทดลองหรือสมัครสมาชิกอยู่ ไม่ได้ถูกปิดใช้งานในโปรเจกต์ และในกรณีของไลเซนส์ IDE เชิงพาณิชย์ ต้องถูกเปิดใช้งานในระดับองค์กรด้วย
ไม่ได้หมายความว่าสมบูรณ์แบบ และในสภาพแวดล้อมอย่างเครื่องสำหรับทำงานก็ยังอาจเป็นปัญหาได้
https://imgur.com/ETyFlCZ
https://youtrack.jetbrains.com/issue/LLM-1760/Can-not-remove...
https://youtrack.jetbrains.com/issue/LLM-1760/Can-not-remove...
ถึงอย่างนั้นก็ยังไม่ค่อยเข้าใจประเด็นดราม่า ถ้า JetBrains อยากขโมยโค้ดไปใช้ฝึกโมเดลหรือเพื่อวัตถุประสงค์มุ่งร้ายอื่นจริง ๆ ก็ทำได้โดยไม่เกี่ยวกับปลั๊กอิน AI Assistant อยู่แล้ว
IDE เป็นซอร์สปิดและสื่อสารกับเซิร์ฟเวอร์ของ JetBrains ผ่านช่องทางเข้ารหัสตลอด ถ้าตั้งใจทำก็คงตรวจจับได้ยาก
ถ้าถูกเปิดโปง JetBrains ก็คงจบเห่ แต่ในทางทฤษฎี ต่อให้ AI Assistant ไม่ได้เปิดใช้งานหรือไม่ได้ติดตั้งอยู่ ก็ยังทำได้
https://www.jetbrains.com/help/idea/disable-ai-assistant.htm...
น่าเสียดายที่คุณภาพแย่มาก เป็นผู้ช่วย AI ที่แย่ที่สุดเท่าที่เคยลองใช้มา และเมื่อเทียบกับ Copilot รุ่นแรกก็ยังไม่ดี
ถ้าทำให้เป็นการติดตั้งแบบเลือกเอง และมุ่งเน้นคุณภาพแทนการทำให้ผลิตภัณฑ์แย่ลง ผมก็คงยินดีจ่ายเงิน ตอนนี้ถึงขั้นสงสัยแล้วว่าควรต่ออายุสมาชิก JetBrains ที่รักษามากว่า 10 ปีหรือไม่
ผมจ่ายค่า JetBrains Ultimate ทุกปี แต่กำลังคิดจะบอยคอตอยู่
ไม่ใช่เพราะ AI ตัวนี้ แต่เพราะดูเหมือนว่า IntelliJ IDEA จะทำให้การรองรับ WSL + Gradle แย่ลงเรื่อย ๆ ทุกครั้งที่อัปเดต
ในช่วงไม่กี่ปีที่ผ่านมา ผมแจ้ง issue ใน YouTrack ไปมากกว่า 15 รายการ และเกือบครึ่งหนึ่งเกี่ยวกับ Gradle + WSL
ในอัปเดต IDEA ล่าสุด มันพังสนิทจนโหลดแม้แต่โปรเจกต์ที่กำลังทำอยู่ไม่ได้
เบื่อเต็มทีกับการประกันคุณภาพและการทดสอบที่ขาดแคลนขนาดนี้สำหรับเวิร์กโฟลว์พื้นฐานแบบนี้
มันซ่อนปุ่มจำนวนมากไว้จนกว่าจะเอาเมาส์ไปวางเหนือพื้นที่เฉพาะ ถ้าจะย่อ terminal ต้องเลื่อน pointer ไปที่ toolbar ของ terminal ก่อน ปุ่มย่อถึงจะปรากฏ
นั่นหมายความว่าเล็งไปที่ปุ่มย่อโดยตรงไม่ได้ ต้องรอให้ปุ่มค่อย ๆ ปรากฏขึ้น แล้วค่อยเลื่อน cursor อีกครั้ง กลายเป็น 2 ขั้นตอน
ปุ่ม
xสำหรับปิดแท็บก็ถูกซ่อนไว้จนกว่าจะเอาเมาส์ไปวางเหนือแท็บ พอคลิกเพื่อเลือกแท็บ กลับมีxโผล่มาใต้ cursor แล้วปิดแท็บไปซะอย่างนั้นดูเหมือนพยายามทำให้เหมือน VSCode แต่สำหรับผมมันเป็นประสบการณ์ผู้ใช้ที่แย่เฉย ๆ ยิ่ง VSCode ดีขึ้นเท่าไร เหตุผลที่จะจ่ายเงินให้ชุดผลิตภัณฑ์ JetBrains ต่อไปก็ยิ่งน้อยลง
หลายอย่างที่ Microsoft ทำไว้ทำให้ต้องมี workaround แย่ ๆ ตามมา
ใช้ Maven ไปก็จบ ใช้ได้ทุกที่เสมอ
พอไม่ได้ให้ความสำคัญกับคุณภาพ ถ้าโชคร้ายเวิร์กโฟลว์ก็พังซ้ำ ๆ แล้วการแก้ไขก็มาพร้อม major release ที่มี bug ใหม่ติดมา และต้องจ่ายเงินเพิ่มอีก
สุดท้ายก็ยอมแพ้ ทิ้งผลิตภัณฑ์ไป และยอมรับการสูญเสีย productivity ที่เกิดขึ้น
ดูเหมือนเป็นการตัดสินใจของบริษัทที่กำลังตื่นตระหนกเพราะกลัวตกกระแสล่าสุด
ตัวอย่างคล้าย ๆ กันคือยุค 90s และ 2000s ที่ Microsoft bundle browser ของตัวเองมาให้และแทบจะบังคับให้ใช้ ประมาณว่า “เรื่องนี้เราต้องครอบงำให้ได้!”
ทั้งเรื่องนี้ และ UI ใหม่ อันย่ำแย่ที่ดูเหมือนออกแบบมาโดยมองแค่หน้าจอ 13 นิ้วหรือแท็บเล็ต ทำให้ IDE กลายเป็นเหมือน VS Code ไปเลย
เหมือนพยายามเลียนแบบเพื่อแข่งกับผลิตภัณฑ์ฟรี แต่ก็ยังจะเก็บเงินปีละกว่า 500 ดอลลาร์
พวกเขาใช้เงินหลายล้านดอลลาร์กับนักพัฒนา AI และการฝึกโมเดล ถ้าผู้ใช้ส่วนใหญ่เมินก็คงลำบาก
ถ้าทำให้ปิดไม่ได้ ก็สามารถโชว์ได้ว่ามี “ผู้ใช้ที่ active” มากแค่ไหน และนักพัฒนาทำผลงานได้ยอดเยี่ยมเพียงใด
ผมกังวลมากกว่ากับการถูกบังคับให้ใช้ UI ใหม่ ที่ไม่ต้องการ
ถ้าอยากได้อะไร minimal ผมคงใช้ VSCode ไปแล้ว มีแนวโน้มว่าจะทำให้การรักษาหน้าตาแบบ IDE จริง ๆ ที่มีหลายหน้าต่างและ console ยากขึ้นเรื่อย ๆ เพราะพวกเขาคงเริ่มตระหนักถึงต้นทุนในการรองรับ UI หลายแบบ
หวังว่าพวกเขาจะเข้าใจว่าถ้าดัน UI ใหม่แบบบังคับ จะเสียผู้ใช้ไปจำนวนมาก
ถ้าต้องใช้แค่อย่างใดอย่างหนึ่ง นักพัฒนาทั่วไปน่าจะเลือก Eclipse มากกว่า UI ใหม่ของ IntelliJ ถึงจะดูสวย แต่ใช้งานเจ็บปวดเกินไป
มันเอา interface ที่ contrast ต่ำและทำความเข้าใจยากอยู่แล้วจนแทบเป็นปัญหาด้าน accessibility แล้วทำให้คุณลักษณะการออกแบบที่น่าผิดหวังเหล่านั้นแย่ลงเป็นร้อยเท่า
แต่ข้อดีอย่างหนึ่งคือมันแสดงให้เห็นอย่างน่าเชื่อถือถึงหลักการที่ว่า design ไม่ได้เกี่ยวกับรูปลักษณ์ภายนอกเป็นหลัก แต่เกี่ยวกับ วิธีการทำงาน