Cognitive Overload

Teerayut Hiruntaraporn
2 min readMay 25, 2021

--

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

เคยไหมครับที่เวลาที่เราเจอใครสักคนเอาสไลด์ที่อัดไปด้วยข้อมูลตระการตา มาใส่เรา แต่สุดท้ายเรากลับจำอะไรกับมันไม่ได้เลย

เคยไหมครับที่เวลาเราเขียนโปรแกรม แล้วไปดูโค้ดใครสักคนที่มันอัดแต่ตัวแปรที่ไม่รู้ความหมาย อัด function เดียวมา 1000 กว่าบรรทัด แล้วรู้สึกเหนื่อยกับการไล่โค้ด

ทั้งหมดนี้มันมีที่มาที่เหมือนกันครับ คือสิ่งที่เรียกว่า Cognitive Overload

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

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

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

cr: https://www.invisionapp.com/inside-design/design-for-the-human-brain/

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

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

cr: Effective Presentation Skill, Dr. Francis Lilley

ภาพตัวอย่างการนำเสนอของ Steve Job มีวัตถุประสงค์ที่ชัดเจน ในหน้าที่นำเสนอว่า ตอนนี้มีคน download app ที่เป็น Game/Entertainment ไปแล้ว 1.5 พันล้านครั้ง

cr: http://echopresentations.blogspot.com/

อีกตัวอย่าง โค้ด 2 ข้างให้ผลลัพธ์การทำงานที่เหมือนกัน แต่วิธีเขียนแตกต่างกัน แต่ฝั่งซ้ายเชื่อว่าจะมีการประมวลผลในใจเพื่อที่จะหาว่าบริเวณที่ เป็น switch นั้นทำอะไร ขณะที่ฝั่งขวาการเขียนให้สอดคล้องไปตามภาษาอังกฤษช่วยให้เข้าใจง่ายขึ้นกว่า

CR: https://dev.to/gonedark/writing-clean-code

เรื่องของระดับของ Detail ก็น่าสนใจ ถ้าเราต้องดูแล component ที่มีหลายตัว ถ้าทุกๆ ตัวต้องลงรายละเอียดไปถึงระดับล่าง มันก็จะมีข้อมูลมากมายที่ขึ้นมาเต็มไปหมด ก็จะเกิดเหตุการณ์เดียวกัน

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

ภาพแรก ก็จะเป็นการแสดงข้อมูลแบบ table ที่พยายามจะแจกแจงรายละเอียด ขณะที่อีกภาพก็จะโฟกัสไปเลยว่า สี่เหลี่ยมแต่ละกล่องคือ entity ถ้าสีเขียวแสดงว่าดี โดยไม่ต้องรู้ว่าแต่ละกล่องชื่อเสียงเรียงนามอะไร บ้าง

cr: https://uxdesign.cc/designing-a-complex-table-for-mobile-consumption-nom-7472f7b11fe6
cr: https://www.landisgyr.com.au/product/grid-monitoring-module/

ในเรื่องของพฤติกรรมของมนุษย์ มีกฏอยู่ตัวหนึ่งชื่อว่า Hick’s laws กฎข้อนี้กล่าวไว้ว่า

เมื่อเราเพิ่มตัวเลือกให้ผู้ใช้มากขึ้น การตัดสินใจจะใช้เวลามากขึ้นเป็น Logarithm Scale

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

cr: https://www.conversion-uplift.co.uk/glossary-of-conversion-marketing/hicks-law/

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

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

ดังนั้น คำแนะนำสำหรับการที่เราจะจัดการข้อมูลให้ลด Cognitive OverLoad ได้นั้น ในภาพรวมๆก็จะมีดังนี้ครับ

  • Content มีโฟกัส มีเป้าหมายที่ชัดเจน
    ถ้าเป็น Presentation น่าจะเคยได้ยินหลักการของ 1 Main Idea / Slide
    ถ้าเป็นการเขียนโค้ด น่าจะเคยได้ยินในเรื่องของ Single Responsibility
  • Detail เหมาะสม
    ถ้า content แสดงภาพรวม detail ก็จะเน้นสิ่งที่จำเป็นไม่กี่ตัว
    ถ้า content เจาะ ก็สามารถแสดงรายละเอียดได้เพิ่ม
  • ตัวเลือกไม่เยอะเกินไป

--

--

Teerayut Hiruntaraporn
Teerayut Hiruntaraporn

No responses yet