ma のサブスキル。減算はデザインであり、偶発的な複雑さを除去することが目的である。
When to Use
- コントロール過多になっているとき
- visual noise が多いとき
- 冗長 copy が多いとき
- 不要確認や不要設定が並んでいるとき
- 何を残し、何を遅らせるべきか整理したいとき
Do Not Use
- 余白や色の不一致だけを揃えたいとき。
ma-systemを使う - ボタンの作用対象が曖昧なとき。
ma-mappingを使う - 読み順や CTA の流れを整えたいとき。
ma-flowを使う
Core Principle
減算はデザインだ。 意味を失わずに除去できるものは除去されるべきだ。 必要な複雑さは管理し、偶発的な複雑さは排除する。
What to Audit
Visual noise
- 何も伝えない装飾があるか
- 冗長なアイコン + ラベルがあるか
- 区切り線や背景が習慣で置かれていないか
Information overload
- 今この瞬間に必要ない情報が初期表示に出ていないか
- 詳細設定を最初から露出していないか
- ほとんど使われない項目が前面に出ていないか
Interaction complexity
- 不要確認が多くないか
- 1 画面で済むことを複数ステップ化していないか
- 自動推測できる設定を露出していないか
Copy
- 冗長 copy が多くないか
- ラベルで分かることを説明文で繰り返していないか
- 実行可能性を超えて長いメッセージがないか
Process
- 各要素について「消すと何を失うか」を問う
- 失うものがない、または遅らせられるなら削除または延期する
- 必要な複雑さと偶発的な複雑さを分ける
- 最後に、本質がまだ十分見えているか確認する
Constraints
- 明瞭さを壊すほど減らしてはならない
- 必要情報は削除せず、必要なら後ろへ送る
- デフォルトは多数派にとって合理的でなければならない
- 減らすか迷ったら、まず延期を検討する
Negative List
- 冗長 copy: ラベルが既に伝えていることを説明文で繰り返す
- 不要確認: 元に戻せる保存や軽微操作への確認ダイアログ
- コントロール過多: 初期表示で必要以上の設定を見せる
- visual noise: 伝達理由のない装飾や区切り
- 単一意図の多段フロー: 1 画面で済む作業をウィザード化する
Output Format
### ma-reduction findings
| Element | Issue | Severity | Action |
|---|---|---|---|
| [要素] | [どの原則に違反し、なぜか] | high / mid / low | fix / defer / accept |
Summary: [発見された問題のパターンについての1-2文]
問題が見つからない場合は No violations found. と明示する。
Examples
Positive example 1
入力: 「確認ダイアログが多すぎて、設定も多くて、ごちゃついてる」
期待: 不要確認、初期表示過多、遅延開示候補を返す。
Positive example 2
入力: 「ラベルの横にアイコンが並びすぎていてノイズが強い」
期待: visual noise と冗長性の観点から削減案を出す。
Negative example
入力: 「同じボタンなのに余白と色が違う」
対応: ma-reduction ではなく ma-system を使う。
哲学が審判。Negative List は判例集。