Forwork

Human ไม่ควรต้องคิดเหมือน System

Complexity ควรเป็นภาระของ system ก่อนจะเป็นภาระของ human

Start With the Human — อย่าเริ่มจาก product ให้เริ่มจากคน
01

Software มัก expose internal model ให้ user

Field, status, permission, object มักสะท้อนวิธีที่ system จัดตัวเอง

User ไม่ควรต้องเรียน architecture ก่อนถึง intention

Internal structure should not automatically become human structure.
02

User ไม่ควรต้องเข้าใจ database เพื่อทำ intention ให้สำเร็จ

การทำ proposal หรือ project ไม่ต้องเข้าใจ record, relation หรือ schema

Internal concept ไม่ควรเป็นเงื่อนไขของ outcome ง่าย ๆ

Users should understand their goal, not your architecture.
03

Internal complexity ไม่ใช่ responsibility ของ user

System ภายในจะ complex ได้

แต่ backend complexity ไม่ควรกลายเป็น interface complexity

Complex systems can still create simple human experiences.
04

Good defaults คือรูปแบบหนึ่งของ empathy

Default ที่ดีลด decision จากศูนย์

มันแสดงว่า system เข้าใจ context

A good default is a small act of understanding.
05

Progressive disclosure ทำให้ complexity มาในเวลาที่เหมาะ

Advanced option ไม่ต้องโผล่ตั้งแต่แรก

แสดงเมื่อ context ทำให้มันมีประโยชน์

Show complexity when it becomes useful, not when it merely exists.
06

Language ของ system ควรใกล้กับ language ของ human

ถ้า user คิดเป็น project ก็ใช้ project ไม่ใช่ object

Naming คือส่วนหนึ่งของ architecture

Use the user’s mental model before asking them to learn yours.
07

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.
08

ถึงตัวฉันเมื่ออยากอธิบาย system แทนที่จะ simplify

ถ้า tutorial ยาวเกินไป ให้ตั้งคำถามกับ design

System อาจ expose logic ที่ควรซ่อน

Do not teach the user your complexity before asking whether they should ever see it.