February 15, 2023

สิ่งที่เรียนรู้จากหนังสือ storytelling with data

(วันนี้จะมาพูดถึงเล่มนี้)

ชีวิตผ่านมาถึงตอนนี้ เราน่าจะได้ผ่าน presentation มาเป็นพันแล้วมั้ง

มันก็มีดีบ้างแย่บ้างปนๆไป
เราเคยแชร์ภาพรวม วิธีทำให้ presentation ดีขึ้นไว้ที่นี่

แต่ทีนี้เนี่ยเรายังไม่เคยลงรายละเอียด

เช่น ใน presentation นึง แต่ละ slide อาจจะเป็น bullet point, chart หรือ table หรืออะไรก็แล้วแต่
เพื่อที่จะสื่อข้อมูลให้คนรับฟัง
อะไรมันดีหรือไม่ดีบ้างยังไม่เคยมานั่งคิดจริงๆ

พอดีมีหนังสือดีๆเล่มนึง ชื่อ storytelling with data
เขียนโดยคนชื่อ Cole Nussbaumer Knaflic
ซึ่งเจาะเรื่องการแสดงข้อมูลเยอะอยู่
เราเลยมาสรุปหนังสือเล่มนี้ให้ฟังคร่าวๆ

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


สรุปหนังสือคร่าวๆ


หนังสือนี้มี 10 บทนะ สารบัญคือประมาณนี้ มันก็ครอบคลุมหลายๆเรื่อง เช่น

  • เราต้องใส่ใจว่า เป้าหมายของ presentation เราคือ อะไร ผู้ฟังคือใคร เราต้องการสื่ออะไร ต้องวางแผนก่อนยังไง
  • ข้อดีข้อเสียและสถานการณ์ไหนเหมาะจะแสดงข้อมูลแบบไหนบ้าง ซึ่งวิธีแสดงข้อมูลก็มีหลายวิธีแต่ละอันหน้าตาเป็นประมาณนี้ (อันนี้เอามาจากที่ผู้เขียนแชร์เลย)
  • มีเรื่อง วิธีการทำให้การแสดงข้อมูล รกน้อยลง ด้วยการนำหลักจิตวิทยาที่ชื่อ gestalt มาช่วย
  • มีวิธีไหนบ้างที่จะดึงความสนใจไปส่วนใดส่วนนึงของข้อมูล ไม่ว่าจะเป็นเรื่องสี เรื่องขนาด หรือเรื่องตำแหน่งของข้อมูล ฯลฯ แทนที่จะแค่แสดงข้อมูลทั้งหมด ก็อย่าลืมหาจุดโฟกัสในสิ่งที่เราต้องการสื่อสารด้วย
  • วิธีคิดแบบ designer ซึ่งกึ่งๆ สอน user experience นิดนึง คลอบคลุมเรื่องเช่น
    • affordance = แสดงข้อมูล ให้คนมองเห็นในสิ่งที่เราอยากสื่อให้ง่ายที่สุด เหมือนเช่น เวลาเราเห็นลูกบิดประตูซึ่งออกแบบมาให้บิด เราก็ทำอะไรกับลูกบิดไม่ได้เท่าไรนอกจากจะบิดมัน
    • accessibility = แสดงข้อมูล ให้เข้าถึงคนวงกว้างที่สุด เช่น การเลือกสี หรือการหลีกเลี่ยงศัพท์วิชาการ
    • aesthetic = แสดงข้อมูล ให้เห็นแล้วรู้สึกว่าสวยงาม
  • มีสอนเรื่องวิธีการเล่าเรื่องราวที่น่าสนใจ ว่ามันต้องแสดงให้เห็นปัญหา ต้องแสดงให้เห็น solution และมี call to action ชัดเจนให้คนฟังทำอะไรหลังจากฟังเรื่องราว
นอกจากเนื้อหาความรู้แล้ว ในหนังสือก็มีการเอาตัวอย่างการแสดงข้อมูลมาวิเคราะห์ ว่าที่มันดีเนี่ย มันมีดีอะไรยังไงบ้าง หรือ ตัวอย่างการออกแบบ presentation ตั้งแต่ต้นจนจบ

ประมาณเนี้ยแหละ


รีวิว


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

ส่วนตัวคิดว่าบทที่ 2 (choosing an effective visual), 3 (clutter is your enemy), และ 4 (focus your audience's attention) มีอะไรที่นำไปใช้ได้เยอะสุดและเนื้อหาแน่นสุด

และบทที่ 6 (dissecting model visuals) กับ 8 (pulling it all together) ก็ถือเป็น format ที่อ่านแล้วก็รู้สึกสนุกดี ได้เห็นว่า คนที่เก่งๆด้านนี้เค้าคิดอะไรบ้างเวลาออกแบบ

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

แต่โดยรวมเราว่าคุ้มค่าราคาแหละนะ


สิ่งที่กลั่นกรองมาได้จากหนังสือเล่มนี้


แต่ละคนที่อ่านหนังสือเล่มนี้คงได้อะไรที่ต่างกันนะ

สำหรับเราสิ่งที่เรียนรู้สรุปเป็นประโยคเดียวออกมา คือ "จงใช้การแสดงข้อมูลที่ simple ที่สุด เพื่อที่จะสื่อข้อความ"

จากเป้าหมายนั้น เราก็จะได้วิธีคิดเป็นประมาณดังต่อไปนี้

เราสามารถมองข้อมูลเป็นตารางหลายๆมิติได้ เช่น

  • มิติที่ 1 ราคา
  • มิติที่ 2 ชนิดของสินค้า
  • มิติที่ 3 บริษัทที่ขายสินค้า
  • มิติที่ 4 ปี พศ อะไร
  • มิติที่ 5 เราอยากย้ำว่ายอดขายของบริษัทเราแย่ลง

ฯลฯ

แล้วเราก็สามารถมองการแสดงข้อมูลเป็นหลายๆมิติได้ เช่นกัน เช่น

  • มิติที่ 1 ตำแหน่งของจุดต่างๆใน แกน x
  • มิติที่ 2 ตำแหน่งของจุดต่างๆใน แกน y
  • มิติที่ 3 ข้อความ
  • มิติที่ 4 สีของข้อความ
  • มิติที่ 5 ตำแหน่งของ bar ต่างๆใน chart
  • มิติที่ 6 ความหนาของ bar ต่างๆใน chart
  • มิติที่ 7 สีของ bar ต่างๆใน chart
  • มิติที่ 8 ความเข้มของสีใน bar ต่างๆใน chart
  • มิติที่ 9 สีกรอบของ bar ต่างๆใน chart
  • มิติที่ 10 กล่องล้อมรอบข้อมูล
  • มิติที่ 11 title ของสไลด์

ฯลฯ

จะเห็นว่าวิธีการแสดงข้อมูลมันมีตัวเลือกมากมาย มากกว่าข้อมูล
โจทย์ก็เลยคือ ให้เอามิติของข้อมูล มา map กับมิติต่างๆของการแสดงข้อมูล
เพื่อให้สิ่งที่เราอยากสื่อสารเข้าใจง่ายสุดสำหรับคนรับฟัง

ซึ่งหลักๆ การใช้มิติให้น้อยที่สุดเท่าที่เป็นไปได้ เพื่อลดความรก มักจะเป็นทางเลือกที่ดี


ตัวอย่าง

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

สถานการณ์คือ บางทีโปรแกรมของเรามันจะช้า
แล้วในฐานะโปรแกรมเมอร์ เราอยากรู้ว่ามันช้าตรงไหน
เราก็จะเก็บข้อมูลเวลาโปรแกรมเรามันรัน แล้วก็จะได้สิ่งที่เรียกว่า flamegraph หน้าตาประมาณนี้

(ภาพแคปมาจากรูปนี้ ซึ่งอยู่ในบทความนี้)

จากตัวอย่างนี้

มิติของข้อมูล คือ

  • มิติที่ 1 function อะไร
  • มิติที่ 2 function เขียนด้วยภาษาอะไร
  • มิติที่ 3 function รันใน kernel หรือ user space
  • มิติที่ 4 function ไหนเรียก function ไหน
  • มิติที่ 5 function ไหนใช้ cpu เยอะสุด

ฯลฯ

ซึ่งการใช้ flamegraph มัน map มิติข้อมูลกับการแสดงข้อมูลแบบนี้

  • มิติที่ 1 function อะไร แสดงด้วยตัวหนังสือข้อความภายใน bar
  • มิติที่ 2 function เขียนด้วย java จะเป็นสีเขียว ส่วน c++ เป็นสีเหลือง
  • มิติที่ 3 function ที่รันใน kernel เป็นสีส้ม ที่รันใน user เป็นสีแดง
  • มิติที่ 4 ถ้ามี bar วางทับกัน bar ข้างใต้คือ function ที่เรียก ส่วน bar ข้างบนคือ function ที่โดนเรียก
  • มิติที่ 5 function ที่ใช้ cpu เยอะ bar จะมีขนาดกว้างกว่า

ฯลฯ

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

ก็แค่เอามิติต่างๆมาลอง map กัน
แล้วก็ลองผิดลองถูกไปเรื่อยๆมันก็ได้แล้ว


สรุป


สรุปแนะนำนะๆ หนังสือเล่มนี้ :) เนื้อหามันแน่นกว่าที่สรุปไว้เยอะ

และก็หวังอีกอย่างว่า สิ่งที่เรากลั่นกรองออกมา มันช่วยให้คนอื่นคิดเรื่องนี้ง่ายขึ้นด้วยนะ

สำหรับบทความที่เราเคยเขียนเกี่ยวกับการทำ presentation ที่ดี ถ้าสนใจก็เข้าไปดูที่นี่นะ (https://itisaverygood.blogspot.com/2017/02/good-presentations.html)