X-BLC OpensourceCMS » Blog » Misc

นักพัฒนาโปรแกรมคนใหม่ของ X-BLC

ตอนนี้ X-BLC ได้นักพัฒนาโปรแกรมคนใหม่ มาร่วมงานเพิ่มอีกหนึ่งคนครับ รวมทั้งหมดเป็นสองคน (-"- เหมือนจะเยอะ) นักพัฒนาโปนแกรมคนใหม่ มีชื่อเล่นว่า คุณโต้ง ครับ เป็นโปรแกรมเมอร์ด้าน Web App โดยตรง อีกไม่นานเราคงได้เห็นโมดูลที่เขียนโดยคุณโต้งครับ โปรดอดใจรอ (เขียนเหมือนคนติดตามอ่านเยอะอีกต่างหาก)

นี่ถือเป็นก้าวสำคัญมาก ๆ ก้าวหนึ่งของ X-BLC ครับ เพราะการเขียนโปรแกรมมากกว่าหนึ่งคน ย่อมหมายถึงการมีความเป็นชุมชนมากขึ้น และหมายถึงความเป็น OpenSource มากขึ้นด้วยเช่นกัน

Misc Misc

08 Aug 07 | by bow_der_kleine | tags Misc

read 1910 comments 6 read more

ความรู้สึกจากการใช้ Typo3

Typo3 เป็นหนึ่งใน CMS ระดับแนวหน้าของโลก (เวอร์จริง ๆ) ผมเลยต้องลองใช้สักหน่อย เพื่อเอาข้อมูลมาพัฒนา X-BLC ปรากฏว่าไม่ประทับใจเอาเสียเลย

Typo3 เป็น CMS ที่ต่างจาก CMS แบบ portal ที่คนส่วนมากรู้จัก (Nuke & Co. + Drupal + etc.) แต่เป็น CMS สำหรับงาน Enterprise สร้างเวบไซท์แบบคลาสสิค คือ Tree-Structure ความรู้สึกเหมือนเขียน HTML แล้วอัพโหลดขึ้นเซิพเวอร์ อาจจะดีสำหรับงานองกรณ์บางอย่าง แต่ไม่ดีแน่ หากมีเนื้อหาสักห้าร้อยหน้า เพราะจะบริหารกันเหนื่อย หากเนื้อหาเยอะขนาดนั้น ใช้แบบ portal ดีกว่า แต่ก็มี features หลายอย่างน่าสนใจ เช่น Page-Permission, Tree-Structure, Multi-Language ซึ่ง features พวกนี้ผมจะนำมาใส่ในโมดูล pagetree ของ X-BLC อีกที

สิ่งที่ผมไม่ประทับใจมาก ๆ ใน Typo3 คือ usability ต่ำมาก ไม่ Intuitive เอาเสียเลย ต้องอ่านคู่มือก่อนถึงจะใช้เป็น ขั้นตอนการใช้งานมากเกินไป ติดตั้งยาก กว่าจะสร้างเนื้อหาได้แต่ละหน้า เล่นเอาเหนื่อย แสดงข้อมูลหลาย ๆ อย่าง ที่อาจสำคัญสำหรับ Developer แต่เวลาใช้งานไม่เห็นจำเป็นต้องรู้เลย ทำเอา interface รกเกินเหตุ และที่สำคัญที่สุด ไม่ซัพพอร์ทภาษาไทย อันนี้งี่เง่ามาก เพราะเวลาพิมพ์ภาษาไทยไป มันจะแปลงเป็น UTF-8 Coding

นี่เป็นอีกหนึ่งตัวอย่างที่ดี ในเรื่องไม่ดี คือ feature เยอะ usability ต่ำ ก็ไม่รู้จะมี feature ไปทำไม เพราะไม่ได้ใช้ประโยชน์ เนื่องจากใช้ไม่เป็น

Misc Misc

02 Aug 07 | by bow_der_kleine | tags Misc

read 1874 comments 0 read more

คนไทยเริ่มเขียน CMS ใช้เองกันมากขึ้น

ดังที่ผมเขียนมาหลายครั้งแล้วว่า การพัฒนาโปรแกรม X-BLC ทำให้ผมต้องสนใจโปรแกรมแนว CMS มากขึ้น หาโปรแกรมใหม่ ๆ มาลองใช้ (เน้นเฉพาะที่เป็น OpenSource) เปิดดูโค้ด แล้วก็ศึกษาแนวคิด ด้วยเหตุนี้ทำให้ผมได้เจอกับ CMS สัญชาติไทยหลาย ๆ โปรแกรมด้วยกัน ซึ่งได้แก่

  • KnowlegeVolution ไม่รู้จะถือเป็น CMS ได้หรือเปล่า เพราะจริง ๆ เป็น KMS (Knowledge Management System) เป็นโปรแกรมที่ผมให้เครดิตมากที่สุด เพราะสามารถใช้งานจริงมากที่สุด (ใช้งานบน gotoknow.org and co. ซึ่งรองรับผู้ใช้นับหมื่นคน) ใช้ Ruby on Rails ในการพัฒนา อันที่จริง ผมตั้งใจจะร่วมพัฒนาด้วย แต่แค่ X-BLC ผมยังเอาตัวไม่รอดเลย
  • LanaiCMS (PHP) พัฒนาโดยใช้หลักการ Write less, generate more โดยในตัว Lanai จะมีสคริปต์ที่มีชื่อว่า Lamud เป็นโปรแกรมที่ใช้สำหรับ generate โมดูลมาตรฐานต่าง ๆ ทำให้ผู้เขียนเขียนโค้ดน้อยลง
  • LitoCMS (PHP), NakaCMS (ASP) พัฒนาโดยใช้หลักการพื้นฐานของ PHP คือ One Page One Script แต่ดูเหมือนว่าจะพัฒนาขึ้นมาใช้เฉพาะบน lovedesigner.net
  • eZPack (PHP) มีโครงสร้างคล้าย ๆ PHP-Nuke น่าเสียดายที่ผู้พัฒนาเลิกพัฒนาไปเสียแล้ว
  • PHPHoffman Framework ไม่ใช่ CMS แต่เป็น Framework ผมเองยังไม่เคยเห็นโค้ด เพราะเจ้าของยังไม่เปิดตัวอย่างเป็นทางการ แต่เท่าที่อ่าน ก็มีความคล้ายคลึงกับแกนของ X-BLC อยู่เยอะเหมือนกัน

ใจจริงแล้ว ผมอยากให้คนที่พัฒนา CMS สัญชาติไทยด้วย PHP อยู่ มาร่วมพัฒนา X-BLC กับผม เพราะการพัฒนาโปรแกรมคนเดียว นอกจากจะน่าเบื่อแล้ว ผมไม่สามารถบอกได้เลยว่า อะไรคือข้อเสียของโปรแกรมที่ผมเขียนขึ้น แต่คำถามก็คือ ทำไมผมไม่ไปร่วมพัฒนาโปรแกรมของคนอื่นเขาล่ะ คำตอบก็จะเป็นงูกินหางไปเรื่อย ๆ เพราะไม่มีใครอยากทิ้งโค้ดที่ตัวเองเขียนขึ้นกับมือหรอก

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

สำหรับคนที่อยากพัฒนา X-BLC ร่วมกับผม เหมือนเดิมครับ แสดงตัวได้เลย ผมจะให้สิทธิ SVN บน SF.net ทันที

Misc Misc

31 Jul 07 | by bow_der_kleine | tags Misc

read 2108 comments 0 read more

ข้อแตกต่างของ X-BLC กับโปแกรม CMS อื่น ๆ

คำถามเรื่อง reinvent the wheel เป็นคำถามแรก ๆ ที่ผมตั้งขึ้น ก่อนที่ผมจะเริ่มเขียนโปรแกรม X-BLC เพราะการเขียนโปรแกรมประเภทเดียวกัน ทำงานคล้าย ๆ กัน และมีโครงสร้างไม่ต่างกันมากนัก เป็นการทำงานซ้ำซ้อนที่ไม่ก่อให้ประโยชน์ใด ๆ สู้เอาเวลา และแรงงาน ไปร่วมพัฒนาโปรแกรมที่มีอยู่แล้วให้ดีขึ้น จะได้ประโยชน์มากกว่ามาก

ในขั้นแรก ผมจึงได้พยายามศึกษาความสามารถ, การใช้งาน, โครงสร้าง และการทำงานของโปรแกรม CMS ต่าง ๆ ที่มีให้เลือกใช้งานจากเวบไซท์ OpenSourceCMS หลังจากศึกษาไปได้สักพัก ผมก็รู้สึกผิดหวัง เพราะโปรแกรม CMS ที่ผมลองศึกาษาและทำความเข้าใจส่วนมาก มีความสามารถสูงก็จริง แต่มีโครงสร้างที่ไม่สวยงามนัก มีก็เพียงแต่ Drupal เท่านั้น ที่มีโครงสร้างที่กระชับ แต่ล้ำลึก สมกับเป็นโปรแกรมระดับมืออาชีพ ผมจึงได้พยายามศึกษาทำความเข้าใจ Drupal แต่แม้กระนั้นก็ตาม ผมยังรู้สึกว่า Drupal ยังตอบคำถามที่ผมตั้งขึ้นไม่ได้ในหลาย ๆ ข้อ การลงมือเขียนโปรแกรม X-BLC จึงได้เริ่มขึ้น

แนวทางการเขียนโปรแกรม X-BLC ที่ผมตั้งเป็นโจทย์ให้กับตัวเอง คือ ไม่ยึดติดกับ paradigm หรือ concept การเขียนโปรแกรมแบบใดแบบหนึ่ง แต่จะเน้นที่การแก้ปัญหา วิธีการใดตอบคำถามตรงจุดไหนได้ดี และง่ายที่สุด จะถูกนำมาใช้ในจุดนั้น ๆ (พอดีชอบ Python ครับ เลยยืมหลักการมาใช้ :P) โดยโจทย์สำคัญในการเขียนโปรแกรมอยู่ที่คนสามกลุ่มคือ

  • Developer ต้องเขียนโปรแกรมน้อยที่สุด และสามารถ reuse code ได้มากที่สุด
  • Designer สามารถแก้ไขการแสดงของโปรแกรม ได้ทุกจุดที่ต้องการ โดยไม่ต้องข้องเกี่ยวกับ PHP-Code และสามารถเลือกออกแบบ แก้ไข เพิ่มเติม ได้เฉพาะบางจุดที่ต้องการ
  • User ได้ใช้โปรแกรมที่ใช้งานง่าย (ตรงจุดนี้ผมต้องทำการบ้านอีกเยอะ) มี Performance ที่สูง (ทำงานเร็ว ใช้ทรัพยากรเครื่องน้อย) แต่ได้ใช้งาน features ที่ต้องการครบถ้วน
นอกจากนี้ตัวโปรแกรมต้องสามารถนำไปพัฒนาต่อยอด (eXtensible) เพื่อใช้ในงาน Wep-Application อื่น ๆ ที่ไม่ใช่ CMS ได้ด้วย

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

แต่ทั้งนี้โจทย์ส่วนใหญ่ ยังคงไม่ได้รับการหาคำตอบ เพราะติดในเรื่องของแรงงานและเวลา แต่ผมก็ยังมีความหวังเล็ก ๆ อยู่ในใจว่า หากมีคนช่วยทดสอบ และพัฒนาโปรแกรมเพิ่มเติม โปรแกรมเล็ก ๆ อย่าง X-BLC อาจจะได้เทียบชั้นโปรแกรม CMS ยอดนิยมอื่น ๆ ก็เป็นได้ (ท่าทางจะหวังมากไป :P )

Misc Misc

26 Jul 07 | by bow_der_kleine | tags Misc About

read 1023 comments 0 read more

เปลี่ยนวิธีเขียน BLog บนเวบไซท์ X-BLC

ผ่านมาจะครบปีแล้วครับ หลังจากที่เปิดตัวโปรแกรม X-BLC ไป ขณะนี้มีคนนำ X-BLC ไปใช้งานเยอะมาก คือ ผมคนเดียว (อิอิ เขียนเองใช้เอง) ผมพอจะนึกเหตุผลที่ไม่มีคนนำ X-BLC ไปใช้ได้หลาย ๆ ข้อ อย่างแรกเลยคือ มี CMS ให้เลือกใช้งานมากมายอยู่แล้ว และแต่ละคนก็มี CMS ที่ตัวเองถนัดใช้ การที่ผมจะไปคะยั้นคะยอ ให้เปลี่ยนมาใช้โปรแกรมที่ผมเขียนขึ้น ก็เท่ากับว่าเป็นการบอกนัย ๆ ว่า ฉันจะดูแลแกนะ ซึ่งผมบอกตรง ๆ ครับ ว่าทำไม่ไหว เพราะตอนนี้ต้องแบ่งเวลาสำหรับเรื่องเรียนมากเป็นพิเศษ

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

สิ่งที่ต้องเปลี่ยนอีกอย่าง คือ วิธีการเขียนบล็อกบนเวบไซท์ในส่วนนี้ เพราะวิธีการเขียนบล็อกที่ผ่านมา ผมนำเอาวิธีการเขียนบน BioLawCom.De มาใช้ คือ กึ่งทางการ หากสาระไม่พอจริง ๆ ไม่เขียน ซึ่งการเขียนแบบนี้ต้องถึกในระดับหนึ่ง แต่ผมถึกไม่พอ ผ่านมา 8 เดือน ได้แปดบล็อก เห็นที่จะต้องเปลี่ยน หากบล็อไม่ขยับ อะไร ๆ ก็ไม่ขยับ เหมือนโปรแกรมมันตาย คนก็อยากใช้น้อยลง ทีนี้เห็นจะต้องเปลี่ยนเป็น เขียนได้สามย่อหน้าตูก็โพสต์ละ เผื่อมันจะดีขึ้น

Misc Misc

25 Jul 07 | by bow_der_kleine | tags Misc

read 1182 comments 0 read more


Navigation

New in Forum

Login