เบื้องหลัง vote.workpointnews.com เว็บแสดงผลการเลือกตั้งเรียลไทม์ที่หลายคนชื่นชม

การเลือกตั้งในครั้งนี้นับว่าเป็นครั้งแรกของประเทศไทย ที่มีการรายงานผลการเลือกตั้งออนไลน์ (การเลือกตั้งครั้งก่อนเป็นเพียงการนำข้อมูลมาสรุปบนเว็บไซต์)

ซึ่งเว็บไซต์ที่หลายคนพูดถึงแน่นอนว่าเป็น vote.workpointnews.com ที่เป็นการร่วมมือกันระหว่างบริษัททำสื่อ Workpoint News และ CLEVERSE บริษัทซอฟต์แวร์เฮาส์ชื่อดังในวงการ

 

ผลตอบรับจากผลงานเรียกว่าไปในทางที่ดี โดยเฉพาะการทำ data visualization นำข้อมูลอันแสนจะยุ่งเหยิงมาอยู่บนกราฟิกที่เข้าใจง่าย ครบถ้วน และสวยงามแจ่มว้าว เฉียบจนผู้ชมสามารถ capture บางส่วนของเว็บมาโพสต์ลงบน Social Media ของตนเองเพื่อพูดคุยในประเด็นการนับคะแนน

 

วันนี้ผมมีโอกาสได้ฟังคุณ ปัญจมพงศ์ เสริมสวัสดิ์ศรี (ปันเจ) ขึ้นเล่าเบื้องหลังเกี่ยวการทำเว็บไซต์ บนเวทีงาน Code Mania by TPA และพูดคุยหลังงานกันเพิ่มเติม มีหลายจุดน่าสนใจนำมาแชร์ดังนี้ครับ

 

จุดเริ่มต้นจากการเป็น Business Partner

ทาง CLEVERSE เป็นผู้พัฒนาระบบเว็บไซต์ workpointnews.com ให้กับ Workpoint News ที่เรียกว่าทั้งสองบริษัทเป็นพันธมิตรในการทำธุรกิจที่ดีด้วยกันอยู่แล้ว เมื่อ Workpoint News ต้องการที่จะทำหน้ารายงานผลการนับคะแนน จึงมองมาที่ CLEVERSE เป็นเบอร์แรก

คุณปันเจได้เล่าให้ฟังว่า ทั้งโปรเจกต์นี้มีเวลาทำทั้งหมดเพียง 3 สัปดาห์ โดยสัปดาห์แรกเป็นการคุยงาน แลกเปลี่ยนความคิดเห็นเกี่ยวกับ requirement ของระบบ หลังจากนั้นก็จะเหลือเวลาในพัฒนาระบบทั้งหมดเพียง 2 สัปดาห์ โดยใช้ทีมงาน 10 คน

ซึ่งเรียกว่าเป็นค่อนข้างเดือดเหมือนกัน สำหรับงานสเกลนี้เมื่อเทียบกับเวลาทำงาน คอมพิวเตอร์แต่ละเครื่องที่ออฟฟิศเรียกว่าแทบจะเปิดตลอด 24 ชั่วโมง โดยมีทีม developer ผลัดมือกันเข้ามาทำงานและพักผ่อน

 

การทำงานร่วมกันระหว่าง Publisher และ Software House

ทาง CLEVERSE เองจะดูในส่วนของ UI เป็นหลัก และ Content จะ provide มาจากฝั่งของ Workpoint อย่างภาพหกเหลี่ยมหลากสีที่ร่วมกันเป็นรูปประเทศไทย ทาง Workpoint ได้ทำมา ส่วนทาง CLEVERSE จะมีหน้าที่หย่อนข้อมูลลงไปในภาพกราฟิกนั้น

ทางผู้พัฒนาเองต้อง research ข้อมูลกฏหมายเกี่ยวกับการเลือกตั้งค่อนข้างมาก เพื่อที่จะได้เขียนฟังก์ชั่นการคำนวนในแต่ละส่วนได้ถูกต้อง (นึกภาพว่า programmer ต้องไปนั่งอ่าน document การเลือกตั้ง) เพราะทีมงานเองส่วนใหญ่ก็เลือกตั้งครั้งนี้เป็นครั้งแรกด้วย

รวมถึงยังไม่เคยมี referrence การทำ visualization รายงานการนับคะแนนออนไลน์มาก่อนในประเทศไทย แต่ก็ยังพอหา referrence จากต่างประเทศได้บ้าง

จนทาง CLEVERSE รู้สึกว่า เออ เราไม่น่าจะต้องมานั่งทำอะไรแบบนี้ จึงได้ปล่อยชุดฟังก์ชั่นนี้เป็น Open Source ที่ให้นักพัฒนาทุกคนสามารถดาวน์โหลด library นี้ไปใช้กันได้ (ใจดีมากครับ กราบ)

 

ระบบหลังบ้านกับผู้เข้าชมพร้อมกันหลักแสน

  • ข้อมูลตัวเลขจะมาจากทางฝั่ง กกต. ที่พักข้อมูลไว้บนระบบ dttpool** แล้วสื่อแต่ละเจ้ารวมถึง workpoint จะดึงข้อมูลจาก dttpool อีกทีหนึ่ง
  • ทางระบบของ กกต. เองก็จะมีหน่วยเลือกตั้งกว่า 90,000 หน่วย มีทีมงานที่คอยอัปเดตตัวเลขผ่านระบบ ซึ่งเป็น concurrent ในปริมาณที่ค่อนข้างสูง จึงมีบางช่วงที่ dttpool ติดขัด จึงขอให้สื่อดึงข้อมูลในความถี่ที่น้อยลง จากตอนแรกอาจจะดึงทุก 1 นาที เป็นการดึงทุก 5 นาที
  • เว็บไซต์ดึงข้อมูลจาก static file ไม่มี code ที่รันบน Server ไม่ต้องใช้ Server ในการประมวลผลทางฝั่งหลังบ้าน สำหรับรองรับผู้ใช้งานพร้อมกันจำนวนมาก
  • เลือกใช้ CDN** ของ ByteArk ซึ่งเป็น CDN ที่วางเครื่อง Server ไว้ในประเทศไทย เพราะผู้ที่เข้าเว็บนี้เป็นคนไทยอยู่แล้วแน่นอน จึงเสิร์ฟข้อมูลได้ค่อนข้างเร็ว

 

โดยรวมแล้วเว็บไซต์ทำงานได้ดี แต่มีบ้างที่ติดขัดในส่วนของการดึงข้อมูลตัวเลขบ้าง เพราะ Server ของทางฝั่ง กกต. เองต้องรับโหลดในปริมาณค่อนข้างมากจึงมีดีเลย์ในบางช่วง

ซึ่งระบบออนไลน์ในสื่อทุกเจ้ามีติดขัดเหมือนกันหมด เพราะใช้ API ตัวเดียวกัน แต่ที่น่าสนใจคือฝั่งการายงานผลของทีวีช่อง 7 ที่ส่งทีมงานไปลงพื้นที่ในแต่ละจุด สามารถรายงานข่าวได้ลื่นไหลกว่า เรียกว่ามีข้อดี-ข้อเสียและกลุ่มเป้าหมายต่างกันออกไป

dttpool ระบบกลางที่เกิดจากการร่วมมือกันของสื่อไทยหลายเจ้า มีการจัดการเพื่อให้รองรับการดึงข้อมูลจำนวนมาก เพื่อที่สื่อจะมาถึงข้อมูลจากตัวกลางนี้ แทนที่จะดึงจาก กกต. โดยตรง

**CDN (Content Delivery Network) เครือข่ายออกแบบมาสำหรับรับโหลดจากผู้ใช้จำนวนมาก แทนที่จะไปใช้ทราฟฟิกบน Server จริง ทำให้รองรับ bandwidth จำนวนมหาศาลได้

 

เสียงตอบรับจากผู้ใช้

เสียงตอบรับบน Social Media ค่อนข้างดี และมีผู้ใช้จำนวนหลักแสนในคืนนับคะแนน มีหลายคนชมว่าทำ data visualization ได้ดี ภาพสวยงาม ซึ่งก็ต้องยกความดีความชอบส่วนหนึ่งให้กับทาง Workpoint ด้วยเช่นกัน

 

ตอนมีผู้สมัคร สส. ได้คะแนนขึ้นอันดับหนึ่ง จะมีใบหน้าแสดงบนกราฟิกสวยงาม จึงถูก capture ไปโพสต์บ่อย

เรื่องนี้น่าสนใจเพราะ vote.workpointnews.com  เป็นเว็บไซต์เดียวที่มีรูปภาพใบหน้าของผู้สมัคร สส. ในขณะที่เว็บอื่นไม่มี คุณปัญเจเปิดเผยว่าข้อมูลภาพผู้สมัครเป็นข้อมูลที่ กกต. ส่งให้สื่อไปใช้ได้

 

แต่ข้อมูลที่ได้มาไม่ได้พร้อมใช้งาน มีปัญหาเรื่องของขนาดของภาพและคุณภาพของไฟล์ ทำให้ยากทั้งในการคุมตีมและการนำมาวางในกรอบเพื่อให้เข้ากับ layout ของเว็บ

วิธีการแก้ปัญหาคือ ทีมงานต้องเอาภาพทั้งหมดไปรันใน Face Recognition เพื่อหาตำแหน่งของใบหน้าพร้อมกับ crop ในสัดส่วนที่ต้องการนำมาใช้ ซึ่งทำให้สามารถ crop ภาพที่พร้อมใช้ในครั้งเดียว เป็นการแก้ปัญหาแบบ programmer นั่นเอง

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

 

ปัญเจได้กล่าวทิ้งท้ายไว้ว่า อยากจะเห็นภาพการร่วมมือกันระหว่างสื่อและนักพัฒนาแบบนี้อีก ทางเราเองอยากให้ฝั่ง Tech ได้มีส่วนร่วมในการสร้างผลงานที่มีส่วนร่วมในสังคม ทำให้สังคมพัฒนาขึ้นในหลายๆ ด้าน

ยกตัวอย่างจากเว็บไซต์ elect.in.th ผลงานที่มาจากการร่วมมือร่วมใจของสื่อและนักพัฒนาเว็บไซต์ ซึ่งเป็นงาน volunteer ล้วนๆ ที่ออกมาเป็นงานที่สร้างแรงกระเพื่อมในสังคมค่อนข้างมาก อ่านเพิ่มเติมและฟังบทสัมภาษณ์เกี่ยวกับโปรเจกต์นี้ : คุยกับ Elect.in.th สื่อเชิง Data คู่มือการเลือกตั้ง และอนาคตของทุกคน