เบื้องหลัง
- KakaoTalk เป็นเมสเซนเจอร์ที่มีผู้ใช้งานมากกว่า 99% ของผู้ที่อาศัยอยู่ในเกาหลีใต้
- แต่ไคลเอนต์ทางการรองรับเฉพาะ Windows และ macOS เท่านั้น และไม่รองรับ Web หรือ Linux เลย (ไม่รวม Android และ iOS)
- แม้จะพอฝืนรันด้วย Wine ได้ แต่ก็มักปิดตัวลงเพราะข้อผิดพลาดหรือใช้งานจริงไม่ได้จากบั๊กที่ร้ายแรง (ไม่สามารถโหลดห้องแชตได้ และไม่สามารถดาวน์โหลดไฟล์ขนาดใหญ่หรือรูปภาพได้)
- ดังนั้นจึงตัดสินใจสร้างไคลเอนต์ที่ทำงานได้ดีบนสภาพแวดล้อม Linux
การพัฒนา
- ในช่วงแรกใช้ React.js และ nw.js แต่โค้ดขยายใหญ่เกินไปจนจัดการได้ยาก (โดยเฉพาะการจัดการสถานะของ React และแนวคิด JavaScript context ของ nw.js ที่ทำให้เกิดปัญหาได้ง่ายมาก)
- เพื่อแก้ปัญหานี้ จึงได้เริ่มเขียนใหม่ด้วย SolidJS และ Tauri ในช่วงหลัง
- ในสถานะปัจจุบัน สามารถทำงานพื้นฐานอย่างการเข้าสู่ระบบและการแจ้งเตือนแชตได้
ต่อจากนี้...
- มีแผนจะพัฒนาให้ทำงานได้เหมือนกับไคลเอนต์ KakaoTalk บน Windows หรือ macOS ให้มากที่สุดเท่าที่จะเป็นไปได้
- อย่างไรก็ตาม ยังมีฟีเจอร์ที่ต้องพัฒนาอีกจำนวนมาก และจำเป็นต้องศึกษาวิจัยเกี่ยวกับโปรโตคอลที่ไม่เปิดเผยอีกมาก
- หากช่วยร่วมพัฒนาหรือส่งข้อเสนอแนะมา จะขอบคุณอย่างยิ่ง!
17 ความคิดเห็น
ความพยายามแบบนี้ดีมากจริงๆ ไม่เข้าใจว่าทำไม Kakao ถึงไม่ทำอะไรแบบนี้เองมาตั้งนานแล้ว,,,, พอเห็นว่ามีนักพัฒนาที่รับผิดชอบแอป KakaoTalk บน Windows Phone แค่ 1 คน ก็รู้เลยว่าแทบไม่ใส่ใจแพลตฟอร์มนอกกระแสเลยจริงๆ (แม้ Linux จะไม่ใช่แพลตฟอร์มนอกกระแสก็ตาม..)
Kakaotalk Matrix Bridge
หวังว่า Kakao จะตอบรับในทางบวก... และหวังว่าความเคลื่อนไหวแบบนี้จะเป็นแรงกระตุ้นที่ดีให้ Kakao สร้างสภาพแวดล้อมที่เปิดกว้างมากขึ้นอีกหน่อย (อย่างเช่นการเปิด API...)
ผมเป็นผู้ใช้ลินุกซ์ครับ ขอเป็นกำลังใจให้อย่างเดียว
หวังว่า Kakao จะไม่ใช่บริษัทที่ถึงขั้นเข้ามาแตะต้องความพยายามแบบนี้..
ผมก็ใช้ลินุกซ์เป็นหลักเหมือนกัน เดี๋ยวจะติดตั้งแล้วลองใช้ดูเลย~
ว้าว.. สำหรับคนใช้ลินุกซ์แล้วนี่เป็นข้อมูลที่ยอดเยี่ยมมากเลยครับ..! กลับบ้านไปแล้วจะลองใช้ดูสักครั้งครับ คิดว่าน่าจะมีการทำ reverse engineering เกี่ยวกับโปรโตคอลหรือเปล่า เลยแอบกังวลเหมือนกันว่าถ้าเปิดเผยเป็นโอเพนซอร์สแล้วจะมีประเด็นปัญหาตามมาหรือไม่
ผมคิดว่าทิศทางการพัฒนา KiwiTalk เองถือว่าดีครับ แต่ไคลเอนต์ที่ไม่เป็นทางการลักษณะนี้ก็ถือว่าเป็นการละเมิดนโยบายการให้บริการของ Kakao อย่างชัดเจน มีการเตรียมมาตรการรับมือในเรื่องนี้ไว้หรือยังครับ?
เพื่อไม่ให้ส่งผลกระทบในทางลบต่อ Kakao เราพยายามเลียนแบบการทำงานของไคลเอนต์ต้นฉบับให้ใกล้เคียงที่สุดเท่าที่จะเป็นไปได้ (แม้กระทั่งพฤติกรรมที่เป็นบั๊ก)
อย่างไรก็ตาม KiwiTalk ไม่ใช่ไคลเอนต์ที่ Kakao สร้างขึ้นหรือรับรอง ดังนั้นคุณต้องใช้งานโดยอาศัยการพิจารณาและความรับผิดชอบของตัวคุณเองเท่านั้น
มีแผนจะพัฒนาปลั๊กอินโปรโตคอลสำหรับ pidgin ไหม?
เป็นทิศทางการพัฒนาที่น่าพึงประสงค์มากครับ
จะไม่มีผลเสียจากการใช้โปรโตคอล LOCO ที่ไม่ได้รับอนุมัติหรือครับ?
หาก KiwiTalk ทำงานแตกต่างจากไคลเอนต์ต้นฉบับ อาจส่งผลเสียต่อบัญชีของผู้ใช้งานได้
ดังนั้นเป้าหมายคือพัฒนาให้ทำงานเหมือนกับไคลเอนต์ต้นฉบับให้มากที่สุด ขอบคุณสำหรับคำแนะนำครับ!
เมื่อก่อนต้อง build เองเลยทำให้ลองใช้ได้ยาก
ตอนนี้มีการแจกจ่ายเวอร์ชันที่ build แล้วด้วยสินะ
เคยสงสัยอยู่เหมือนกัน เดี๋ยวต้องลองใช้ดูครับ
ผม/ฉันไม่ค่อยรู้เรื่องด้านนี้นัก เลยอาจเป็นคำถามที่ดูงี่เง่านิดหน่อย... ไม่ทราบว่าสามารถใช้งานในรูปแบบส่วนขยายของเว็บเบราว์เซอร์ได้ไหมครับ/คะ? ถึงจะมี native client สำหรับ Windows และ Mac อยู่แล้ว แต่ถ้าบน Windows หรือ Mac ก็ยังใช้งานผ่านเว็บเบราว์เซอร์ได้ ผม/ฉันคิดว่าน่าจะดีมากเลยครับ/ค่ะ อีกทั้งน่าจะใช้งานได้มีประโยชน์มากบน Chromebook ด้วยนะครับ/คะ (แน่นอนว่า Chromebook ก็รันโปรแกรม Linux แบบ native ได้ แต่ถ้าเป็นแบบเว็บก็น่าจะใช้งานได้ง่ายกว่า)
ตอนนี้เราตั้งเป้าไว้เพียงให้ใช้งานได้อย่างปกติบนสภาพแวดล้อม Linux เท่านั้น ขอบคุณสำหรับคำแนะนำครับ!
ดูดีนะ! แต่ไม่ทราบว่ามีปัญหาทางกฎหมายหรือเปล่า? คืออาจจะมีเนื้อหาที่เกี่ยวข้องอยู่ในข้อกำหนดการใช้งานของ KakaoTalk จนทำให้ผู้ร่วมพัฒนาโปรเจกต์หรือแม้แต่ผู้ใช้ทั่วไปไม่สามารถอ้างสิทธิ์อะไรได้ แม้ว่าบัญชีจะถูกระงับก็ตาม..
เท่าที่ทราบ ต่อให้เป็นผู้มีส่วนร่วมของโปรเจกต์ก็ไม่สามารถยกเว้นการระงับได้เป็นพิเศษ แต่หาก KiwiTalk มีการทำงานที่แตกต่างจากไคลเอนต์ต้นฉบับ ก็อาจทำให้บัญชีถูกระงับได้
ดังนั้นเป้าหมายคือทำให้เหมือนกับไคลเอนต์ต้นฉบับให้มากที่สุด แม้กระทั่งพฤติกรรมที่เป็นบั๊กของไคลเอนต์ต้นฉบับด้วย
(เนื่องจากมีเป้าหมายให้ใช้งานได้ตามปกติบนอุปกรณ์ Linux)