「誰のために」を1人まで絞る
「地域のみんなのため」に作ると、誰にも届きません。顔が浮かぶ実在の1人を決めてください。祖母でも、部活の後輩でもかまいません。その人の困りごとまで絞ります。1人に深く効くものは、結果として多くの人に効きます。
社会課題 × アプリ|Feel と Retention の処方箋
防災でも福祉でも、使っていて気持ちよくないアプリは二度目に開いてもらえません。中身が正しいことと、使ってもらえることは別の問題です。
ここには処方箋が20枚あります。触った瞬間の手応えが10枚、使い続けたくなる理由が10枚です。
そのあとに感度の鍛え方と、発表で見せるタネを十粒つけました。どれにも動く実演と、研究の裏づけがあります。
※ いま数字が0から駆け上がったところが、処方 No.05(カウントアップ)の実演です。数え方も書いておきます。実演26は、このページにある黒い実験窓の数です。最後の「0」だけは動きません。このページが外部へのリクエストを1本も出していないからです。
テクニックより先に、この3つを決めてください。守らないと、あとの20枚は効きません。
「地域のみんなのため」に作ると、誰にも届きません。顔が浮かぶ実在の1人を決めてください。祖母でも、部活の後輩でもかまいません。その人の困りごとまで絞ります。1人に深く効くものは、結果として多くの人に効きます。
レバーは7本あります。音、光、動き、タメ、数字、祝祭、生命感です。全部を盛ると、ただうるさくなります。1本だけ尖らせて、残りは静かに支えさせてください。設計の中心は足すことではなく削ることです。ただし演出をゼロにするのも失敗します。Kao 2020(N=3,018)では、演出が少なすぎても多すぎてもプレイ時間と内発的動機が下がりました。狙うのは適量です。
100点の構想より、60点の実物を先に出してください。5人に触ってもらい、どこで笑ったか、どこで手が止まったかを記録します。Feel は頭の中では検証できません。答えを持っているのは、触った人の表情だけです。
カードは処方箋の形にしました。症状、効能、用法、副作用の順に読んでください。黒い枠は動く実験窓です。After 側を操作すると、朱色の「良」印が押されます。
:active { transform: scale(.96) } をかけ、戻りに cubic-bezier(.34,1.56,.64,1) を使います。100ms は Swink が言うリアルタイム制御の条件です。人が自分の動きを修正できる周期が、この長さだからです。手順: 自分のアプリの主役ボタン1個に、この2行を足してください。
.btn { transition: transform .34s cubic-bezier(.34,1.56,.64,1); }
.btn:active { transform: scale(.96); transition-duration: .05s; }
transition: width .55s cubic-bezier(.25,1,.4,1) .22s で遅らせて追わせます。手順: 進捗バー本体に transition を1行足します。増えた分は、色違いのバーを同じ位置に重ねてください。
.bar { transition: width .55s cubic-bezier(.25,1,.4,1) .2s; }
/* 増分バーは即時に伸ばし、本体を遅れて追わせる */
textContent を差し替えてください。それだけです。(待機中)
(待機中)
手順: スピナーの下に p を1個置きます。処理の節目で、その言葉を差し替えてください。
msg.textContent = 'データを集めています';
setTimeout(() => { msg.textContent = 'もうすぐ表示します'; }, 1200);
// 嘘の進捗は書かない。言葉は正直に
stroke-dashoffset を 40 から 0 へ動かします。あわせてリングを scale と opacity で広げます。クリックで再生
手順: 完了処理の最後に、この1呼び出しを足してください。
el.animate(
[{ transform: 'scale(1)' }, { transform: 'scale(1.25)' }, { transform: 'scale(1)' }],
{ duration: 280, easing: 'cubic-bezier(.34,1.56,.64,1)' });
requestAnimationFrame と easeOutCubic で約0.9秒かけて数えます。最後に scale で1回だけ弾ませます。手順: 数字を表示している行を、この6行に差し替えてください。
const t0 = performance.now();
(function tick(now) {
const p = Math.min(1, (now - t0) / 900);
el.textContent = Math.round(to * (1 - Math.pow(1 - p, 3)));
if (p < 1) requestAnimationFrame(tick);
})(t0);
まだ何もありません
記録はここに育っていきます。
まずは気になる場所を、1つだけ。
手順: 「まだ何もありません」の行を、この2行に差し替えてください。
<p>記録はここに育っていきます。まずは1つだけ。</p>
<button>+ 最初の1件を登録</button>
✓ 送信できました。文章は一字も失われていません。
この実験窓は、電波が悪い設定にしてあります。送信は一度必ず失敗します。書いた文がどうなるかを見てください。
手順: エラー表示の直前に、この保存を1行足してください。これが「消さない」保証になります。
localStorage.setItem('draft', input.value); // 失敗しても文章は残る
showError('送信できませんでした',
'内容はこの端末に残っています。もう一度試せます。', 'もう一度送る');
animation: breathe 3.4s ease-in-out infinite を当てます。拡大は3%までにしてください。手順: 画面の主役1個だけに、この呼吸を足してください。
.hero-btn { animation: breathe 3.4s ease-in-out infinite; }
@keyframes breathe { 50% { transform: scale(1.03); } }
和音を3種類、聴き比べてください。どれも小さく、短く、澄んだ音です。
初期状態でこのページから鳴る音は、ここだけです。紙の音(検印・めくり・鉛筆)は右上のトグルで足せます。音を出すかどうかは、ユーザーに決めさせてください。
手順: 音声ファイルは要りません。一番大事な完了の瞬間に、この和音を1回だけ鳴らしてください。
const ctx = new AudioContext(), t = ctx.currentTime;
[523.25, 659.25, 783.99].forEach((f, i) => {
const o = ctx.createOscillator(), g = ctx.createGain();
o.frequency.value = f;
g.gain.setValueAtTime(.0001, t);
g.gain.exponentialRampToValueAtTime(.07, t + .02 + i * .04);
g.gain.exponentialRampToValueAtTime(.0001, t + .8);
o.connect(g).connect(ctx.destination); o.start(t); o.stop(t + .85);
});
IntersectionObserver で画面に入ったらクラスを付けます。浮き上がりは CSS の transition に任せます。この手帳自体も、同じ作りです。節はスクロールで現れ、カードはホバーで姿勢を正します。
手順: 現したい要素に .reveal を付けます。監視は1個だけ動かしてください。
new IntersectionObserver(es => es.forEach(e => {
if (e.isIntersecting) e.target.classList.add('in');
}), { threshold: .15 }).observe(el);
/* CSS: .reveal { opacity: 0; translate: 0 18px; transition: .6s; }
.reveal.in { opacity: 1; translate: 0 0; } */
Swink『Game Feel』(2008) はこう定義します。game feel とはリアルタイム制御 × 模擬空間 × 磨き(polish)の合成であり、プレイヤーにはシミュレーションと磨きの区別がつきません。動きの感触を決めるのは、音と同じ ADSR のカーブです。立ち上がり(Attack)、減衰(Decay)、持続(Sustain)、余韻(Release)の4つを調律します。マリオのジャンプは、この調律の名作です。
距離も時間も、3つとも同じにしてあります。違うのは立ち上がりのカーブだけです。それだけで重さの印象が変わります。
あと2つあります。1つめは見た目が約束になることです。同じ物理でも、石と風船では期待される動きが違います。見た目、文言、色は、そのまま動きの予告として働きます。2つめは文脈が感触を変えることです。同じ速度でも、狭い通路では速く、広い広場では遅く感じます。余白と密度の設計も Feel の一部です。
※欄外注 ── 副作用の行は比喩ではありません。演出を盛りすぎると、有能感は実際に下がります(Kao 2024。資料の節を参照)。効く薬ほど、用量を守ってください。
初日の体験は、Feel が作ります。
二日目に開くかどうかを決めるのは、続ける理由です。
社会課題アプリの勝負がつくのは、リリース日ではありません。2回目に開かれるかどうかです。 Duolingo、Forest、Nike Run Club、Headspace が共通して持っている設計を、研究の裏づけごと5つに絞りました。 ゲームでは当たり前の手法ですが、社会課題では倫理との綱引きになります。どこに線を引くかまで書きました。
※誠実な注記 ── 「毎日使われれば社会成果が出る」ことは、まだ直接実証されていません。 ここにあるのは「使われないアプリは効かない」という前提条件の設計です。成果そのものの保証ではありません。発表でも、そう言ってください。
作るのは「やめられない」ではなく、「戻りたい」です。この違いが倫理の線になります。前半5枚は動機そのものを扱います。後半5枚は行動科学の古典が磨いた形です。
使っているあいだ、自分がこの物語の主人公だと感じられるでしょうか。気持ちいいとは、自分の行動に世界が応えてくれる実感のことです。第一章の10枚も、この章の5枚も、この定義でつながっています。
主人公感を動かすのは選択と代償です。自分の判断が結果を変えるとき、人は画面の中の出来事を自分の物語として引き受けます。だから続きが気になります。
→ 選択と代償の完全版実験: risk.html(今離す? まだ粘る?)
localStorage に日ごとの記録と、修復トークンを1個持たせます。復帰した日は金色で残してください。あなたは0日、守っています。
今日のぶんを記録してみてください。
「翌日へ」を押して、1日休んでみてください。主語も切り替えてみてください。同じ数字でも、温度が変わります。
手順: 日付をキーにして記録します。連続数は、今日から過去へ数えてください。昨日1日だけの欠けは赦します。
const days = JSON.parse(localStorage.getItem('days') || '{}');
days[new Date().toDateString()] = true; // 今日を記録
localStorage.setItem('days', JSON.stringify(days));
// 昨日だけ欠けたら「取り戻す」ボタンを出す。全ゼロには戻さない
localStorage に記録をためます。空になっても消さないでください。戻りたい理由を育てる土台になります。まだ何もありません。1回目がいちばん重いところです。
このページを閉じて、もう一度開いてみてください。庭は残っています。それが投資です。
手順: 行動のたびに1行ためます。起動画面の一番上に、累計を出してください。
const log = JSON.parse(localStorage.getItem('log') || '[]');
log.push(Date.now());
localStorage.setItem('log', JSON.stringify(log));
banner.textContent = `累計 ${log.length} 回`; // 開くたび最初に見せる
気づけば連打しているはずです。これが変動比率強化です。効いてしまうからこそ、禁じ手にします。
次を開かせているのは、報酬ではなく「知りたい」です。
手順: コンテンツを問いと答えの対で持ちます。答えの直後に、次の問いを見せてください。
const QA = [['家で一番危ない場所は?', '窓のそばと家具の転倒範囲'] /* … */];
show(QA[i][0]); // 問いを開く
onAnswer(() => show(QA[i][1])); // 解消する
teaser(QA[i + 1][0]); // すぐ次の問いを見せる
で、ポイントで何ができるの?
(まだ記録がありません)
行動の意味が、そのまま返ってきます。
手順: ポイント加算の1行を、過去の自分と比べる1行に置き換えてください。
const diff = thisWeek - lastWeek;
msg.textContent = diff > 0
? `先週の自分より ${diff} 回多い`
: '先週の自分と、並走中';
地域に届いたマップ 0 枚
正直な換算レートは、5回の記録で1枚です。アプリの中の前進が、現実の前進につながっています。
手順: 換算レートを定数で固定します。次の現実の成果まで、あと何回かを見せてください。
const RATE = 5; // 5回の記録 = 1枚のマップ(水増ししない)
label.textContent =
`あと ${RATE - count % RATE} 回で、地域にマップが届く`;
ここまでの5枚は、動機そのものを扱いました。ここからの5枚は、行動科学の古典が磨いた形です。ただし全部、本物の前進につなぐことが条件になります。
どちらを先に押したくなりましたか。その引力が目標勾配です。
手順: 進捗表示を「%完了」から「残数」に差し替えてください。
label.textContent = `あと ${goal - count} 個で完成`;
if (goal - count <= 2) label.classList.add('near'); // 最後だけ1段強調
残りはどちらも8回です。それでも遠さが違って見えます。「礼」と書かれた2個が授かりです。
手順: 新規ユーザーの進捗を、ゼロから始めないでください。ただし理由は正直に書きます。
const progress = saved ?? 2; // 「登録ありがとう」の2個から始める
note.textContent = '登録で2個プレゼント済み'; // 授かりは隠さない
(今日のぶんは終わりました)
つづきが保存されています
✓ 4/4 完了。開いていたループが閉じました。
明日もう一度戻りたくなるのは、どちらの画面ですか。
手順: 閉じる前に、開いたループを1個だけ保存してください。
localStorage.setItem('resume', JSON.stringify(
{ label: '避難ルートの確認', step: 3, total: 4 }));
// 次回起動の最初に「つづき: 3/4」を見せる。未完は常に1個だけ
まちの防災図鑑です。空いている枠が、次の散歩の口実になります。
手順: 成果を一覧の枠に置きます。まだ見つけていない枠は、シルエットにしてください。
zukan.innerHTML = ITEMS.map((it, i) =>
i < found ? `<b>${it}</b>` : '<i>?</i>').join('');
// 枠が「本物の行動」でだけ埋まるなら、完集欲は味方になる
— 今月のあなた —
この手帳で実際に触った記録から作られます。あなたのデータが、あなたの物語になります。
手順: 月に1度、ためた記録から1枚を自動生成して贈ってください。
report.textContent =
`${month}月のあなた: 記録 ${log.length} 回・連続 ${streak} 日。` +
`いちばん動いた週は 第${bestWeek}週 でした。`;
// 数字は正直に。比較は過去の自分とだけ
20枚の処方箋を支える研究と枠組みを11本、カードにして貼りました。発表で突っ込まれたら、ここを引いてください。
自由プレイ時間を唯一予測したのは、解消できる不確実性、つまり好奇心でした。フィードバックを増幅しすぎると efficacy は −.19、competence は −.43 と逆に振れます。演出が過剰になると、自分が動かしている感覚が壊れます。
Kao et al. "How does Juicy Game Feedback Motivate?" doi:10.1145/3613904.3642656
juiciness がゼロでも過剰でも、プレイ時間と内発的動機と成績が有意に下がりました。正解はミニマリズムではなく適量です。この手帳で「削る」と書くときは、盛りすぎた分を削るという意味です。
Kao 2020, juiciness studies(IEEE ToG 系サーベイ arXiv:2011.09201 も同旨)
あらかじめ約束された有形報酬は、内発的動機を d≈−.28〜−.40 そぎ落としました。情報的な「できた」というフィードバックは、d≈+.31〜+.33 高めています。点を配ることと、手応えを返すことは別の行為です。
Deci, Koestner & Ryan, Psychological Bulletin 1999
全項目でポジティブだったのは、24本中2本だけでした。効果は文脈に左右され、教育と学習で最も良い結果が出ています。与えた報酬を取り上げると loss aversion で逆効果になり、熱心なユーザーほど強く反発しました。
Hamari, Koivisto & Sarsa "Does Gamification Work?" HICSS 2014
定義は「1つの行動が複数の非機能的な反応を引き起こす、冗長なフィードバックの提供」です。実験では、演出は見た目の魅力を必ず上げました。ただし有能感が上がるのは特定の条件下だけです。盛れば効く、とはかぎりません。
Hicks & Gerling et al. "Juicy Game Design" doi:10.1145/3311350.3347171
内発的動機は成果の質を予測しました(β=.35。外的報酬は .06)。外的報酬が予測したのは量です(β=.33)。深く自発的な行動が要る社会課題では、内発的動機が主役になります。
Cerasoli, Nicklin & Ford, Psychological Bulletin 2014
game feel はリアルタイム制御 × 模擬空間 × 磨き(polish)の合成です。リアルタイム制御が成立する条件は、応答が約100ms以内であることです。プレイヤーには、シミュレーションと磨きの区別がつきません。表面の手触りは、衝突判定と同じくらい体験を決めます。
Swink, "Game Feel: A Game Designer's Guide to Virtual Sensation," Morgan Kaufmann 2008
スタンプカードの会員は、ゴールに近づくほど購入間隔を短くしました。カードがリセットされると、また減速します。動機を作っていたのは、進捗の見え方そのものでした。
Kivetz, Urminsky & Zheng, "The Goal-Gradient Hypothesis Resurrected," JMR 2006
残り8回は同じです。それでも「10個中2個押し済み」のカードは、「8個白紙」より完走率が約2倍でした(34% と 19%)。完走までの日数も短くなっています。始まり方が、続くかどうかを変えます。
Nunes & Drèze, "The Endowed Progress Effect," JCR 2006
中断された課題は、完了した課題より約2倍想起されました(ツァイガルニク効果)。Ovsiankina 1928 は、中断した課題が自発的に再開されることを実証しています。開いたままのループは、もう一度開かれます。
Zeigarnik 1927 / Ovsiankina 1928(ベルリン学派)
Yu-kai Chou の Octalysis は、人を動かす動機を8つに分解します。意義、達成、創造、所有、社会性、希少、不確実性、回避の8つです。そのうえで、長期の信頼を作る White Hat と、短期の強迫を作る Black Hat を分けます。実験結果ではなく設計の見取り図です。第二章の処方がどの動機に触っているかは、これで説明できます。
Yu-kai Chou, "Actionable Gamification: Beyond Points, Badges, and Leaderboards"(2015)/Octalysis framework(2012–)
各処方の完全版がここにあります。どれも、このフォルダの中だけで動きます。
Game Feel Lab の本体です。ブロック崩しに40本超のレバーを1つずつ足し引きして、手触りの正体を確かめます。「尖らせラン」もここから始められます。
→gauge.html同じ「+30」を、5段階の見せ方で比べます。処方 No.02 の完全版です。
→loading.html待ち時間はどれも同じ長さです。見せ方だけで体感が変わることを確かめます。
→loading-fun.html同じ6秒の待ち時間を、遊びに変える実験を集めました。
→alive.html待機中の生命感を掘り下げます。処方 No.08 の完全版です。
→risk.html「今離す? まだ粘る?」を体感します。選択と代償が、主人公感を作ります。
→hit.html一撃を解剖します。手応えを作る要素を、1枚ずつ剥がして確かめます。
→burst.htmlひっぱり、解放、爆発の順に体験します。タメと祝祭の設計です。
→replay.html最高の瞬間をもう一度見せる、リプレイの設計です。
磨く時間を取る前に、「気持ちいい」に気づける目を育ててください。必要なのは才能ではなく、5つの習慣です。
「今の、なんか気持ちいい」と思った瞬間に一時停止します。コマ送りで観察して、何が起きているかを言葉にしてください。桜井政博は「分析しながら遊ぶ」と言っています。ヒットストップに気づけるのは、止めて見た人だけです。
気持ちいい UI や演出に出会ったら、スクリーンショットと画面録画で保存します。見返すたびに感度が上がります。集めた数が、そのまま引き出しの数になります。
いちばん好きな動きを、1個だけ自分で作って再現します。写経すると、7本のレバーのどれが効いていたのかが分かります。再現できた技は、そのまま自分のものになります。
同じ機能のアプリを2つ並べて、違いを言葉にします。言葉にできた差だけが、自分の設計に持ち帰れます。この手帳の実験窓(Before/After)は、その練習台として作りました。
見つけたら、その場で1行書き留めます。書いた分だけ、あなたの語彙になります。感度は、語彙の数で決まります。実演は巻末・検印の節にある入力欄で試せます。
ロゴも画像も要りません。挙動を言葉で観察できれば、手元のどのアプリも教材になります。稽古・其の四の実践です。番号は処方 No. を指します。
ストリークに赦し(フリーズと修復)が付いています。レッスン予告が「次は何を習うのか」を開き、フィードバックは学習の意味を返します。
HOME ボタンの押下感と音が一体になっています。アイコンは静かに揺れ、UI サウンドは小さく短く澄んでいます。引き算の見本です。
引っ張って放つ一連が、タメと解放の設計そのものです。HP バーは、減った分が一拍遅れて追いかけます。
通知音が上品です。子どもの成長が時系列の資産として貯まり、「家族が見たよ」が意味のフィードバックになります。
送信した瞬間に吹き出しが飛びます。「既読」の2文字が、「届いた」という意味を返す情報的フィードバックです。
草(contributions)は、積み上げをそのまま見せています。空白を埋めたくなるのは、資産が育っているからです。
累計距離が資産になり、自己ベストの更新が祝われます。比べる相手は、いつも先週の自分です。
画面の木がコインになり、本物の植林200万本超につながります。画面の前進と現実の前進をつないだ代表例です。
送信に失敗しても、下書きは必ず残ります。文章は無事だという保証が、回復の道を開いています。
リングが閉じる瞬間を祝います。数字ではなく円が満ちる形で見せるので、達成が体で分かります。
0.466秒の配信速度が、そのまま手応えになっています。天気で普段から使われているから、災害のときにも開かれます。
祠の光と地形のラインが、説明なしで視線と足を導きます。見えない導線の教科書です。
ゲームとエンタメの手法を、研究や健康、寄付、OS の手触りに転用した海外事例を12種集めました。数字は出典で確かめたものだけを載せています。確証が弱いものには「とされる」と書きました。カードを開くと採集済になります。この節自体が、処方 No.19(収集と図鑑)の実演です。
まだ1つも開いていません。空いた枠が、次に読む口実になります。
学び ── 研究を「ご協力ください」から「遊びたい体験」に変えると、参加者の桁が変わります。
Coutrot et al., Nature 604, 104–110 (2022) / Alzheimer's Research UK
学び ── 遊びの動機は、総当たりの計算が届かない場所まで届くことがあります。
Khatib et al., Nat Struct Mol Biol 18, 1175–1177 (2011) — 著者に Foldit Contenders Group / Void Crushers Group
学び ── 続きが気になるかぎり、明日も走る理由は尽きません。
Six to Start プレスキット / Wikipedia(数値は幅があるため要注意)
学び ── 正解したら、誰かが助かります。換算レートが明快なほど、手は止まりません。
freerice.com FAQ / UN WFP・World Food Forum 発表(累計値は発表時点により変動)
学び ── 数値は読まないと分かりません。形は、見た瞬間に体で分かります。
Apple Newsroom(2025年4月・10周年アワード告知)
学び ── 端に着いたときの跳ね返り1つで、平らな画面が物になります。
US Patent 7,469,381 / 各種報道(Jobs の逸話は伝聞)
学び ── 競争は燃料になります。ただし火が強すぎると、人が焼けます。
Lenny's Newsletter(元 Duolingo CPO 寄稿)ほか第三者分析(数値は推計)
学び ── 共有したくなる形を1つ作れば、宣伝は要りません。
The New York Times 発表(2022年1月31日)/各種報道
学び ── 起爆はできます。持続させるのは、別の技術です。
Howe et al., BMJ 2016;355:i6270 / JMIR 2016;18(12):e315
学び ── 1件が数秒まで小さく割れたとき、参加者は桁で増えます。
Zooniverse / Galaxy Zoo 公表資料(累計値は時点により変動)
学び ── 良い比喩は、説明を消します。カードなら、誰でも投げ方を知っています。
Badeen 本人のインタビュー各種(着想の逸話は本人談)
学び ── この一件で問われたのは、ゲーム演出の禁止ではありません。何を祝うかの選択でした。
Massachusetts Securities Division(2020年12月提訴・2024年和解)/CNBC・CNN 報道(2021年3月31日)
発表会で「ここ、触ってみてください」と言うための小さな武器です。どれも30秒で説明できて、15分で実装できます。
3つ揃わない技は、まだタネのままです。発表では、揃った一番の1粒だけを見せてください。
押し込んでいるあいだは、まだ迷える時間です。指が離れた瞬間が決めた瞬間になります。完了の合図は release に置いてください。
見せゼリフ:「押した時じゃなく、離した時に鳴るんです。決めた瞬間だから」
長めに押してから、離してみてください。決めた感が強いのは、どちらですか。音のトグルを ON にすると、音も同じ瞬間に鳴ります。
嬉しさは伸ばし、痛みは短くします。増えるときは駆け上がらせて味わわせ、減るときは一瞬で済ませます。
見せゼリフ:「増える時だけ数字が走ります。減る時は一瞬です。嬉しさだけ引き伸ばしました」
一瞬で終わる処理にスピナーを出すと、チラついてかえって不安になります。出すのは、100ms待ってからにしてください。
見せゼリフ:「速い時はローディングを出しません。出す方が遅く感じるので」
(待機中)
(待機中)
速い処理では、右は何も出さずに終わります。スピナーを出す閾値は、およそ100msから400msです。出すか迷う速さなら、出さないでください。
中央から出る演出は、アプリの都合に見えます。自分の指が起点なら、世界を動かしたのは自分になります(agency)。
見せゼリフ:「どこを押しても、波はあなたの指から始まります」
記憶に残すのは失敗ではなく、回復です。失敗は静かに告げ、復帰の瞬間にいちばん良い演出を置きます。
見せゼリフ:「失敗は静かに、復帰は華やかに、にしてます」
→ このページの実演: 処方 No.07 では、「もう一度送る」が成功したときのほうが、エラー表示より強く祝われます。
システムからの報告は、流れて消えます。数えると所有になり、所有は愛着になります。主語は「あなた」にしてください。
見せゼリフ:「保存の報告じゃなくて、あなたの記録の話をさせてます」
最後まで来た人だけが見つける一言は、発見そのものが報酬になります。仕込みは1行で足ります。見つけた人は、誰かに言いたくなります。
見せゼリフ:「一番下まで見てくれた人にだけ、ひとこと仕込みました」
→ このページの実演: この手帳の裏表紙にも、一粒仕込んであります。見つけましたか。
無反応は「壊れたのか」と思わせます。押せないときは、かすかに首を振らせてください。断ることも応答のうちです。
見せゼリフ:「押せない時も、首を振って返事します。無視だけはしない」
→ このページの実演: 処方 No.05 の「集計する」を、集計中にもう一度押してみてください。
たった2度の傾きが、平面を指の下にある物に変えます(Swink の言う模擬空間の手応え)。
見せゼリフ:「右側を押すと右に沈むんです。それだけで物になる」
左半分と右半分を、押し比べてみてください。
消せる安心が、思い切って使う勇気になります。削除の直後だけ「戻す」を置き、静かに引っ込めます。
見せゼリフ:「消しても6秒は戻れます。安心して掃除できるように」
→ このページの実演: 処方 No.12 の「全部消す」を押すと、「戻す」が現れて静かに消えます。
Feel も Retention も、嘘をつくための道具ではありません。偽の数字を盛るのではなく、現実の前進に手応えを返してください。 光と音を付けるのは、ユーザーが実際にやったことだけです。避難経路を確認した、ゴミを1つ拾った、初めて相談を送れた。そういう行動だけを祝います。 人の時間を奪って成立するダークパターンは、人の役に立つと言って作るアプリでは禁じ手です。
判定軸 ── 「仕掛けが全部見えていても、ユーザーは同じ選択をするか」。Yes なら誘導、つまり親切です。No なら操作、つまりダークパターンです。
チェックはこの端末に保存されます。発表の前日に、もう一度開いて確かめてください。
Feel ── 触った瞬間
Retention ── 続ける理由
検証
14/14 ── 支度が整いました。あとは、見せるだけです。
稽古・其の五の実演です。今週見つけた「なんか気持ちいい」を、1行で書き留めてください。この端末に貯まっていきます。貯まること自体が、処方 No.12(進捗の投資)です。
まだ空白です。最初の1行が、辞書のはじまりになります。
※欄外注 ── このページの「全部消す」と「空にする」を押すと、直後だけ「戻す」が現れて静かに消えます。タネ・粒の十(戻れる削除)を、このページ自身で実演しています。