Theppitak's blog

My personal blog.

23 พฤศจิกายน 2552

On Twitter UI

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

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

ใน blog ก่อน ผมเคยบอกว่า ผมมอง twitter ในฐานะ micro-planet คือใน planet นั้น นอกจากจะเป็นการรวม blog ของสมาชิกมาร้อยเรียงต่อกันแล้ว ยังมีการโต้ตอบระหว่างกันด้วย แต่บังเอิญการโต้ตอบระหว่าง blog ไม่เกิดขึ้นใน planet บ้านเราเท่าไร (เคยเขียนถึงเหมือนกัน) แต่พอเป็น micro-blog อย่าง twitter แล้ว ปรากฏว่ามีการโต้ตอบกันสูงมากจนกลายเป็น chat room กลาย ๆ

แต่ UI ของ twitter ก็มีปัญหาของมัน คือ

  • tweet ที่เป็นข้อความต่อเนื่องกันหลาย tweet ไม่มี reference ถึงกัน เนื่องจาก twitter จำกัดความยาวอยู่ที่ 140 อักขระ เวลาจะ tweet อะไรยาว ๆ จึงต้องแบ่งข้อความเป็นหลาย tweet โดยแต่ละ tweet จะมี URL อ้างอิงได้ แต่ปรากฏว่าในแต่ละ tweet เอง ไม่มีลิงก์ต่อไปยัง tweet ก่อนหน้าหรือถัดไป เช่น เมื่อครั้งที่ผม tweet เป็นกลอน ผมอ้างอิงได้แค่ทีละ tweet เดียว จากนั้น ถ้าจะอ่านตอนต่อไป ก็ต้องไปไล่ควานหาใน timeline ของผม ว่าอยู่ตรงไหน ไม่มีลิงก์ next/previous หรือ archive ของ blog ในเวลาไล่เลี่ยกันให้เหมือนใน blog ทั่วไป สรุปว่า ถ้าจะให้อ้างอิงได้ ก็ต้องเขียนเป็น blog แล้ว tweet แต่ URL ของ blog (แบบนี้)

    ทางแก้: ขอลิงก์ next/previous ในแต่ละ tweet

  • tweet ที่ Reply ถึงกันไม่ค่อยจะมี reference ถึงต้นตอ เรื่องนี้ความจริง web interface ของ twitter ทำได้ โดยใส่ข้อมูล In-Reply-To ไว้ใน tweet แต่ปัญหาคือ client ส่วนใหญ่ไม่รองรับความสามารถนี้ ผู้ใช้ส่วนใหญ่เลยใช้แค่การ reply แบบลุ่น ๆ เหมือน IRC ทำให้เวลามีการอ้างอิงถึง tweet ในเว็บหรือ blog ต่าง ๆ จะเห็นแต่คำตอบ แต่ไม่มี reference ถึงคำถาม

    ระยะหลังเริ่มมีการใช้ธรรมเนียม retweet โดย RT แล้วเติมความเห็นต่อท้าย ทำให้เห็นทั้งคำถามและคำตอบใน tweet เดียว แต่ปัญหาของวิธีนี้ก็คือ เวลาที่ RT ซ้อน ๆ กันหลายทอด จะแยกไม่ออกว่าข้อความไหนเป็นของใคร ตัวอย่างเช่น เวลาที่มี tweet "RT @userB RT @userA คำถาม / คำตอบ" จาก @userC จะแยกไม่ออกว่าคำตอบมาจาก @userB แล้ว @userC แค่ RT ต่อ หรือว่าเป็น @userB ที่แค่ RT @userA แล้ว @userC เป็นคนเพิ่มคำตอบ บางที อาจจะต้องแก้ความกำกวมด้วยการใส่วงเล็บกระมัง?

    ทางแก้: อาจเป็นไปได้หลายแบบ:

    • รองรับ In-Reply-To ในทุก client และผู้ใช้หันมาใช้ feature นี้ในการตอบมากขึ้น โดย client อาจจะทำ thread view จากข้อมูล In-Reply-To นี้ด้วยก็ได้ ก็จะออกมาคล้ายกับ interface ของ facebook ซึ่งผมคิดว่าอ่าน-ตอบสะดวกกว่ากันมาก
    • ผู้ใช้ใช้ RT กันต่อไป แต่กำหนดรูปแบบนิพจน์ใหม่ให้แยกความกำกวมได้ดีกว่านี้ เช่น เมื่อ retweet "ข้อความ" จาก @userA :
      • retweet เป็น "RT @userA (ข้อความ) ความเห็นเพิ่มเติมopt" ซึ่งตามตัวอย่างข้างบน ถ้าเป็นกรณีที่ @userB เป็นคนเพิ่มความเห็น ก็จะกลายเป็น "RT @userB (RT @userA (คำถาม) คำตอบ)" แต่ถ้าเป็น @userC ที่เพิ่มความเห็น ก็จะกลายเป็น "RT @userB (RT @userA (คำถาม)) คำตอบ" เป็นต้น
      • อาจสังเกตว่า วงเล็บเปิดในแบบแรกนั้นไม่จำเป็น แค่ใส่เครื่องหมายปิดท้ายต้นฉบับทุก retweet ก็พอแล้ว ก็อาจจะ retweet เป็น "RT @userA ข้อความ / ความเห็นเพิ่มเติมopt" โดยตามตัวอย่างข้างบน ถ้าเป็นกรณีที่ @userB เป็นคนเพิ่มความเห็น ก็จะกลายเป็น "RT @userB RT @userA คำถาม / คำตอบ /" แต่ถ้าเป็น @userC ที่เพิ่มความเห็น ก็จะกลายเป็น "RT @userB RT @userA คำถาม / / คำตอบ" เป็นต้น (แต่มันอ่านยากกว่าแบบใช้วงเล็บมะ?)
    โดยส่วนตัวแล้ว ผมชอบวิธีการใช้ In-Reply-To มากกว่า (โดยถ้าทำเป็น thread view ได้ด้วยจะดีมาก) ทั้งนี้ ก็ต้องขึ้นอยู่กับผู้ใช้ด้วย ว่าจะหันมาใช้ Reply กันมากขึ้นหรือเปล่า แล้วใช้ Retweet แบบของ twitter web สำหรับการ retweet แบบไม่มีความเห็นต่อเติมเท่านั้น

คงมีเท่านี้ก่อน ซึ่งในที่นี้ขอพูดเฉพาะ UI factor เท่านั้น ยังไม่พูดถึง user factor ในส่วนของผมเอง :-)

ป้ายกำกับ: , ,

27 มีนาคม 2551

Planet as a Community

จาก blog เรื่อง bazaar กับ social network เร่ร่อน ก็เลยต่อเนื่องมาถึงประเด็นการใช้ planet ของเรา

ผมคิดจะเขียนเรื่องนี้มานานแล้ว แต่งานยุ่ง ๆ เลยไม่ได้ลงมือเรียบเรียงความคิดจริงจังเสียที ได้แต่ร่างทิ้งไว้แล้วก็ไม่ได้เขียนต่อ ต่อไปนี้คือข้อสังเกตของ planet ต่าง ๆ ในบ้านเรา

สั้น ๆ คือ ผมรู้สึกว่าเราใช้ planet กันแค่เป็น news reader เท่านั้น ยังไม่ใช่สิ่งที่ planet จะทำประโยชน์ได้อย่างแท้จริง

คือเราก็แค่รวม feed ของทุกคนมาให้อ่านได้ง่าย ๆ เหมือนที่ใช้ google reader อยู่แล้วหรือเปล่า? ซึ่งเว็บข่าวที่เรารับ feed นั้น บางเจ้าอยากให้คนคลิกเข้าไปอ่านที่เว็บด้วย เพื่อเพิ่ม hit rate ก็จะ feed แค่ teaser แล้วมีลิงก์ให้อ่านต่อ เอ.. คุ้น ๆ หรือเปล่า? ถ้าจะใช้ Planet อย่างชุมชนอื่น ๆ เขา น่าจะต้องมีลักษณะอย่างนี้ จากการสังเกต:

  • มีเป้าหมายอะไรบางอย่างร่วมกัน เช่น Planet GNOME ก็เน้นเรื่อง GNOME อาจมีสัพเพเหระบ้างก็ถือเป็นเรื่อง life style ของสมาชิก แต่บรรยากาศก็จะเหมือนห้องนั่งเล่นที่คนกลุ่มเดียวกันมานั่งคุยกัน
  • feed ต้องมาจากการสมัครเข้าร่วมของสมาชิก เพราะเขาต้องสมัครใจเข้ามาพูดคุยกับคนอื่นเอง ถ้า admin แอบเพิ่ม feed เองโดยเจ้าของ feed ไม่รู้ นั่นก็เรียกว่า news aggregator ไม่ใช่ Planet ละ
  • feed ควรจะ feed เนื้อหาเต็ม ๆ หรือถ้าเป็น teaser ก็ควรจะได้ใจความตั้งแต่อ่าน teaser เพราะเอาไว้ใช้พูดคุยกัน คือทำบรรยากาศให้คล้ายเว็บบอร์ดมากที่สุด ไล่อ่านแล้วรู้เรื่องในคราวเดียว ไม่ต้องคลิกไปอ่านต่อ
  • สมาชิกควรจะเข้าอ่าน Planet เป็นประจำ หรือบ่อย ๆ เพราะอาจมีใครพูดถึงคุณใน blog เขา ก็จะได้รู้ตัวและโต้ตอบ หรือถ้าคุณมีความเห็นเพิ่มเติมใน blog ของคนอื่น ก็สามารถตอบ blog ด้วย blog ได้ โดยไม่จำเป็นต้องเข้าไปสมัครสมาชิกใน blog ของสมาชิกเพื่อจะโพสต์ความเห็นอีก (แต่ถ้าจะตามไปแสดงความเห็นใน blog ก็ย่อมได้ ตามอัธยาศัย)

มีบาง planet เหมือนกัน ที่ใช้ teaser feed เช่น Planet MySQL, Planet PostgreSQL เนื่องจากมี feed บทความจากวารสารมาด้วย ส่วน planet อื่น ๆ ที่รวม feed สมาชิกล้วน มักจะใช้ feed เต็ม ไม่ว่าเนื้อหา blog จะยาวแค่ไหนก็ตาม เช่น:

เกี่ยวกับแนวของเนื้อหา บาง planet มีข้อกำหนดไว้กว้าง ๆ เช่น

  • แนวทางของ Planet Debian คือ ต้องเป็นภาษาอังกฤษ และห้ามก่อความรำคาญให้กับผู้อื่น เนื้อหาไม่จำเป็นต้องเกี่ยวกับ Debian แต่ถ้าเกี่ยวก็จะดี
  • แนวทางของ Planet Ubuntu คือ ห้ามโพสต์ความลับของบริษัท, ต้องไม่ละเมิด Ubuntu Code of Conduct และต้องเป็นภาษาอังกฤษ

ใครละเมิดข้อกำหนด ก็จะมีมาตรการจัดการกำหนดไว้

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

ป้ายกำกับ: ,

26 มีนาคม 2551

Bazaar Ruined by Volatile Social Networks?

ดูท่าการล่มสลายของเครือข่ายเดิมใน LTN Forum จะกู่ไม่กลับซะแล้ว นอกจากจะเกิดการ "วงแตก" ไปตั้งเว็บใหม่ ๆ และคลับใหม่ ๆ แล้ว ยังมีการแยกวงกันคุยไปตามที่ต่าง ๆ อีกด้วย ไม่ใช่แค่ IRC (ที่หลายคนมีปัญหาในการเข้า) แต่ยังกระจายไปตาม social network ต่าง ๆ ซึ่งก็ฮือกันไปเป็นพัก ๆ ตามกระแสของใหม่ ทิ้งของเก่าร้างไว้ไปเรื่อย ๆ (หรือมีสักกี่คนที่เข้า social network ที่ตัวเองสมัครไว้ครบทุกตัวตลอดเวลา?)

จาก LinkedIn มา Facebook, Multiply, twitter ใครตามได้ก็ตามกันไป ใครไม่ตามก็ขาดการติดต่อไป เวลาที่มีข่าวคราวการพัฒนาที่ต้องการระดมคน ก็หาที่ที่เป็นศูนย์กลางกระจายข่าวได้ยาก

ก็เลยน่าสงสัยว่า ท่ามกลางปรากฏการณ์การแตกกระสานซ่านเซ็นแบบนี้ เราจะสร้าง bazaar สำหรับการพัฒนาโอเพนซอร์สขึ้นมาใหม่ด้วยวิธีไหน จึงจะไม่เป็นน้ำซึมบ่อทราย ต่างคนต่างทำ?

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

ปล. สำหรับสมาชิก Planet TLWG ที่อาจจะพบว่า feed ของตัวเองไม่ update ก็ขอแจ้งว่า ระยะนี้ LTN มีปัญหาเรื่องแบนด์วิดท์และเส้นทางเครือข่ายพอสมควร โดยเฉพาะเส้นทางออกต่างประเทศ จึงมีปัญหาในการติดต่อต่างประเทศแทบทุกช่องทาง ไม่ว่าจะเป็นเมล, เว็บ, FTP รวมทั้งการ update feed จาก blog ต่างประเทศของ planet ด้วย ผมเลยแอบทำ Planet TLWG สำรอง ไว้ที่ debianclub ซึ่งจะ update ไม่ถี่เท่า LTN แต่ก็ได้ feed มาครบกว่า และคิดว่า ในอนาคต คงต้องหาทางขยับขยาย ย้ายบริการ LTN ออกไปไว้ที่อื่น หรือไม่ก็ใช้โฮสต์อื่นเป็นพี่เลี้ยงบ้าง อย่างเช่น debian mirror ตอนนี้ก็อาศัย debianclub ป้อนให้อยู่

ป้ายกำกับ: , ,

25 กันยายน 2550

Developer Community

หลังจากคุยผ่านเมลเกี่ยวกับการ hack ภาษาไทยใน KDE/Qt4 มาพักหนึ่ง อ๊อทก็เสนอว่าควรคุยกันในที่สาธารณะให้คนอื่นรับรู้ด้วย ผมเสนอให้คุยที่ devel forum ของ LTN แต่การที่จะย้ายที่คุยจากเมลไปเว็บมันคงลำบากพอดู และไม่ต่อเนื่องด้วย อ๊อทก็เลยสร้าง thai-linux-foss-devel list แล้ว forward เมลไปคุยต่อที่นั่น

เราเคยมี รวมการเฉพาะกิจ Firefox มาแล้ว คราวนี้ถึงคราว Qt4 บ้าง ไม่รู้คนเดิมยังสนใจอยู่หรือเปล่า เห็นคุณวีร์เคย blog ไว้ หลาย ยก เลย

พอพูดถึงเรื่องรวมการเฉพาะกิจนี่ มันก็ตื่นเต้นดีนะ ที่นาน ๆ มาสุมหัวกัน hack ทีเป็นเรื่อง ๆ ไป แต่ถ้ามีที่ที่คุยกันได้ตลอดเวลา ไม่ต้องระดมพลบ่อย ๆ ก็น่าจะดี อย่างบางทีเป็นเรื่องเล็ก ๆ และอีกอย่าง ใครจะติดตามความคืบหน้าจะได้ไม่ต้องตามที่โน่นทีที่นี่ที

มีทางเลือกอะไรบ้าง?

  • LTN devel forum เข้ากับ forum อื่น ๆ ของ LTN ดี แต่ปัญหาคือ นักพัฒนามักจะคุยผ่านเมลมากกว่าเช็กเว็บบอร์ด
  • thai-linux-foss-devel list สะดวกตรงที่มีทั้งเมลทั้งเว็บเสร็จสรรพ เวลาจะ forward จาก list อื่นมาคุยต่อก็ง่าย ต่อเนื่องดี จะ Cc: เพิ่มถึงคนที่เกี่ยวข้องก็สบาย เข้ากับลักษณะการทำงานของนักพัฒนาพอดี
  • Planet TLWG ไม่ต้องรวมอะไรหรอก ใครมีอะไรก็ blog เล่ามาเลย แล้วก็คุยกันผ่าน Planet นี่แหละ เหมือนที่หลาย ๆ ชุมชนเขาทำกัน (เช่น Planet GNOME, Planet Debian, Planet Ubuntu) แต่มีคำถามคือ ปัจจุบันเราใช้ Planet ทำอะไร? คล้าย feed reader หรือ news aggregator มากกว่าเป็นชุมชนไหม? รายละเอียดเรื่องนี้ต้องพูดกันยาว ไว้ blog ต่างหากอีกที แต่สรุปว่า Planet ยังตอบสนองเรื่องชุมชนได้แค่ระดับหนึ่งเท่านั้น ยังไม่เต็มอัตราอย่างที่มันควรทำได้

สรุป เท่าที่ดู ๆ แล้ว mailing list น่าจะดีที่สุด ส่วน Planet ก็เป็นทางเลือกที่ดี แต่อาจต้องปรับลักษณะการใช้งานสักหน่อย ถ้าจะทำให้มันดูเป็นชุมชนจริง ๆ ส่วน webboard/forum ดูจะเข็นยาก

ป้ายกำกับ: , ,

05 สิงหาคม 2550

Pidgin deb?

sothorn.org บล็อกว่า:

"...ตอนนี้ Pidgin ออกเวอร์ชัน 2.1.0 ออกมาแล้ว ทาง Pidgin ไม่ได้ทำแพ็กเก็จสำหรับ Debian หรือ Ubuntu มาให้

"ทำไงดีล่ะครับ ก็ต้องคอมไพล์เอง..."

บน debian sid:

$ dpkg -l pidgin
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name           Version        Description
+++-==============-==============-============================================
ii  pidgin         2.1.0-1        multi-protocol instant messaging client

(ตอบ blog ด้วย blog ก็กลายเป็นการคุยกันผ่าน Planet ละ เห็นทำเป็นประเพณีกันหลายที่)

ป้ายกำกับ: ,

05 กุมภาพันธ์ 2550

Notes on the new Planet

บันทึกช้าไปไหมนี่ เกี่ยวกับ Planet TLWG โฉมใหม่ที่แอบทำไปเมื่อเดือนที่แล้ว หลังกลับจากเซ็ตเครื่องและพบ Debian Developer ที่กรุงเทพฯ

คราวนี้ใช้ planet จาก debian etch แทนตัวที่ลงจาก source ที่คุณพูลลาภเคยทำไว้ในรุ่นก่อน หลังจากที่เขามีให้แล้วใน debian ปรากฏว่า planet รุ่น 2 นี้ มีการปรับปรุงการ parse feed มากพอควร ทำให้ patch ต่างๆ ที่เคยทำไป ไม่จำเป็นต้องใช้อีกแล้ว ยกเว้นการใช้ localtime แทน UTC เท่านั้น

และเพื่อใช้กับเว็บ LTN รุ่นที่ 3 เลยตกแต่งหน้าตา planet เสียใหม่ แต่ยังไม่มีเวลาพอจะเปลี่ยนโครงสร้างอะไรมากมาย ก็ปรับแต่ง CSS stylesheet แล้วก็เปลี่ยนแถบหัวเรื่อง โดยอาศัยภาพที่เป็น public domain จาก Wikipedia:

ก่อนทำ:

Planet TLWG, Before

หลังทำ:

Planet TLWG, After

รูปภาพโลกที่มีระดับชั้นบรรยากาศ เอามาจากหน้า Earth ส่วนรูปเพนกวินจักรพรรดิ์ เอามาจากหน้า Penguin (รูปนี้เคยได้รับการคัดเลือกให้เป็น Picture of the Day มาแล้วถึง 3 ครั้ง ก็สมควรอยู่นะ ตอนหารูปก็รู้สึกสะดุดตารูปนี้ที่สุด) แล้วเอามาแต่งด้วย gimp ก่อนเอามาแปะในแถบพาดหัว ส่วนข้อความ "Planet TLWG" นั้น ใช้ฟอนต์ URW Palladio L ซึ่งอยู่ในแพกเกจ gsfonts ใช้ license แบบ GPL

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

ป้ายกำกับ: ,

hacker emblem