Human ไม่ควรต้องคิดเหมือน System
Complexity ควรเป็นภาระของ system ก่อนจะเป็นภาระของ human
Start With the Human — อย่าเริ่มจาก product ให้เริ่มจากคน
Software มัก expose internal model ให้ user
Field, status, permission, object มักสะท้อนวิธีที่ system จัดตัวเอง
User ไม่ควรต้องเรียน architecture ก่อนถึง intention
Internal structure should not automatically become human structure.
User ไม่ควรต้องเข้าใจ database เพื่อทำ intention ให้สำเร็จ
การทำ proposal หรือ project ไม่ต้องเข้าใจ record, relation หรือ schema
Internal concept ไม่ควรเป็นเงื่อนไขของ outcome ง่าย ๆ
Users should understand their goal, not your architecture.
Internal complexity ไม่ใช่ responsibility ของ user
System ภายในจะ complex ได้
แต่ backend complexity ไม่ควรกลายเป็น interface complexity
Complex systems can still create simple human experiences.
Good defaults คือรูปแบบหนึ่งของ empathy
Default ที่ดีลด decision จากศูนย์
มันแสดงว่า system เข้าใจ context
A good default is a small act of understanding.
Progressive disclosure ทำให้ complexity มาในเวลาที่เหมาะ
Advanced option ไม่ต้องโผล่ตั้งแต่แรก
แสดงเมื่อ context ทำให้มันมีประโยชน์
Show complexity when it becomes useful, not when it merely exists.
Language ของ system ควรใกล้กับ language ของ human
ถ้า user คิดเป็น project ก็ใช้ project ไม่ใช่ object
Naming คือส่วนหนึ่งของ architecture
Use the user’s mental model before asking them to learn yours.
Good technology ดูดซับ complexity แทนการโยนให้ human
System ควรเชื่อม data รักษา context เลือก default และ manage state
Human ควรโฟกัส intention, judgment, meaning
Good technology absorbs complexity instead of exporting it to the user.
ถึงตัวฉันเมื่ออยากอธิบาย system แทนที่จะ simplify
ถ้า tutorial ยาวเกินไป ให้ตั้งคำถามกับ design
System อาจ expose logic ที่ควรซ่อน
Do not teach the user your complexity before asking whether they should ever see it.