Human は System のように考える必要はない
Complexity は human より先に system が引き受けるべきだ。
Start With the Human — Product からではなく、人から始める。
Software は internal model を user に expose しがちだ
Field、status、permission、object は system 自身の整理方法であることが多い。
User が intention 前に architecture を学ぶべきではない。
Internal structure should not automatically become human structure.
User は intention のために database を理解する必要はない
Proposal や project のために record、relation、schema を理解する必要はない。
Internal concept を simple outcome の条件にしない。
Users should understand their goal, not your architecture.
Internal complexity は user responsibility ではない
System の内部は complex でもよい。
Backend complexity を interface complexity にしない。
Complex systems can still create simple human experiences.
Good defaults は empathy の一形態
Good default はゼロからの decision を減らす。
System が context を理解しているということだ。
A good default is a small act of understanding.
Progressive disclosure は complexity を正しい時に出す
Advanced option は最初から全部見せなくてよい。
Useful になった時に complexity を出す。
Show complexity when it becomes useful, not when it merely exists.
System language は human language に近くあるべき
User が project で考えるなら object を強制しない。
Naming は architecture の一部だ。
Use the user’s mental model before asking them to learn yours.
Good technology は complexity を absorb し export しない
System は data を connect し context を preserve し default と state を扱う。
Human は intention、judgment、meaning に集中する。
Good technology absorbs complexity instead of exporting it to the user.
System を説明したくなった時の私へ
Tutorial が長くなるなら design を疑う。
Expose しなくてよい internal logic かもしれない。
Do not teach the user your complexity before asking whether they should ever see it.