คำถามคราวก่อน: สัมภาษณ์ ดร.ธวัชชัย ปิยะวัฒน์ แห่ง GotoKnow
ผมพึ่งได้มีโอกาสตอบสัมภาษณ์ใน Blognone ขอขอบคุณทุกท่านที่ถามคำถามและต้องขอโทษทุกท่านเป็นอย่างมากที่พึ่งได้ตอบครับ ขอเริ่มตอบคำถามเลยนะครับ
ธวัชชัย (ถามตัวเอง): ทำไมถึงดองคำสัมภาษณ์ของ Blognone นานนักครับ
เป็นเพราะความยุ่งหลายเรื่องจนแทบจะหายใจออกมาเป็นละอองเลือดครับ ดร.จันทวรรณ กำลังจะคลอดลูกชายภายในสัปดาห์นี้หรือสัปดาห์หน้าแล้วครับ แล้วเราอยู่กันสองคนดังนั้นพอคนหนึ่งท้องอีกคนก็ต้องคอยช่วยเหลือในเรื่องต่างๆ แล้วก็ต้องเจียดเวลาทำงานแทนกันอีกด้วย เลยได้ประสบการณ์ว่าการจะมีลูกนี่ต้องเตรียมตัวเตรียมใจเตรียมเวลาเยอะทีเดียวครับ
ธวัชชัย (ถามตัวเอง): แล้วทำไมถึงได้มาตอบตอนนี้ครับ
เขาบอกว่าพอลูกคลอดแล้วจะยิ่งยุ่งกว่านี้อีกครับ ลูกจะกินนมทุกสองชั่วโมง ในขณะที่แม่ก็จะยังไม่สามารถช่วยได้เยอะ ยิ่งถ้าไม่ได้คลอดเองตามธรรมชาติแต่ใช้วิธีผ่าแล้ว กว่าแม่จะฟื้นตัวจะใช้เวลานานมาก เรียกว่าสามเดือนแรกนี่ไม่มีได้นอนพักสบายแน่นอน ดังนั้นถ้าโอกาสจะนอนยังไม่มี โอกาสตอบ Blognone ก็จะยิ่งน้อยลงไปอีก (None = นอน) คิดได้อย่างนี้ผมเลยรีบตอบก่อนดีกว่าครับ
ธวัชชัย (ถามตัวเอง): ครอบครัวขยายกับครอบครัวเดี่ยวอะไรดีกว่ากันครับ
ถ้ายังไม่มีลูก ผู้คนโดยส่วนใหญ่ก็จะชอบครอบครัวเดี่ยว เพราะจะมีเวลาส่วนตัวกันสองคนมากกว่าครอบครัวขยาย แต่พอมีลูกเมื่อไหร่ ครอบครัวขยายนั้นดีกว่ามากมายนักครับ เนื่องจากจะมีปู่มีย่าตายายที่มีประสบการณ์ในการดูแลเด็กอ่อน ไหนจะลุงป้าน้าอาที่จะช่วยเหลือกันในด้านต่างๆ อีก
หลังจากสังเกตครอบครัวตัวเองที่เป็นครอบครัวเดี่ยว เพราะพื้นเพผมมาจากชุมพรมาทำงานที่หาดใหญ่ ส่วน ดร.จันทวรรณ มาจากนครศรีธรรมราช แล้วเปรียบเทียบกับครอบครัวขยายของคนอื่นที่รู้จัก ทำให้เห็นถึงข้อดีของครอบครัวขยายที่เหนือกว่าครอบครัวเดี่ยวมากมายครับ ผมคิดว่าใครแต่งงานแล้วถ้าเป็นไปได้ควรอยู่กับครอบครัวขยายครับ
ธวัชชัย (ถามตัวเอง): ที่ตอบมาด้านบนนี่มันเกี่ยวกับอะไรกับผู้อ่าน Blognone ล่ะ
อ้าว... Geeks ก็มีหัวใจนะครับ ความรักกับ Geeks เป็นของคู่กันครับ
size_t geek = sizeof *love;
beecaad: จริงๆ แล้วคิดอย่างไรกับ KM
ผมคิดว่าการที่การจัดการความรู้ (KM) ได้รับความสนใจในช่วงหลายปีมานี้เป็นเรื่องที่ดีมากครับ อย่างไรก็ตาม หลายๆ องค์กรตกอยู่ในวังวนที่ สถาบันส่งเสริมการจัดการความรู้เพื่อสังคม (สคส.) เรียกว่า “หลุมดำ KM” ครับ
แท้จริงแล้ว “การจัดการความรู้” คือ “การจัดการการแลกเปลี่ยนเรียนรู้” นั่นเอง โดยมีความคิดพื้นฐานอยู่ว่า ช่วยกันคิด ช่วยกันทำ แลกเปลี่ยนสิ่งที่คิด แลกเปลี่ยนสิ่งที่ทำ ในที่สุดแล้วประสิทธิภาพและประสิทธิผลในการทำงานจะสูงสุด ดังนั้นประเด็นสำคัญของ KM คือ “แลกเปลี่ยนเรียนรู้” ครับ
ด้วยเหตุนี้ การจัดการความรู้คือการบริหารจัดการให้เกิดการแลกเปลี่ยนเรียนรู้ภายในองค์กร (ไม่ว่า “องค์กร” นั้นหมายถึงบริษัทหรือหมายถึงประเทศ) ได้สะดวกมากที่สุดครับ
ที่จริงแล้วพวกเราด้าน IT จะคุ้นเคยกับแนวคิด KM อยู่แล้ว เพียงแต่เราไม่ได้ใช้คำนี้เท่านั้นเองครับ อย่าง DRY (Don't Repeat Yourselves สังเกตว่าผมใช้ Yourselves ไม่ใช่ Yourself) นี่แท้จริงแล้วก็คือแนวคิดของการที่ไม่ทำซ้ำในสิ่งที่ควรแลกเปลี่ยนเรียนรู้กันได้ครับ
อย่าง Blognone นี่ที่จริงก็คือการจัดการความรู้ด้าน IT ระดับประเทศครับ เป็น Community of Practice (CoP) ที่ประสบความสำเร็จน่าชื่นชมมาก ถ้าเรามี CoP ที่ดีเช่นนี้ในเรื่องอื่นๆ ผมเชื่ออย่างยิ่งว่าจะช่วยในการพัฒนาประเทศเรามากทีเดียวครับ
oakyman: ทำไมถึงเรียนปริญญาเอก และทำไมถึงเป็นอาจารย์ครับ
“ผมเรียนปริญญาเอกด้วยความบังเอิญ” ครับ “บังเอิญ” เพราะผมไม่เคยคิดหรือตั้งใจเลยว่าในชีวิตนี้จะต้องเรียนปริญญาเอก ที่จริงแล้วผมไม่ชอบเรียนหนังสือในห้องเรียนด้วยซ้ำและไม่ใช่คนที่เรียกได้ว่าเรียนดีอะไรครับ
แต่ผมชอบเรียนรู้ ผมชอบอ่านหนังสือ ผมเป็นคนอยากรู้อยากเห็นในเกือบทุกเรื่องครับ ปัญหาก็คือเรื่องที่ผมอยากรู้อยากเห็นมักไม่ตรงกับช่วงเวลาที่สถานศึกษาต่างๆ ที่ผมผ่านมากำหนดช่วงเวลาให้ผมเรียน ดังนั้นความชอบในการเรียนรู้เลยไม่ไปแปรผันตรงกับเกรดเท่าไหร่นัก ที่จริงจะส่งผลแปรผกผันด้วยซ้ำ เพราะชอบ “นอกเรื่อง” ครับ
พอผมจบปริญญาตรีที่ ม.สงขลานครินทร์ ในตอนนั้นมีทุนเพื่อรับนักศึกษาที่จบใหม่เป็นอาจารย์ในสาขาคอมพิวเตอร์ธุรกิจพอดี ผมซึ่งจบปริญญาตรีสาขาบัญชี (ผมเรียนมั่ว เอา transcript มาดูแล้วจะงง) แต่บริหารระบบเครือข่ายของคณะวิทยาการจัดการอยู่จึงรีบสมัครทุนนั้น เพราะบัญชีนั้นสนุกดีที่เรียน แต่ไม่น่าสนุกในการทำงาน และที่จริงแล้วไม่ว่างานอะไรผมก็ไม่อยากทำทั้งนั้น ผมอยาก “เล่น” แต่ให้ได้งานมากกว่า อีกสาเหตุหนึ่งคือกลัวไม่จบปริญญาตรี เพราะวิชาที่ผมรวมๆ เข้าไปใน transcript นั้นมันไม่ตรงกับหลักสูตรที่เขามี ดังนั้นการรับทุนเป็นอาจารย์น่าจะปลอดภัยว่าจบแน่ ซึ่งก็เป็นอย่างนั้นจริงๆ ครับ เพราะในที่สุดแล้วภาควิชาฯ ต้องมาวิเคราะห์ว่าอย่างนี้อนุญาตให้จบได้ สาธุ เกือบถูกพ่อกระทืบไป
หลังจากนั้นผมไปเรียนปริญญาโท Computer Science ที่ George Washington University (GWU) ซึ่งจัดหลักสูตร Computer Science ในแบบ Applied Mathematics ทำให้ผมไปตอนแรกปรับตัวหนักมากครับ ภาษาอังกฤษก็พูดฟังไม่รู้เรื่อง คณิตศาสตร์ก็ไม่แน่น แต่พอจับทางได้ก็กลายเป็นเรื่องสนุกมาก
หลังจากจบปริญญาโทผมไปต่อปริญญาเอก Information Systems ที่ University of Maryland, Baltimore County (UMBC) นี่ก็ไปเรียนเอาสนุกเหมือนกัน เพราะที่ GWU นั้นเป็น teaching-oriented university มีห้องเรียนและมีสอบ แต่ที่ UMBC นี่เป็น research-oriented university การเรียนในห้องมีน้อย การเรียนด้วยตัวเองเป็นหลัก ซึ่งตรงทางผมพอดี เพราะผมชอบเรียน แต่ผมไม่ชอบเรียนในห้องเรียน ดังนั้นช่วงเวลาในการเรียนปริญญาเอกของผมจึงเป็นช่วงที่สนุกมาก ผมไม่ค่อยรู้สึกว่าผม “เรียน” ผมรู้สึกว่าผม “เล่น” แล้วได้ใบปริญญามากกว่าครับ นี่ถ้าไม่หมดทุนผมไม่ยอมจบนะครับ (อย่าไปบอก กพ. ล่ะ)
ตัวอย่างการเล่นที่ผมชอบมากคือทุกเปิดเทอม ผมจะไปนั่งอ่านหนังสือใน bookstore ของมหาวิทยาลัย (มหาวิทยาลัยต่างประเทศจะจัดหนังสือที่นักศึกษาต้องซื้อในแต่ละวิชามาขายใน bookstore ในช่วงเปิดเทอม) ผมไปอ่านทุกวันเลย เพื่อจะได้รู้ว่าแต่ละวิชาของแต่ละคณะเทอมนี้เรียนอะไรกัน
คนที่ไปอ่านอย่างนี้ไม่ได้มีผมคนเดียวครับ มี geeks อยู่หลายคนที่ทำอย่างนี้ (สังเกตจากผมเผ้าการแต่งตัวและบุคลิกลุกลี้ลุกลน) ทำให้ผมสังเกตถึงความแตกต่างระหว่าง American geeks กับ Asian geeks ได้ว่า American geeks นั้นจะนั่งอ่านหนังสือบนพื้น ส่วน Asian geeks นั้นจะนั่งยองๆ
ผมเรียนโดย “Follow Passions, Not Missions” ครับ ผมไม่เคยคิดว่าผมต้องเรียนให้จบ แต่ผมคิดว่าผมต้องเรียนให้สนุกครับ นี่ก็กำลังคิดๆ จะไปต่อ postdoc ที่ไหนสักแห่งหนึ่ง ไปทำไมไม่รู้ ไปเอามันส์ (อย่าไปบอก กพ. อีกเช่นกัน)
sanguana: นักศึกษาสายคอมพิวเตอร์เดี๋ยวนี้เป็นไงบ้างครับ คุณภาพแย่ดังที่ว่ากันไหม
คำถามนี้คำตอบคือ “แย่” และ “ไม่แย่” ครับ
นักศึกษาสายคอมพิวเตอร์เดี๋ยวนี้คุณภาพแย่มากครับ เท่าที่ผมทราบมาว่ากว่า 90% ไม่ชอบคอมพิวเตอร์ด้วยซ้ำ โดยส่วนใหญ่ที่ผมคุยด้วยจะบอกว่าเมื่อจบไปแล้วจะไม่ขอทำงานด้านคอมพิวเตอร์เป็นอันขาดอีกต่างหาก
เมื่อเขาไม่ชอบด้านคอมพิวเตอร์ แน่นอนว่าคุณภาพการศึกษาเขาย่อมไม่มีทางดีไปได้ ไม่ว่าจะไปเคี่ยวเข็ญอย่างไรก็ตาม
แต่ถ้าถามว่า “คุณภาพ” ในฐานะ “นักศึกษา” เขาแย่ไหม คำตอบคือ “ไม่แย่” เลยครับ
นักศึกษาโดยส่วนใหญ่ค้นหาตัวเองไม่เจอว่าชอบอะไร แต่สำหรับคนที่ค้นพบว่าตัวเองชอบอะไรสนใจอะไรแล้ว เขาเก่งมาก เก่งจนน่าทึ่ง
ผมเจอนักศึกษาสายคอมพิวเตอร์ที่แคล่วคล่องว่องไว มีไหวพริบดีมาก และมุ่งเป้าตัวเองไปทำงานด้านการตลาดหลายคน
บางคนเก่งการเงินมาก คุยเรื่องเศรษฐกิจการเงินนี่รู้ละเอียดยิบจนไม่อยากเชื่อว่าเป็นแค่นักศึกษาปริญญาตรี แต่ไม่เคยมีกำลังใจในการทำความเข้าใจว่า “i += 2;” นั้นหมายความว่าอย่างไร
ปัญหาของการศึกษาในประเทศไทยคือเราไม่สามารถเอา “ผู้เรียน” และ “เนื้อหา” เข้ามาหากันได้ คนที่ได้เรียนสิ่งที่ตัวเองชอบนั้นถือได้ว่าเป็นคนมีบุญจริงๆ ในประเทศนี้
ปัญหานี้เกิดในทุกสาขาวิชานะครับ ไม่ว่าสาขาเรียนยากหรือเรียนง่าย หากลองถามหมอจบใหม่ดู ผมเชื่อว่ามีไม่มากที่มี passion ในการเป็นหมออย่างแท้จริง
ปัญหานี้เป็นปัญหาใหญ่ระดับประเทศ ประเทศไทยจะไม่มีทางพัฒนาหาก 90% ของเยาวชนในประเทศต้องเรียนในสิ่งที่เขาไม่ต้องการเรียนแล้วเฝ้ารอวันเรียนจบเพื่อเขาได้ไปทำงานอย่างอื่น
ปัญหาของภาคการศึกษาของไทยไม่ใช่ว่าทำอย่างไรให้นักเรียนนักศึกษาเรียนจบ แต่ทำอย่างไรให้เยาวชนไทยค้นพบตัวเองถึงสิ่งที่เขาอยากเรียนและสิ่งที่เขาอยากเป็นอย่างแท้จริงให้เจอครับ
Patrickz: คิดอย่างไรกับ พรบ.ความผิดเกี่ยวกับคอมพิวเตอร์
ไม่มีความคิดเห็นครับ ลูกผมกำลังจะเกิด ไม่เหมาะกับการเอาใส่หลังรถแล้วขับฝ่าออกไปด่านมาเลเซีย หากคำตอบผมจะขัดต่อ พรบ.ความมั่นคงภายใน ครับ
กั๊ตจัง: GotoKnow/Learners มีการจัดการอย่างไรบ้าง
เราเก็บ access logs ย้อนหลังไว้ตั้งแต่เปิดให้บริการครับ ไม่ใช่แค่ 90 วันครับ นอกจากนั้นเรายินดีให้ความร่วมมือกับภาครัฐทุกอย่างครับ อยากได้อะไรขอให้บอก
CCCP: เลิกบุหรี่มากี่ปีแล้ว (และสูบมาก่อนหน้านั้นกี่ปีครับ)
ผมเลิกสูบบุหรี่มาได้สักสามปีแล้วครับ ก่อนหน้านั้นผมสูบมาตั้งแต่สมัยเรียนปริญญาตรี เป็นพฤติกรรมที่แย่มาก การสูบบุหรี่เป็นหนึ่งในความผิดพลาดที่เลวร้ายที่สุดในชีวิตผม รู้เลยว่าตัวผมเองนี่โง่มาก ไม่มีใครทำร้ายกลับเอาเงินไปซื้อยาพิษมาทำร้ายตัวเองตั้งหลายต่อหลายปี
การเลิกบุหรี่ได้เป็นสิ่งวิเศษที่สุดอย่างหนึ่งในชีวิตผมครับ เป็นความภาคภูมิใจที่ยิ่งใหญ่มากที่ตัวเองมีความสามารถเอาชนะตัวเองได้
หนึ่งปีกว่าหลังจากเลิกบุหรี่ ด้วยกำลังใจที่เกิดขึ้นว่าผมมีความสามารถเอาชนะตัวเองได้และได้ดีด้วย ผมขยับไปอีกก้าวด้วยเลิกกินเนื้อสัตว์บกครับ
ในวันนี้ที่ผมไม่สูบบุหรี่มาสามปีและไม่กินเนื้อสัตว์บกมาปีกว่า ผมภาคภูมิใจในตัวเองมากครับ
Patrickz: ปวดมือบ้างไหมครับ เวลา coding อย่างหนักหน่วง
ไม่ปวดครับ แต่ผมก็ระวังตัวไว้เหมือนกันครับ Repetitive Strain Injury (RSI) เป็นสิ่งที่โปรแกรมเมอร์สามารถเป็นกันได้ง่ายมากหากไม่ระวังตัวไว้ตั้งแต่ต้นครับ แล้วอาการที่เกี่ยวกับกล้ามเนื้อนี้ ถ้าเป็นมาแล้วใช้เวลาในการรักษานานทีเดียวครับ ดังนั้นป้องกันไว้ตั้งแต่ต้นย่อมดีกว่าแน่นอนครับ
เรื่อง keyboard นั้นผมพยายามเลือกใช้ keyboard ที่คุณภาพดี กดเบา แล้วตอบสนองดี ที่จริงแล้ว keyboard ของ ... เอ่อ.. Microsoft เป็น keyboard ที่คุณภาพดีมากใช้กับ vi หรือ Emacs ได้สะดวกมากครับ
การลงทุนกับ keyboard ดีๆ นั้นผมถือว่าคุ้มค่า เพราะเราจะต้องอยู่กับ keyboard หลายชั่วโมงต่อวันครับ
Mouse ก็เช่นกัน เราควรเลือกที่จับได้กระชับมือพอดี ไม่เล็กไปไม่ใหญ่ไป กดเบาๆ ก็ได้แล้วครับ
ปัจจุบันนี้ผมใช้ MacBook ซึ่ง keyboard ดีมาก สำหรับ notebook computer นั้น ผมคิดว่าการเลือกซื้อโดยพิจารณาคุณภาพ keyboard และ touchpad ประกอบด้วยจะเป็นอีกประเด็นที่สำคัญ เพราะราคาที่แพงขึ้นมาอีกนิดหน่อยแต่ช่วยถนอมสุขภาพก็ย่อมคุ้มค่าในระยะยาว เนื่องจากเราอยู่กับอุปกรณ์นี้หลายสิบชั่วโมงต่อวันครับ
อีกเทคนิคที่ผมใช้ในการดูแลสุขภาพเกี่ยวกับน้ำดื่มครับ
ผมซื้อแก้วใส่เบียร์ขนาดสูงมาหนึ่งแก้ว แล้วทุกเช้าผมจะชงชาเต็มแก้วแล้วจิบไปเรื่อยๆ จนหมด หมดแล้วก็ชงเติมอีกอย่างนี้ทั้งวันครับ
ข้อดีของวิธีการนี้คือ หนึ่ง ทำให้เราดื่มน้ำเยอะเกินสองลิตรต่อวันแน่นอน ซึ่งจะดีต่อระบบการทำงานในอวัยวะภายในส่วนต่างๆ ของร่างกาย สอง เนื่องจากดื่มน้ำเยอะ ทำให้เราต้องลุกไปห้องน้ำบ่อย ทำให้แขนขาได้ขยับเพิ่มมากขึ้น และหลังจากออกมาจากห้องน้ำแล้ว ให้พยายามบิดเนื้อบิดตัวในจุดที่เราไม่ค่อยได้ขยับให้เลือดลมได้ไหลเวียนครับ
อีกอย่างหนึ่งที่ผมใช้คือ ผมเป็นคนบิดขี้เกียจได้อย่างไม่อายฟ้าดินในสารพัดท่วงท่าและทำบ่อยด้วย การบิดขี้เกียจก็เป็นอีกหนึ่งวิธีในการทำให้กล้ามเนื้อได้ผ่อนคลายครับ
หวังว่าเทคนิคเหล่านี้จะมีประโยชน์ต่อผู้อ่าน Blognone ครับ
**audy: คิดว่าโลกจะเย็นขึ้นไหมครับ
ผมมีความหวังว่าสิ่งแวดล้อมของโลกจะดีขึ้นหากมนุษย์ทุกคนได้หยุดคิดว่าสิ่งที่สบาย สะดวก และสวยงามที่แท้จริงคืออะไรครับ
ผมเคยพักโรงแรมกลางกรุงนิวยอร์ก ที่มีเสียงจอแจของผู้คนลอดมาตลอดวันตลอดคืน แต่ห้องนอนที่มีความสุขสงบที่สุดที่จำไม่ลืมคือกระต๊อบริมทะเลที่สงขลาได้ที่ยินเสียงคลื่นกล่อมเบาๆ ทั้งคืน
ผมเคยกินอาหารสั่งตรงจากครึ่งขอบโลก แต่อาหารที่อร่อยที่สุดกลับเป็นอาหารที่ทำเองโดยใช้วัตถุดิบใกล้ๆ บ้าน
ผมเคยไปนั่งเล่นรับแอร์เย็นเฉียบในห้างหรูที่สุดของประเทศไทย แต่ที่นั่งที่มีความสุขเหลือเกินกลับเป็นเก้าอี้ม้าหินอ่อนรับลมเย็นชื่นใจใต้ต้นไม้ใหญ่ข้างอ่างเก็บน้ำใน ม.สงขลานครินทร์ ที่มีขนาดใหญ่และอยู่ริมภูเขา
ผมเคยเมารถรุ่นหรูมากที่ผมได้มีโอกาสนั่งในกลางเมืองใหญ่ แต่ผมไม่เคยเมาจักรยานที่ผมปั่นไปทำงานเลยสักครั้งเดียว
แอปเปิ้ลที่อร่อยที่สุดที่ผมเคยกินคือที่กลางสวนแอปเปิ้ลใกล้น้ำตกไนแองการา ทุเรียนที่อร่อยที่สุดที่ผมเคยกินคือที่กลางสวนทุเรียน อ.หลังสวน จ.ชุมพร ลองกองที่อร่อยที่สุดที่ผมเคยกินคุณพ่อของเพื่อนใส่หลังรถกะบะเอามาให้จากยะลา
ฯลฯ
ถ้าทุกครั้งที่มนุษย์เราได้รับประสบการณ์ชีวิตในเรื่องใดก็ตาม หากเราไม่เผลอหลงไปตามสิ่งนั้นๆ แล้วหยุดคิดสักนิดว่าสิ่งไหนกันแน่คือสิ่งที่สวยงาม สิ่งไหนที่ให้ความสุขแท้จริง และสิ่งไหนเป็นสิ่งมีค่าที่เราควรพยายามไขว่คว้า ผมเชื่ออย่างยิ่งว่าโลกเราจะเย็นลงได้อย่างแน่นอนครับ
Think Different! (คิด และอย่ากลัวที่จะคิดแตกต่าง)
Patrickz: ระหว่าง OLPC กับ EeePC ชอบอะไรมากกว่ากันครับ
คำถามนี้ตอบยากครับ ในมุมหนึ่งผมคิดว่าที่จริงแล้วสองอย่างนี้เปรียบเทียบกันไม่ได้ครับ OLPC เจตนาเป็นอุปกรณ์ที่ “upgrade” มาจากสมุด หนังสือ และปากกาที่เราใช้ในการเรียนการสอนทั่วไป ดังที่ผมเคยเขียนไว้ในบล็อกของผม แต่ EeePC นั้นเป็น “computer” ครับ เท่าที่ผมตามข่าว EeePC มา ผมยังไม่เห็นการวาง positioning ของตัวเองชัดเจนว่า EeePC คืออะไรกันแน่ แต่เท่าที่เห็นมาเขาตั้งใจเป็น “sub notebook” ที่ผู้ใช้สามารถพกพาได้สะดวกครับ
ผมรู้สึกว่า Asus ก็ “เผื่อ” ไว้ในแง่ว่าหากมีผู้ใช้นำ EeePC ไป hack เพื่อประโยชน์อย่างอื่นที่เห็นได้ชัด Asus ก็จะยินดีเข้ามาปรับ EeePC ไปในทิศทางนั้นทันที EeePC เป็นเหมือนสินค้าที่ Asus โยนหินถามทางดูทิศทางของตลาดครับ
ในตอนนี้เปรียบเทียบ OLPC กับ EeePC เหมือนเปรียบเทียบส้มกับแอปเปิ้ลครับ อย่างไรก็ตามสองสิ่งนี้ยังไม่นิ่งในเรื่อง positioning ดังนั้นเราอาจเห็นการเปลี่ยนแปลงที่ในที่สุดแล้วสามารถเปรียบเทียบกันได้ก้ได้ครับ
ในขณะที่ตอนนี้เราสามารถซื้อ OLPC ได้ในโครงการ Give One, Get One (แต่สั่งซื้อจากประเทศไทยยุ่งยากมาก) ส่วน EeePC สามารถหาซื้อได้โดยทั่วไปทั่วโลกแล้ว นับว่าความสามารถในการกระจายสินค้าของบริษัทอย่าง Asus มีสูงกว่ามูลนิธิอย่าง OLPC Foundation บางที EeePC อาจเป็นความหวังของโลกที่น่าสนใจก็ได้
ผมกำลังหาจังหวะซื้อ EeePC มาใช้ครับ จะลองมาหาโอกาสดูว่าภายใต้ hardware ที่ได้มานี้จะสามารถประยุกต์ใช้ประโยชน์อะไรได้บ้างครับ หากมีความคืบหน้าก็จะเขียนบล็อกเล่าทุกท่านแน่นอนครับ
Mr. JoH: รู้สึกอย่างไรกับการที่ “เรา” ยกเลิกโครงการ OLPC
รู้สึกเศร้าใจครับ เศร้าใจในสองประเด็น ประเด็นแรกคือทำไมประเทศไทยโชคร้ายได้ผู้บริหารกระทรวง ICT ที่ไม่มีวิสัยทัศน์ด้าน ICT เลย ประเด็นที่สองคือทำไมทุกสิ่งทุกอย่างในประเทศไทยถูกครอบงำด้วยการเมืองตลอดเวลา แม้กระทั่งอนาคตทางการศึกษาของเด็กตาดำๆ ที่ด้อยโอกาส
tonkla: อาจารย์นิยมพัฒนาซอฟต์แวร์แบบไหนครับ ระหว่างเขียนเองทั้งหมด (coding from scratch), พัฒนาต่อยอดจากซอฟต์แวร์ที่มีอยู่แล้ว, หรือพัฒนาโดยใช้ framework (หรือแบบอื่นๆ) เพราะอะไรครับ
ผมชอบพัฒนาซอฟต์แวร์โดยใช้ framework มากที่สุดครับ framework นั้นเป็นสิ่งที่มีคนพัฒนาเพื่อแก้ปัญหาทั่วไป (generic problems) ใน problem domain นั้นแล้ว ดังนั้นสิ่งที่เรามาเขียนต่อคือการแก้ปัญหาเฉพาะ (specific problems) สำหรับโปรแกรมของเราเท่านั้นเองครับ การใช้ framework เป็นการ DRY (Don't Repeat Yourself) ครับ
ส่วนการพัฒนา from scratch นั้นเป็นการ repeat yourself ครับ เพราะเท่ากับเราต้องแก้ทั้ง generic problems และ specific problems ทั้งสองอย่างพร้อมๆ กัน ทั้งที่ generic problems ไม่น่าจะต้องเสียเวลามาแก้ซ้ำครับ
ผมจะพัฒนาจาก scratch ก็ต่อเมื่อผมต้องการสร้าง framework เองครับ และจะมองว่าเป็นการทำโปรแกรม “สองโปรแกรม” พร้อมๆ กันครับ มิฉะนั้นจะไม่สามารถแยก framework ออกมาได้ในภายหลัง แต่ที่ผ่านมาผมก็ยังไม่มี framework ไหนที่พัฒนาแล้วพอใจพอจะ release ออกมาได้เลยครับ งานพัฒนา framework ให้ generic ดีนี่ไม่ใช่เรื่องง่ายจริงๆ ครับ
ส่วนการพัฒนาต่อยอดจากซอฟต์แวร์ที่มีอยู่แล้วเป็นสิ่งที่ผมไม่ชอบทำเลย เพราะเป็นการแปลงสิ่งที่มีผู้พยายามแก้ปัญหา specific problems ของเขาให้เข้ากับ specific problems ของเรา ซึ่งโดยส่วนใหญ่ในการทำเช่นนี้จะจบลงที่เราเขียนส่วนที่แก้ปัญหา specific problems ของเราเยอะไม่น้อยกว่าการพัฒนามาจาก framework โดยตรงครับ ยิ่งกว่านั้นจะมีปัญหาของ specific problems ของเขาหลงค้างอยู่ในโปรแกรมของเราให้กลายเป็นปัญหาของโปรแกรมในภายหลังอีกต่างหากครับ
tonkla: ในบรรดาศาสตร์ทางคอมพิวเตอร์ทั้งหลายที่อาจารย์เคยเจอมา อาจารย์คิดว่าเรื่องไหนยากที่สุด เพราะอะไรครับ
คำถามนี้ถ้าให้ผมตอบสั้นๆ ผมจะตอบว่า “ไม่มีศาสตร์ทางคอมพิวเตอร์ด้านไหนที่ยากสำหรับผมเลยครับ” แต่ตอบเสร็จแล้วต้องรีบอธิบายครับ
ผมไม่รู้สึกเรื่องไหนที่เกี่ยวกับคอมพิวเตอร์ยากเลยครับ เพราะผมชอบและสนุกกับมันมากครับ หลายๆ เรื่องเป็นเรื่อง “ท้าทาย” ที่ต้องกุมขมับเป็นวันๆ กว่าจะแก้ปัญหาได้ตก แต่ “ท้าทาย” คือ “ท้าทาย” ครับ เป็นความสนุกที่ว่าเราจะแก้ปัญหานั้นได้หรือไม่
แต่เรื่องที่ยากสำหรับผมมีเยอะมากครับ ล้วนแล้วแต่เป็นเรื่องที่ผมไม่ชอบทั้งนั้น อาทิเช่น สอนหนังสือในห้องเรียนที่นักศึกษาจำนวนเยอะๆ นี่ยากมาก ไม่รู้จะสอนยังไง เพราะวิธีในการเรียนรู้ของผมไม่ได้เป็นอย่างนี้ ผมไม่เคยเรียนในห้องเรียนเลย
การพูดในที่ชุมชนนี่ก็ยาก จะพูดยังไงสื่อสารอย่างไรให้เขาเข้าใจอย่างที่เราต้องการสื่อ ไม่ใช่เรื่อยง่ายๆ เลย
การบริหารจัดการก็อีกเรื่องที่ยากเย็นแสนเข็ญ เวลาผมสอนนักศึกษาผมก็เจื้อยแจ้วเชียวครับ อาศัยอ่านมาเยอะ แต่ให้ทำจริงผมคงไม่มีปัญญาทำตามนั้นหรอก
สรุปว่า “เรื่องยาก” คือเรื่องที่เราไม่มี “passion” กับสิ่งนั้นครับ
Patrickz: ช่วงนี้สนใจเทคโนโลยีใดเป็นพิเศษ เพราะอะไรครับ
ในช่วงนี้ผมสนใจเทคโนโลยีที่ “practical” (หรือที่ UsableLabs เราใช้คำว่า “usable”) สำหรับประเทศไทยโดยเฉพาะในพื้นที่ต่างจังหวัดครับ
เทคโนโลยีที่เราสนใจและกำลังนำมาใช้งานในตอนนี้ได้แก่ bittorrent สำหรับการส่งข้อมูลขนาดใหญ่ระหว่างผู้ใช้ wxPython และ SQLite สำหรับการเขียนโปรแกรมใช้ในเครื่องที่ทรัพยากรต่ำ Django สำหรับการพัฒนา websites (ไม่ใช่ web applications) และ Puppy Linux สำหรับเครื่องทรัพยากรน้อยครับ
กั๊ดจัง: สถิติของเว็บเป็นอย่างไรบ้าง
สถิติการใช้งานของ GotoKnow และ Learners โดยละเอียดสามารถดูได้จาก TrueHits ครับ เพราะเราใช้บริการของ TrueHits มาหนึ่งปีแล้วครับ
avaya: สมาชิกของ GotoKnow มีเท่าไหร่ และต้องใช้ servers ขนาดไหนในการรองรับ
ในขณะนี้มีผู้ลงทะเบียนใช้ GotoKnow 40,700 คนครับ โดยผู้ใช้แต่ละท่านมีความสม่ำเสมอในการใช้งานแตกต่างกันครับ อาทิเช่น บางท่านทั้งอ่านทั้งเขียนประจำ บางท่านอ่านและให้ความเห็นเป็นหลัก บางท่านเข้ามาใช้ระบบเป็นครั้งคราวครับ
ในตอนนี้เราใช้เครื่องแม่ข่ายเพื่อให้บริการ GotoKnow.org, Learners.in.th, Researchers.in.th, Volunteers.in.th, และ LightLex.com จำนวน 5 + 1 เครื่องครับ
โดยห้าเครื่องเป็นเครื่องที่เราบริหารจัดการเองและอีกเครื่องหนึ่งเราอาศัยใช้ memcached ครับ เครื่องสามเครื่องเป็น AMD Athlon 64x2 2.2GHz RAM 2GB HD 80GB ส่วนอีกสองเครื่องเป็น Intel Core 2 Quad 2.4GHz (Q6600) RAM 4GB HD 320GB ครับ
เครื่องเราใช้ FreeBSD สองเครื่อง ส่วนที่เหลือใช้ Gentoo ครับ
หมายเหตุว่าเราพึ่งปรับปรุงใช้เครื่องแม่ข่ายใน setting นี้ในสัปดาห์ที่ผ่านมานี่เองครับ ก่อนหน้านี้จะเป็น setting ที่ศักยภาพต่ำกว่านี้มากครับ
AnnoMundi: GotoKnow ใช้ Apache + Mongrel Cluster ไม่ทราบว่ารัน mongrel กี่ process ครับ ถึงรองรับสมาชิกและผู้เยี่ยมชมเว็บในปัจจุบันได้
สำหรับ GotoKnow เราใช้ mongrels ทั้งหมด 12 ตัว ส่งให้ Apache load balancer ส่วน Learners เราใช้ 6 ตัว และ อย่างละสองตัวสำหรับ Researchers และ Volunteers ครับ
allizom: จากการที่อาจารย์ทำ open source ตัว KnowledgeVolution มา มี developer จากเมืองนอกให้ความสนใจร่วมพัฒนาหรือให้ความสนใจตรงนี้มากน้อยแค่ไหนครับ
ไม่มีเลยครับ เพราะเราไม่มีเวลาได้ประชาสัมพันธ์ออกไปในระดับนานาชาตินั่นเองครับ ในตอนนี้เรามุ่งให้ KnowledgeVolution สามารถใช้งานในองค์กรในประเทศไทยได้เพื่อทดแทนซอฟต์แวร์เพื่อการจัดการความรู้ระดับองค์กรราคาแพงจากต่างประเทศครับ
Pop: อาจารย์เป็นอาจารย์สอนในภาค CoE ด้วยหรือเปล่าครับ แล้วทีมพัฒนา engine ตัวนี้มีนักศึกษามาร่วมด้วยรึเปล่า
ผมไม่ได้สอนภาค CoE ครับ ผมสอนภาควิชาบริหารธุรกิจ คณะวิทยาการจัดการ มหาวิทยาลัยสงขลานครินทร์ ครับ และปกติก็ไม่ค่อยเน้นการสอนหนังสือเท่าไหร่ เน้นการวิจัย และชอบที่จะสอนนักศึกษาตัวต่อตัวในลักษณะห้องแล็บวิจัยมากกว่าห้องเรียนครับ
KnowledgeVolution ในขณะนี้ยังไม่มีนักศึกษามาร่วมพัฒนาในฐานะโปรแกรมเมอร์ครับ แต่เรามีนักศึกษาผลัดเปลี่ยนมาช่วยในงานอื่นๆ อยู่ตลอดเวลาครับ
เราต้องการรับนักศึกษาที่สนใจมาร่วมทำงานมากครับ ที่จริงแล้วเราติดประกาศรับสมัครมาตลอดครับ นักศึกษาทุกภาควิชาในมหาวิทยาลัยสงขลานครินทร์วิทยาเขตหาดใหญ่หากสนใจทำงานพิเศษเป็นผู้ช่วยวิจัยสามารถติดต่อได้ที่เบอร์ภายใน 7971 ตอนนี้เราต้องการโปรแกรมเมอร์ และ Graphics Designer ครับ
audy: Environment ในการพัฒนา GotoKnow มีอะไรบ้างครับ?
ผมใช้เครื่อง MacBook รุ่นแรกครับ ซอฟต์แวร์ต่างๆ ที่ใช้ผมติดตั้งผ่าน MacPorts เกือบทั้งหมด ส่วน editor ที่ผมใช้จะสลับไปมาระหว่าง Vim และ Emacs ตามแต่อารมณ์จะอำนวย ผมเป็นคนแปลก ผมใช้ทั้ง Vim และ Emacs ที่จริงแล้วผมใช้ Vim มาตลอดจนกระทั่งมีอยู่ช่วงหนึ่งที่ผมต้องเขียน LISP อยู่หนึ่งปีทำให้ผมติดใจ Emacs แต่ผมก็ยังทิ้ง Vim ไม่ลง โอย... รู้แล้วว่าคนมีแฟนสองคนเขารู้สึกยังไง!
CCCP: KnowledgeVolution มีค่าใช้จ่ายในการพัฒนาประมาณเท่าไหร่ครับ (ค่าจ้างคนเขียนอ่ะ :P)
ในช่วงสองปีแรก สกว. ให้ค่าตอบแทนผม 10,000 บาท และให้ ดร.จันทวรรณ 5,000 บาท สคส. เลยให้ค่าตอบแทนเสริม โดยให้ ดร.จันทวรรณ 10,000 บาท และให้ผม 5,000 บาท สรุปแล้วเราได้คนละ 15,000 บาทต่อเดือนครับ ส่วนในปีที่ผ่านมานี้ สคส. เป็นผู้จ่ายรายเดียวโดยจ่ายให้คนละ 20,000 บาทครับ
งบประมาณของการทำงานทั้งหมดในสองปีแรกรวมจ่ายจาก สกว. และ สคส. คือปีละ 500,000 บาทครับ ส่วนในปีที่ผ่านมาคือปีละ 1,000,000 บาท โดยเราได้มีคนทำงานประจำเพิ่มขึ้นในปีนี้อีกสองคน (มะปราง – สุนทรี และ กล้า – สุรกานต์) ครับ
เราจ่ายนักศึกษาเดือนละ 2,000 บาทในการช่วยเหลือดูแลชุมชน โดยในครึ่งปีแรกเราจ้างนักศึกษาจำนวน 4 คน และในปัจจุบันเราจ้างนักศึกษาอยู่จำนวน 3 คนครับ (และยังรับเพิ่มทุกคณะหากมีผู้สนใจ)
ในปีที่ผ่านมาเราได้รับการสนับสนุนจาก ThaiRuralNet (TRN) เป็นเงินให้เปล่าเพื่อสนับสนุนการทำงานของ UsableLabs อีก 1,000,000 บาท (โดยสนับสนุนมาแล้ว 500,000 บาท) โดยเราได้ใช้เงินนี้เป็นเงินหมุนในสามไตรมาสแรกช่วงที่ดำเนินการเบิกจ่ายจาก สคส. ยังไม่แล้วเสร็จครับ
Mr. JoH: ยากหรือเปล่าครับ กับการคิดเอนจิ้นของ KnowledgeVolution
ไม่ยากครับ เพราะ “สนุก” ครับ อะไรที่ทำแล้วสนุก ผมไม่ถือว่ายาก แม้บางครั้งบางอย่างต้องกุมหัวคิดอยู่เป็นวันๆ ทีเดียว
ผมเขียนโปรแกรมเพื่อความสนุกครับ ผมสนุกมากที่ได้เขียนโปรแกรมและได้เห็นโปรแกรมของผมมีคนใช้ครับ ผมยิ่งสนุกขึ้นไปอีกเมื่อ source code ของโปรแกรมผมมีคนนำไปอ่านและทดลองต่อ ดังนั้น open source นี่ตรงใจผมมากทีเดียวครับ
allizom: ถ้าเราคนไทยจะร่วมกันสร้าง open source มาสักตัวหนึ่ง โดยคนไทย และเพื่อคนไทย อาจารย์คิดว่าเราควรจะทำโปรแกรมอะไรดี
โปรแกรม open source ที่ควรทำโดยคนไทยและเพื่อคนไทย ผมคิดว่าควรทำโปรแกรมที่จะมีประโยชน์ต่อคนไทยที่ด้อยโอกาส (หรือ 80% ของประชาชนทั้งประเทศ) ครับ โดยเฉพาะโปรแกรมที่ช่วยเหลือในการดูแลสุขภาพและสุขภาวะ และโปรแกรมที่ทำให้คนเหล่านี้เข้าถึงข้อมูลข่าวสารได้โดยง่ายครับ
ผมคิดอยู่เสมอว่าความรวยหรือความจนวัดกันที่สุขภาพ สุขภาวะ และการเข้าถึงข้อมูลข่าวสารครับ ผมเชื่ออย่างยิ่งว่า open-source programmers คือความหวังของประเทศไทยที่จะช่วยเหลือประชาชนไทยให้พ้นจาก “ความจน” ครับ
งานที่เราทำกันที่ UsableLabs ในตอนนี้จึงเน้นที่ Open Source, Open Contents, Open Services ครับ โดยกลุ่มผู้ใช้ของเราจะเน้นที่ 80% ของคนไทยทั้งหมด และเราอยากขยายไปที่ประเทศเพื่อนบ้านของเราด้วย ผมไม่คิดพึ่งภาครัฐของประเทศแถบนี้ในด้าน ICT แต่ผมเชื่อว่าความตั้งใจจริงของความต้องการช่วยเหลือเพื่อนมนุษย์ด้วยกันนั้นมีพลังครับ
เรามีโครงการหลายโครงการที่กำลังวางแผนไว้และจะสำเร็จไม่ได้หากไม่ได้ทุกท่านมาช่วยกันสร้างให้เป็นจริงให้ได้ แล้วเมื่อถึงเวลาเราจะมา “ขอแรง” ช่วยพี่น้องตาดำๆ ที่รัฐบาลไม่ใยดีใน South-East Asia กันครับ
(สาเหตุที่เรายังไม่ประกาศตอนนี้เพราะเราเรียนรู้แล้วว่า Premature announcement is the root of all evils. เพราะ Premature software optimization is the root of all evils. ครับ)
เราเชื่อว่าอีกไม่นาน open-source programmers จะ make a difference ใน South-East Asia แน่นอนครับ
pphetra: RoR เป็น framework ที่เขียนแล้วสนุก แต่หลังจาก KnowledgeVolution โตมาถึงขนาดนี้แล้ว อาจารย์ลองให้ความเห็นในส่วนของการ maintain software บน RoR หน่อยครับ ยังสนุกเหมือนแรกๆ ไหมครับ มีพบเจอประเด็นพิเศษอะไรบ้างในแง่ของ RoR กับการ maintanance
ต้องบอกว่ายัง “พอไหว” ครับ อาจเป็นเพราะ KnowledgeVolution แม้จะมีคนใช้มากแล้ว แต่ตัวซอฟต์แวร์เองยังไม่ได้มีความซับซ้อนมากนักครับ ดังนั้นปัญหาโดยส่วนใหญ่ของเราเป็นปัญหาของการ optimization เพื่อให้สามารถรองรับผู้ใช้จำนวนมากในขณะที่เครื่องแม่ข่ายมีศักยภาพจำกัดมากกว่าครับ
อย่างไรก็ตาม ที่ผ่านมาเราต้องทำการ refactor ระดับ “ล้างบาง” ในหลายเรื่องไปหลายหนเหมือนกันครับ
สิ่งที่ผมพบใน RoR คือ แม้จะเป็น MVC Framework แต่เขาออกแบบตัด model, view, และ controller ออกจากกันไม่ขาด หมายความว่า code ส่วน model มักจะหลุดมาอยู่ใน controller และ code ของ controller จะหลุดไปอยู่ใน view ครับ
ตัวอย่างเช่น หากใน controller เราใช้การค้นหาแบบนี้ (ซึ่ง tutorial ของเขา “แนะนำ” ให้ทำด้วยซ้ำ) ผมเห็นว่าไม่ถูกต้องครับ
posts = Post.find(:all, :order => “created_at DESC”, :limit => 10)
นี่เป็น code ที่ควรอยู่ในส่วน model เพราะเห็นได้ว่ามีการเข้าถึงเนื้อในของ model ไม่ใช่เป็นการส่ง message ให้แก่ model นั้นครับ ควรจะเขียนใน model ว่า
def self.find_recent_posts(n=10)
Post.find(:all, :order => “created_at DESC”, :limit => n)
end
แล้วใน controller ถึงเรียกใช้ว่า
posts = Post.find_recent_posts
ถึงจะแยก model และ controller ออกจากกันได้ชัดเจนกว่าครับ
ส่วนใน view นั้น ให้สังเกตว่าหากมี ruby code ในแต่ละ eRuby sniplet เกิน statement เดียวแสดงว่าเริ่มมีความเสี่ยงที่จะเอา code ส่วน controller ไปอยู่ใน view แล้วครับ
กั๊ดจัง: มีวิธีการผลักดันอย่างไรให้ทางฝั่งผู้สอนและลูกศิษย์มาใช้ GotoKnow และ Learners ด้วยกันได้
ในตลอดสามปีที่ผ่านมาของ GotoKnow และตลอดหนึ่งปีที่ผ่านมาของ Learners เราทำการประชาสัมพันธ์น้อยมากครับ เนื่องจากคนทำงานเรามีน้อย งานหลักที่เราใช้เวลาโดยส่วนใหญ่ทำคือพยายามพัฒนาและดูแลระบบให้ทำงานอย่างดีที่สุด รวมทั้งดูแลผู้ใช้ที่เข้ามาใช้ระบบให้ได้รับความสะดวกในการใช้มากที่สุด ดังนั้นการประชาสัมพันธ์ของทั้งสองไซต์เกิดจากผู้ใช้บอกต่อกันไปเรื่อยๆ ครับ
หากจะเปรียบเราเป็นร้านอาหาร เราเปรียบเสมือนเป็นร้านอาหารที่ไม่มีการประชาสัมพันธ์ เพราะเราเริ่มต้นจากการเป็นร้านอาหารร้านเล็กที่มีวัตถุประสงค์ในตอนแรกเพื่อเปิดขึ้นเพื่อให้บริการผู้ใช้กลุ่มเล็กๆ ที่รู้จักมักจี่กัน (ได้แก่ภาคีของ สคส.) และรวมไปถึงผู้ใช้ที่เกิดจากการบอกต่อกันไปตามอัถยาศัย
ด้วยเหตุนี้เราจึงใช้ทรัพยากรทั้งหมดเพื่อให้บริการผู้เข้ามาใช้ว่าต้องได้รับบริการที่ดีที่สุด เราไม่เคยคาดหวังที่จะเห็นผู้ใช้จำนวนมากแต่เราคาดหวังว่าผู้ใช้ทุกคนที่มาใช้บริการต้องได้รับประสบการณ์ในการใช้งานที่ดีที่สุดครับ
เมื่อเปรียบกับร้านอาหาร GotoKnow ก็เหมือนร้านอาหารเล็กๆ ที่เติบโตเป็นร้านใหญ่ที่ต้องแตกสาขาออกมาหลายสาขา แต่เรายังยึดมั่นนโยบายเดิมที่เน้นที่การทุ่มทรัพยากรทั้งหมดที่เรามีเพื่อการบริการผู้ใช้ ได้แก่ การให้ support ที่ดี การพัฒนาซอฟต์แวร์ให้รองรับความต้องการใหม่ๆ ที่ผู้ใช้เสนอมาอย่างทันต่อความต้องการ และการดูแลให้ระบบทำงานได้เต็มที่ตลอดเวลาครับ
ดังนั้นจนมาถึงวันนี้ เราก็ยังไม่มีนโยบายการประชาสัมพันธ์เป็นรูปเป็นร่างแต่อย่างใดครับ
oakyman: หาลิงค์ของ RSS Feed ใน GotoKnow ยากนิดนึง
ตอนนี้เพิ่ม embedded RSS link tag แล้วครับ
sanguana, audy: ปัญหาที่หนักใจที่สุดใน GotoKnow นี่คืออะไรครับ
ก่อนหน้านี้ปัญหาที่หนักใจที่สุดจะเป็นเรื่องความช้าของระบบครับ เพราะระบบช้ากว่าปริมาณการใช้งาน ทำให้ผู้ใช้เลิกใช้ไปหลายท่านทีเดียว แต่ตอนนี้ได้เครื่องแม่ข่ายใหม่มาแล้วได้ความเร็วที่สามารถรองรับการเติบโตของจำนวนผู้ใช้ไปได้อีกไม่น้อยกว่าหนึ่งไตรมาสทีเดียวครับ
สำหรับเว็บไซต์ที่ไม่หวังผลกำไรและไม่รับโฆษณาอย่าง GotoKnow นั้น การเพิ่มจำนวนเครื่องแม่ข่ายเข้ามาในระบบไม่ใช่เรื่องง่ายๆ เพราะงบประมาณที่เรามีจำกัดมาก รวมทั้งการที่ฐานการทำงานเราอยู่ที่ต่างจังหวัดด้วย ที่ผ่านมาเราได้รับความอนุเคราะห์จาก INET อย่างต่อเนื่องในการเป็นธุระเรื่องเครื่องแม่ข่ายให้ครับ
ที่จริงแล้วเราสนใจที่จะรับบริจาคเครื่องแม่ข่ายจากบริษัทที่ขายเครื่องแม่ข่ายต่างๆ และเรายินดีเขียนเล่า success stories ให้ ในฐานะเว็บไซต์ที่ใช้ Ruby on Rails ที่มีจำนวนผู้ใช้มากที่สุดในประเทศไทยในตอนนี้ กรณีศึกษาจากเราน่าจะเป็นสิ่งที่น่าสนใจมาก อย่างไรก็ตามเราไม่มีนโยบายรับโฆษณาสินค้าและบริการของบริษัทไหนภายในเว็บไซต์ครับ
อีกปัญหาคือการติดตั้งใช้งานในองค์กรครับ เนื่องจากเราใช้ Ruby on Rails จึงทำให้องค์กรต่างๆ ที่สนใจใช้ KnowledgeVolution ไม่สามารถติดตั้งได้โดยง่ายเนื่องจากผู้ดูแลระบบต้องเรียนรู้ในเทคโนโลยีที่ไม่ได้มีการใช้งานแพร่หลายในประเทศไทยในขณะนี้
ตอนนี้ ม.สงขลานครินทร์ ติดตั้งใช้งาน share.psu.ac.th แล้ว แต่มหาวิทยาลัยอื่นก็ยังไม่สามารถติดตั้งได้ UsableLabs ก็มีกำลังจำกัด ไม่สามารถเดินทางไปติดตั้งและดูแลให้ได้ด้วย ดังนั้นเรื่องการติดตั้งดูแลเพื่อใช้งานนี้ จึงเป็นปัญหาใหญ่ของ KnowledgeVolution ครับ
เราจะยินดีอย่างยิ่งถ้ามีหน่วยงานไหนรับให้บริการเรื่องการดูแลติดตั้ง KnowledgeVolution สำหรับองค์กรต่างๆ ครับ เพราะ UsableLabs เรามีเป้าหมายในการเป็นหน่วยงานพัฒนาซอฟต์แวร์แต่ไม่ได้รับทำงานด้านการติดตั้งดูแลครับ
Patrickz: อะไรใน GotoKnow ที่คิดว่าแย่ที่สุดต้องปรับปรุง?
ก่อนหน้านี้สิ่งที่แย่ที่สุดใน GotoKnow ที่คิดว่าต้องปรับปรุงคือความเร็วในการตอบสนองผู้ใช้ของระบบครับ แต่หลังจากปรับเปลี่ยนเครื่องแม่ข่ายแล้ว ตอนนี้ก็เป็นการแก้ interaction ในหลายต่อหลายอย่างที่ผู้ใช้รายงานมาครับ
เราให้ความสำคัญกับ interaction ของระบบต่อผู้ใช้มากครับ เราออกแบบและพัฒนา interaction ไม่ใช่ user interface นะครับ interaction คือการใช้งานตอบสนองสองทางทั้งจากระบบต่อผู้ใช้และจากผู้ใช้ต่อระบบ ส่วน user interface นั้นคือการแสดงผลต่อผู้ใช้
ถ้าเอาศัพท์ด้าน Human-Computer Interaction (HCI) มาเปรียบกับ Ruby on Rails แล้ว user interface คือส่วน view ในขณะที่ interaction คือ controller+view นั่นเองครับ
ในตอนนี้มีอีกหลายประเด็นด้าน interaction ที่มีปัญหาแล้วก่อนหน้านี้เราไม่ได้มีโอกาสแก้ไขครับ ตอนนี้งานพัฒนา KnowledgeVolution เป็นของมะปราง (สุนทรี) และกล้า (สุรกานต์) เข้ามาเต็มตัวแล้ว โดยผมและ ดร.จันทวรรณ จะใช้เวลาในการดูแลโครงการอื่นของเราครับ ดังนั้นงานพัฒนาของเราเชื่อว่าจะเดินไปได้เร็วขึ้นแน่นอนครับ
CCCP: อะไรเป็นอุปสรรคในการพัฒนา Web App บน RoR ครับ
ปัญหาในการพัฒนา web applicaitons ด้วย Ruby on Rails นั้นมีน้อยครับ โดยเฉพาะเมื่อมีคนใช้งานมากขึ้นทั่วโลกอย่างปัจจุบันนี้
แต่ปัญหาที่ใหญ่ที่สุดของ Ruby on Rails คือ deployment ครับ เนื่องจาก Ruby on Rails ใช้เทคโนโลยีที่เฉพาะตัวมากในแต่ละขั้นตอนของการ deployment ทำให้ web applicaitons ที่พัฒนาด้วย Ruby on Rails ยากต่อการ deployment สำหรับผู้ที่ไม่คุ้นเคยกับเทคโนโลยีนี้
อย่างไรก็ตามผมเชื่อว่าต่อไปการ deployment ของ Rails applicaitons จะง่ายขึ้นและผู้คนจะคุ้นเคยมากขึ้น โดยเฉพาะเมื่อ Sun เข้ามาสนับสนุนเต็มที่เช่นนี้ครับ
momento69: นอกจากเว็บ GotoKnow และ Learners แล้ว จะมีโครงการอื่นในเร็วๆ นี้อีกไหมครับ
เรามีหลายโครงการที่วางแผนอยู่ครับ แต่จะทำเสร็จและได้เปิดตัวเมื่อไหร่นั้นยังบอกไม่ได้จริงๆ ครับ
เมื่อ UsableLabs ตั้งใจมุ่งเป้าที่ “พัฒนาซอฟต์แวร์เพื่อพัฒนาสังคม” เต็มตัวอย่างตอนนี้ เราพบว่ามีซอฟต์แวร์เยอะมากที่จะมีประโยชน์ต่อสังคมไทยและประเทศเพื่อนบ้านที่ต้องการคนพัฒนาครับ ในขณะนี้เรามีรายการที่เขียนไว้เกินสิบโครงการ ซึ่งแต่ละโครงการนั้นล้วนแล้วแต่มีความจำเป็นเร่งด่วนทั้งนั้นครับ
ผมเชื่อว่าซอฟต์แวร์เหล่านี้ต้องพัฒนาแบบ open source อย่างเต็มรูป (ไม่ใช่องค์กรไหนพัฒนาภายในแล้วใช้ open source license เท่านั้น) ถึงจะได้ทันใช้ครับ ตอนนี้เรากำลังวางแผนในการประกาศแต่ละโครงการออกมาอย่างเป็นระบบครับ ตอนนี้เราเรียนรู้แล้วว่า Premature announcement is the root of all evils. ครับ
Patrickz: เว็บ video clip ใกล้เสร็จหรือยังครับ? ชื่อเว็บจะชื่ออะไรครับ?
อย่างที่ตอบไปในคำถามที่แล้วครับ “Premature announcement is the root of all evils.”
เราเจอ ปัญหากำลังคนไม่พอที่จะตั้งต้นการทำงานของโครงการนี้ให้เป็นระบบก่อนที่จะ ประกาศตัวออกไปครับ อย่างไรก็ตามเราได้ประสบการณ์เยอะมากจากโครงการนี้แล้วกำลังวางแผนใหม่เพื่อ ให้การดำเนินงานเป็นระบบที่ดีและมีผลสำเร็จใช้งานได้ภายในเวลาที่กำหนดครับ
Patrickz: GotoKnow จะมีอะไรใหม่ๆ บ้าง
Features ที่จะมีเพิ่มนั้น เราวางแผนไว้เยอะเลยครับ เพราะ KnowledgeVolution ไม่ใช่ระบบบล็อกเท่านั้น เราเจตนาจะพัฒนาให้เป็นระบบการจัดการความรู้สำหรับองค์กรและระหว่างองค์กรครับ ดังนั้น features ที่เราจะมีเพิ่มนั้นจะมุ่งเพื่อวัตถุประสงค์นี้เป็นหลักครับ
ในตอนนี้การพัฒนาเริ่มได้ดำเนินการต่อเนื่องเป็นระบบมากขึ้นแล้ว หลังจากเรามี มะปราง (สุนทรี) และ กล้า (สุรกานต์) เข้ามาทำงานเต็มเวลาเพื่อการพัฒนา KnowledgeVolution ครับ อีกไม่นานเราจะเริ่มแนะนำ features ใหม่ๆ ที่อยู่ระหว่างการพัฒนาให้แก่ผู้ใช้ครับ
audy, allizom: GotoKnow จะก้าวต่อไป เดินไปทางไหน และเป้าหมายคืออะไร? อาจารย์อยากให้ GotoKnow เป็นอย่างไรภายในอีก 5 หรือ 10 ปีข้างหน้า
เราทำ GotoKnow เพื่อเป็นเครื่องมือในการจัดการความรู้ระดับประเทศของคนไทยครับ การจัดการความรู้คือการ “แลกเปลี่ยนเรียนรู้” คือ DRY (Don't Repeat Yourselves – โดย yourselves นี้หมายถึง communities ของคนไทยทุกคนครับ) ครับ
ดังนั้นเราอยากให้ GotoKnow เป็นพื้นที่ “แลกเปลี่ยนเรียนรู้” ของคนไทยตลอดไปครับ เราอยากเห็น GotoKnow เติบโตไปเป็นอย่างองค์กรอย่าง PBS หรือ NPR หรือ National Geographic Society ครับ เราจะเป็นองค์กรที่ไม่หวังผลกำไร แต่เลี้ยงตัวเองและมีศักยภาพสูงในการพัฒนาก้าวหน้าสร้างสิ่งใหม่ที่ท้าทายที่มีประโยชน์แก่สังคมไทยและสังคมโลกได้โดยอิสระ เช่นเดียวกับองค์กรทั้งสามแห่งที่เรายึดเป็นต้นแบบครับ
UsableLabs จะเป็น R&D entity ของ GotoKnow ครับ ความตั้งใจสูงสุดของเราคือ เราจะ “สร้างสิ่งที่เป็นไปไม่ได้ให้เกิดขึ้นให้ได้ในสังคมไทยและสังคมโลก” (Make the Impossible Possible) ครับ ไม่ได้หมายความว่าเราเก่งกาจมากมายอะไรครับ แต่เราท้าทาย เพราะเราเป็นกองโจร เราเป็นกลุ่มคนทำงานด้าน IT เถื่อนสี่คนที่จะขอทดลองว่าจะเป็นจะตายยังไงก็ให้รู้กันไปว่า “สิ่งที่เป็นไปไม่ได้” นั้นถ้าเราตั้งใจ “เต็มที่” แล้วจะ “เป็นไปได้หรือไม่” ครับ
UsableLabs ยังเปิดรับ “โจร” ที่ใจหิวโหยหาอิสรภาพ และต้องการสร้างสรรค์สังคมให้ดีขึ้นด้วยสิบนิ้วบนแป้น 101 คีย์ครับ เรา “พัฒนาซอฟต์แวร์เพื่อพัฒนาสังคม” ครับ
ธวัชชัย (ถามตัวเอง): ธวัชชัยกับจันทวรรณ ใครเชี่ยวชาญเรื่อง usability มากกว่ากัน
ดร.จันทวรรณ ครับ เขาเรียนมาโดยเน้นเรื่องนี้มาโดยตรงเลย ส่วนผมเป็นลูกมือครับ
mk: ในประเทศไทยตอนนี้มีคนสนใจเรื่อง usability กันเยอะแค่ไหน โดยเฉพาะภาคการศึกษา
เท่าที่ผมทราบนั้น มีน้อยมากครับ ทั้งๆ ที่เป็นหัวข้อสำคัญในการที่จะทำให้ระบบทุกอย่างที่พัฒนาขึ้นใช้งานจริงได้ครับ
อย่างที่ ม.สงขลานครินทร์ นี้มี ดร.จันทวรรณ เปิดสอนวิชา Human-Computer Interaction (HCI) อยู่คนเดียว แต่เป็นวิชาที่มีนักศึกษาลงทะเบียนน้อยมาก อย่างปีที่แล้วจากทั้งมหาวิทยาลัยมีคนมาลงทะเบียนเพียง 28 คนเท่านั้น แล้วหลายคนมาลงทะเบียนเพราะคำเล่าลือกันไปผิดๆ ว่า “วิชานี้ไม่ต้องเขียนโปรแกรม” อีกต่างหาก
ที่จริงแล้ววิชา HCI นี้สำคัญมาก วิชานี้เป็นวิชาสำหรับคนที่เขียนโปรแกรมได้ดีมากอยู่แล้ว แล้วต้องการให้โปรแกรมที่ตัวเองพัฒนานั้นผู้ใช้สามารถใช้งานได้จริงครับ
โปรแกรมที่โปรแกรมเมอร์อุตส่าห์พัฒนา ถ้าผู้ใช้ไม่ใช้งาน หรือต้องทนใช้งานโดยความจำใจ ความพยายามของเราที่ทุ่มลงไปก็ไร้ประโยชน์จริงไหมครับ
เนื่องจากวิชานี้เป็นวิชาที่สามารถลงทะเบียนได้ทั้งมหาวิทยาลัย ผมคาดหวังว่าในภาคการศึกษาหน้าจะได้เห็นนักศึกษาวิศวกรรมคอมพิวเตอร์และวิทยาการคอมพิวเตอร์ ถือโอกาสที่ ม.สงขลานครินทร์มีสิ่งดีที่มหาวิทยาลัยอื่นไม่ค่อยมีมาลงทะเบียนเรียนกันเยอะๆ นะครับ
allizom: อยากให้อาจารย์ช่วยสรุปหลักการเล็กๆ น้อยๆ ในเรื่อง usability design สำหรับคนทำเว็บพอจะมีอะไรบ้างครับ
เรื่องหลักการ usability โดยเฉพาะการออกแบบเว็บไซต์ที่ดีที่สามารถใช้งานได้ง่ายนั้น รัฐบาลอเมริกันได้ทำไว้ดีมากอยู่แล้วครับ โดยรัฐบาลอเมริกันได้ให้ความสำคัญเรื่อง usability สูงมาก จึงได้จัดทำเว็บไซต์ usability.gov เพื่อเผยแพร่ข้อมูลเกี่ยวกับ usability ครับ ผมจึงขอแนะนำคนไทยให้ไปใช้บริการข้อมูลจากเว็บไซต์นี้ครับ
หนังสือสำคัญที่ผมขอแนะนำให้คนไทย download กันมาจากเว็บนี้คือ Research-Based Web Design & Usability Guidelines ครับ
การให้ความสำคัญกับเรื่อง usability คือเบื้องหลังของความสำเร็จด้าน e-government ของรัฐบาลหลายๆ ประเทศทั่วโลกครับ ถ้าเว็บไซต์ของหน่วยงานภาครัฐใช้งานได้จริง ไม่ได้แค่มีเฉยๆ ความสำเร็จด้าน e-government ก็ย่อมเกิดขึ้นครับ
mk: อยากได้ตัวอย่างการออกแบบ UI ใน GotoKnow.org
Usability เน้นสร้างประสบการณ์ในการใช้งานคอมพิวเตอร์ที่ ease of use, learnability, memorability, satisfaction, and errorless ครับ
GotoKnow ออกแบบโดยใช้ user-centered software development โดยทุก UI elements ที่เรานำมาใช้นั้น เราจะพยายามทำการทดสอบกับผู้ใช้ว่าสามารถบรรลุวัตถุประสงค์ของ usability ได้หรือไม่ครับ หากพบข้อผิดพลาดเราก็จะรีบทำการแก้ไขให้เร็วที่สุดครับ (แต่ที่ผ่านมาเรา “ทำไม่ทัน” บ่อยเหมือนกันครับ)
User-centered software development มีแนวความคิดตรงกับ agile software development อยู่หลายส่วนเหมือนกันครับ ด้วยเหตุนี้เราจึงทำ GotoKnow แบบ “ทำไปใช้ไป” เพราะทำให้เราได้รับ feedback ในการใช้งานกลับมาจากผู้ใช้ในสถานการณ์ใช้งานจริงครับ
โดยรวมแล้ว แนวความคิดในการออกแบบ UI ในแต่ละ elements เราอ้างอิงมาจาก Research-Based Web Design & Usability Guidelines ครับ
mk: มองว่า usability มีความสำคัญในการออกแบบซอฟต์แวร์แค่ไหน ซอฟต์แวร์ไทย (ที่เคยเห็น) ผ่านเกณฑ์เรื่อง usability หรือเปล่า
Usability ของซอฟต์แวร์คือตัวตัดสินว่าซอฟต์แวร์ตัวนั้นจะสามารถใช้งานจริงได้หรือไม่ครับ ซอฟต์แวร์ที่นักพัฒนาพยายามใช้เวลาพัฒนามาแรมปี หากไม่ได้มีการพัฒนาให้มี usability ที่ดีแล้ว ผลลัพธ์ของความพยายามทุ่มเททำงานนั้นอาจจะสูญเปล่าไม่มีค่าเลยครับ
การขาด usability ที่ดีคือสาเหตุที่ทำให้ซอฟต์แวร์ที่พัฒนาไม่สามารถใช้งานได้หรือทำให้ซอฟต์แวร์นั้นต้องเสียเวลาพัฒนาเพิ่มเติมทันทีเมื่อนำส่งงาน การขาด usability ที่ดีคือสาเหตุที่ซ่อนอยู่ที่ส่งผลทำให้ซอฟต์แวร์ไม่สามารถพัฒนาได้เสร็จทันตามกำหนดการครับ
ซอฟต์แวร์ของไทยเท่าที่ผมเคยเห็นมายังขาด usability ที่ดีอยู่มากครับ สาเหตุหลักน่าจะเกิดจากศาสตร์ด้านนี้ไม่ได้รับการสนับสนุนให้ศึกษากันอย่างแพร่หลายในประเทศไทยครับ ดังนั้นผมอยากเห็นนักพัฒนาไทยให้ความสำคัญกับเรื่อง usability มากกว่านี้เพื่อในที่สุดแล้วเราจะได้มีซอฟต์แวร์ที่ พัฒนาโดยคนไทยสามารถใช้งานได้จริงได้ดีมากขึ้นและในที่สุดสามารถก้าวไปสู่ ตลาดซอฟต์แวร์ระดับโลกซึ่งให้ความสำคัญเรื่อง usability เป็นประเด็นหลักครับ
allizom: ถ้าให้อาจารย์เลือกว่าเว็บในประเทศเว็บไหนที่อาจารย์คิดว่าสามารถใช้หลักการ usability ได้ดีที่สุด อย่างไรบ้าง?
คำถามนี้ตอบยากครับ เพราะเรายังไม่ได้ทำ usability analysis ของเว็บในประเทศไทยอย่างเป็นระบบครับ ดังนั้นถ้าผมตอบไปอาจจะให้ข้อมูลได้ไม่ครอบคลุมครับ สิ่งที่ผมจะพอตอบได้ในตอนนี้คือ รับรองไม่ใช่เว็บของกระทรวง ICT แน่นอนครับ
allizom: ถ้าให้อาจารย์เลือกว่า software ในโลกตัวใดที่อาจารย์คิดว่าสามารถใช้หลักการ usability ได้ดีที่สุด อย่างไรบ้าง?
บริษัทที่ลงทุนด้าน usability มากเป็นอันดับต้นๆ ของโลกได้แก่ Google และ Microsoft ครับ ส่วน Apple นั้นไม่ได้มีการประกาศว่าลงทุนด้านนี้มากน้อยเท่าไหร่ แต่ผมเชื่อว่าไม่แพ้ทั้งสองบริษัทข้างต้นแน่นอนครับ
ดังนั้น software ที่มาจากบริษัททั้งสามนี้จะเป็นตัวอย่างของซอฟต์แวร์ที่ใช้หลักการ usability ได้ดีที่สุดครับ ผู้อ่าน Blognone อาจไม่แปลกใจที่ Google และ Apple จัดเป็นบริษัทที่เป็นผู้นำด้าน usability แต่ Microsoft ก็เป็นอีกบริษัทที่เป็นผู้นำด้านนี้ครับ
lopstar: เข้าใจว่า usability ของเว็บใช้งานทั่วไปกับ web application น่าจะมีความต่างกัน แต่ไม่ทราบว่าแตกต่างกันอย่างไร ควรมีแนวทางในการออกแบบอย่างไรครับ โดยเฉพาะอย่างยิ่ง ถ้าจะเปิดโอกาสให้ผู้พิการทางสายตาสามารถใช้งานได้ด้ว
หลักการ usability สำหรับ website และ web applications นั้นแตกต่างกันแน่นอนครับ สำหรับเว็บไซต์สามารถอ่านรายละเอียดได้ที่ Research-Based Web Design & Usability Guidelines ส่วนสำหรับ web applications นั้นยังไม่มีการศึกษาอย่างชัดเจนออกมาเป็น guidelines ครับ ดังนั้นต้องใช้วิธี “ทำไปใช้ไป” หรือ user-centered software development เพื่อจะได้สามารถแก้ไขปัญหาด้าน usability ที่เกิดขึ้นจากการทดสอบกับผู้ใช้จริงครับ
สำหรับการทำเว็บสำหรับผู้พิการทางสายตานั้น ได้มีผู้ศึกษากันไว้ไม่น้อยครับ ผมคิดว่าเริ่มต้นที่ Web Usability Checking for Blind and Vision Impaired ในการพิจารณาว่าเว็บที่เราทำเหมาะสมกับผู้พิการทางสายตาหรือไม่ก็เป็นจุดตั้งต้นที่ดีครับ
ขอบคุณทุกท่านที่ถามคำถามครับ
ธวัชชัย