Forwork

Human은 System처럼 생각할 필요가 없다

Complexity는 human보다 먼저 system이 감당해야 한다.

Start With the Human — Product가 아니라 사람에서 시작하라.
01

Software는 internal model을 user에게 expose하기 쉽다

Field, status, permission, object는 system 자체의 조직 방식일 때가 많다.

User가 intention 전에 architecture를 배울 필요는 없다.

Internal structure should not automatically become human structure.
02

User는 intention을 위해 database를 이해할 필요가 없다

Proposal이나 project를 위해 record, relation, schema를 이해할 필요가 없다.

Internal concept가 simple outcome의 조건이 되면 안 된다.

Users should understand their goal, not your architecture.
03

Internal complexity는 user responsibility가 아니다

System 내부는 complex할 수 있다.

Backend complexity를 interface complexity로 만들지 말자.

Complex systems can still create simple human experiences.
04

Good defaults는 empathy의 한 형태다

Good default는 처음부터 해야 하는 decision을 줄인다.

System이 context를 이해했다는 뜻이다.

A good default is a small act of understanding.
05

Progressive disclosure는 complexity를 필요한 순간에 보여준다

Advanced option을 처음부터 모두 보여줄 필요는 없다.

필요한 순간 complexity를 보여준다.

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

System language는 human language에 가까워야 한다

User가 project로 생각하면 object를 강요하지 않는다.

Naming은 architecture의 일부다.

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

Good technology는 complexity를 absorb하고 export하지 않는다

System은 data를 연결하고 context를 유지하며 default와 state를 처리해야 한다.

Human은 intention, judgment, meaning에 집중한다.

Good technology absorbs complexity instead of exporting it to the user.
08

System을 설명하고 싶을 때의 나에게

Tutorial이 길어진다면 design을 의심하자.

보여줄 필요 없는 internal logic일 수 있다.

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