ux-friction について
アニメーションが遅延や混乱、ユーザーの不満を招いていないか診断するデザインスキルです。原則別の修正案とチェックリストで、操作性と動きの目的を確認できます。
主な機能
- 01アニメーションによる摩擦の兆候
- 02原則別の問題診断
- 03よくある問題への即時対策
- 04操作性と時間のチェックリスト
- 05スキップ可能な動きの Java 例
活用シーン
- 01アニメーション中の連続クリックの調査
- 02長いアニメーションのスキップ対応
- 03動きが操作を妨げているかの確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ dylantarre/ animation-principles --skill ux-frictionインストール後、Claude Code で/ux-frictionを入力して読み込まれたか確認します。
詳細
UX の摩擦
ユーザーを妨げたり、混乱させたり、苛立たせたりするアニメーションを診断します。
問題の指標
- ユーザーがアニメーションの終了を待つ
- 何が起きたのか分からず混乱する
- アニメーション中にクリック/タップを繰り返す
- ユーザーがタスクをスキップしたり、中断したりする
- 「あれはどこへ行った?」と思う瞬間がある
原則ごとの診断
タイミング
問題:状況に対してアニメーションが遅すぎます 修正:ユーザーの意図に合わせて時間を調整します。マイクロインタラクションは100~200ms、トランジションは200~400msにします。入力を妨げないでください。
予測
問題:予告なくアクションが発生します 修正:大きな変化の前に、控えめな予告の合図を加えます。ボタンを押したときは、結果が表示される前にフィードバックを示します。
フォロースルー
問題:アニメーションが唐突に終わります 修正:要素が自然に落ち着くようにします。急停止すると壊れているように感じられます。少し行き過ぎてから落ち着く動きを加えます。
ステージング
問題:重要な変化が注目されていない場所で発生します 修正:変化が起きる場所に注意を向けます。コンテンツが移動する場合は、動きで視線を誘導します。
魅力
問題:アニメーションに一貫性がありません 修正:すべてのアニメーションに明確な目的を持たせます。「なぜこれが弾むのか?」とユーザーが疑問に思うなら、削除します。
すぐにできる修正
- アニメーションをスキップ可能にする - クリック/タップで完了するか、スキップできるようにします
- 時間を30%短縮する - ほとんどのアニメーションは遅すぎます
- 進行状況インジケーターを追加する - 400msを超えるものに追加します
- ユーザーの注目領域でアニメーションさせる - 周辺視野にあるものを動かさないでください
- 装飾的なアニメーションを削除する - 役に立たないなら、害になります
トラブルシューティングチェックリスト
- アニメーション中にユーザーは操作できますか?
- トランジションの時間は400ms未満ですか?
- アニメーションは状態の変化を伝えていますか?
- 長いアニメーションはスキップ可能ですか?
- 動きは適切に注意を誘導していますか?
- ユーザーの入力に対するフィードバックがありますか?
- アニメーションを削除すると理解に支障がありますか?
- せっかちなユーザーでテストしていますか(素早くクリックする)
パターン
// Allow interaction during animation
element.style.pointerEvents = 'auto';
// Make animation skippable
element.addEventListener('click', () => {
element.getAnimations().forEach(a => a.finish());
});
コメント
Markdown 対応