目を閉じてください。リンゴを思い浮かべてください。
私はそれができません。私にはアファンタジアがあり、つまり多くの人が心の中のイメージを生み出すために使う脳の部分が、私には機能しないということです。これは比喩ではありません。母の顔を思い描けません。自分が育った通りを思い描けません。リンゴがどんな見た目かは分かります。つまり、説明できるし、実物を見れば見分けられるという意味では分かります。でも目を閉じると、そこには何もありません。あるのは言葉だけです。
私がそれを説明すると、人がいまだに驚くのはこの部分です。私は写真家です。そして私は ZSky AI を作りました。AIによる画像・動画の生成プラットフォームです。
では、心の目がない人はどうやって視覚ソフトを設計するのですか? これが、ほかのインディー・ハッカーから最もよく聞かれる質問で、私は答えるために、答えを突き止めることを強いられた形式――つまりコードの形で答えたいのです。
アファンタジアだと知った瞬間
私は二十代後半でした。ある友人が、1か月前に泊まったホテルから見えた景色を説明してほしいと言いました。私は何だか曖昧なことを言いました。彼は「なんで、ただそれを見ていないの?」と聞いてきました。私は「何を見ればいいの?」と言いました。彼は「思い出し(メモリー)を」と言いました。
彼が冗談を言っていると思いました。次に、冗談ではないと分かりました。そして最後に、これまで私が「記憶」や「想像」という言葉で話してきた人たちは、みんな何らかの“視覚的な意味”を文字通り指していて、私は気づかないうちに、それをずっと言語に翻訳していたのだと理解しました。
約2〜4%の人間がアファンタジアです。私たちの多くは、大人になるまで気づかないことが多いのですが、頭の中のものが他人の頭の中のものと違うと知る方法がないからです。みんな同じ言葉で「想像して」と言い、他の人も同じ意味だと思い込むだけです。
それが私の創作活動に与えたもの
私の人生の大半において、何か視覚的なアイデアが存在する前にそれを見ることができたのは、カメラを手に持っているときだけでした。カメラは――これも比喩ではありません――私の心の目です。フレーミングして、シャッターを押して、そして初めて、頭の中の“その絵”が、眺められる場所に生まれました。
だから私は写真家になりました。見た目の才能があったからではありません。視覚的にうまくいかないという“ハンディ”を抱えていて、それを補うためにカメラが唯一の手段だったからです。
AI画像生成が2022年に登場したとき、私はすぐにそれが2台目のカメラだと理解しました。1台目の代わりではなく、同じ根本的な仕事をする、新しいメディアです。物事を思い描けない人が、言葉からそれを作り、そしてそれを見られるようにする手段でした。私のような人にとって、それはエンタメではありません。視覚的なアイデアを“持てる”ことと、それを“失う”ことの違いです。
3年後、私はZSkyの開発を始めました。プラットフォーム全体は、同じ問題を抱えてやって来る次の人のために、その体験をできる限り摩擦なく実現しようとする、頑固な試みです。
これはプロダクト設計にどう現れるか
ここからが本題として共有したい部分です――私が可視化できない状態で視覚ソフトを作ったことで生まれた、具体的な設計上の判断です。
1. 言語がインターフェースになる
多くのAI画像プラットフォームでは、プロンプトをテキストフィールドとして扱って終わりにしています。私にとってプロンプトは、複数ある入力のうちの1つではありません――それは唯一意味を持つ入力です。なぜなら、言語こそが私にとって唯一、視覚的なアイデアをそもそも説明できる手段だからです。
その結果、構造化のための強力なサポートを備えたプロンプトのUIを作ることになりました。私たちのプロンプト入力には:
- インラインのスタイル提案:テキストの下に表示され、クリックできるチップになります
- 5要素の数式ヘルパー(主題 / 構図 / 光 / スタイル / 雰囲気)
- プロンプト強化機能:ラフなアイデアを構造化されたブリーフに書き換えます
- 履歴:直近20個のプロンプトを、クリックして再利用できるチップとして覚えています
一般的なAIプラットフォームは、1つのテキストボックスを渡して「祈ってください」と言うようなものです。私たちは足場(スキャフォールド)を用意します。というのも、私は個人的に「ただ“欲しいイメージを想像する”」ことができないからです。説明は1つずつ組み立てないといけません。つまりスキャフォールドは、ただの便利機能ではありません。中核のUXです。私は理論をあらゆる写真家が知っている5要素プロンプト・フォーミュラに全文まとめました。
コードの用語で言うと、プロンプト入力の形はだいたいこんなイメージです:
<PromptInput>
<PromptTextarea />
<SuggestionChips categories={["style", "light", "mood"]} />
<FormulaHelper elements={["subject", "composition", "light", "style", "mood"]} />
<PromptHistory items={last20} />
<Enhancer onEnhance={rewriteToStructuredBrief} />
</PromptInput>
これらのコンポーネントは、そのどれもが最初は私自身のために必要だったから存在しています。
2. ギャラリーはスケッチパッド
心の目がないと、頭の中でアイデアを「スケッチ」することができません。画面上でそれを見る必要があり、そのうえで反復します。だからこそ、最近の生成結果のグリッドは、プロダクト上で最も重要な表面になります。これは「ギャラリー機能」というだけではありません。私の考え方そのものです。
設計における具体的な含意:
- 永続的な履歴。 あなたが作る生成はすべて、個人のギャラリーに残ります。期限切れはありません。
- ワンクリックのリミックス。 ギャラリー内の任意の画像をクリックすると、それを生成したプロンプトが入力欄に入ります。これは便利だからというだけではありません。これは私が考えていることです。
- バリアント生成。 「これと同じ感じで、あと4つ。少しだけ変えて。」反復こそが、私が追いかけるアイデアに近づける唯一の方法です。
グリッドはジェネレーターの二次的なものではありません。グリッドがジェネレーターです。テキスト入力は、ほかの方法ではアクセスできない“記憶”の検索バーにすぎません。
3. 空の状態のあらゆる場所に例を置く
空のテキストフィールドは、アファンタジアの人にとって危機です。そこに入れるためのものが、頭の中にありません。飛び台になるものが必要です。
ZSkyのすべての空の状態には例があります。1つではありません。12個です。カテゴリも違う。気分も違う。スタイルも違う。何もないページを開くと、実際の画像を生み出した12個の本物のプロンプトが表示され、それを1つクリックして始められます。
これはアクセシビリティのための設計でもありますが、同時に誰にとっても良い設計です。私は、先天的無想像(アファンタジア)の人が、新規ユーザーとして初回訪問で例のプロンプトをクリックし、そこから始めるのを何十人も見てきました。彼らが最初からゼロ入力で打ち込むつもりは、そもそもありませんでした。空のテキストフィールドというUX神話は、誰の役にも立ちません。
4. ダウンロードボタンが画像そのものに配置されている
これは些細に聞こえますが、私に大きな教訓をくれました。ほとんどのプラットフォームは、画像の近くにある歯車アイコンから開くメニューの中にダウンロードボタンを置いています。私はそれを見つけられませんでした。直近のたった5秒前に使ったはずのインターフェースを頭の中に思い描けないからです。毎回、探し直す必要がありました。
解決策は、ダウンロードボタンを画像そのものに直接置くことでした。デフォルトで表示され、ホバー上ではありません。みんな「見た目がごちゃごちゃする」と言いました。ダウンロードのクリック率は3倍になりました。3倍です。常にそこにあるボタンは、インターフェースの頭の中のモデルを作らなくても使えるボタンだからです。
アクセシビリティの洞察:短期的な視覚記憶がない人でも、ストレスなくあなたのインターフェースを使えるなら、誰もがより速く使えます。これは、歩道の縁(けい)カットが、車いす利用者だけでなく誰の役にも立つようになったのと同じ原理です。
5. すべてにキーボードショートカットがあるが、ラベル付き
アファンタジアとパターン認識は別の認知システムです。私はキーボードショートカットを覚えること自体は問題なくできます。ただ、最後にそれがどこに書いてあったかを思い描くことができないだけです。そこでZSkyのすべてのショートカットには、該当するボタンの横に表示されるインラインのツールチップがあります。何かを暗記する必要はありません。ヘルプメニューを開く必要もありません。ショートカットには、それが実行するアクションの横にラベルが付いています。
繰り返しになりますが、これはアクセシビリティを最優先にした設計で、結果的に誰にとっても良くなります。
制約が私に教えてくれたこと
「心の目(マインドのアイ)」がない状態でビジュアルソフトを作ることから得た最大の教訓は、ほとんどのUXは、インターフェースを頭の中に保持できる人向けに設計されているということです。昨日そのボタンをクリックしたから、場所を知っています。レイアウトを覚えているので、ラベルは不要です。完成したフォームを思い描けるので、より速く移動できます。
私はそれが何もできません。つまり、毎回「初回体験」のために設計しなければなりません。私にとっては、毎セッションが初回です。すべてのボタンにラベルが必要です。すべてのアクションにラベルが必要です。すべての空の状態に例が必要です。すべてのメニューは1クリックで到達できなければなりません。すべての破壊的操作には確認が必要です。どの道筋も記憶なしで歩ける必要があります。
その結果、誰にとっても使いやすいプロダクトになります。「初めてのユーザー」が最も難しいケースであり、それを解くことは一般化につながるからです。
アファンタジアがあり、視覚的なものを作っているなら
これははっきり言いたいです。10年前の自分に誰かが言ってくれていたらよかったからです:この制約はスーパーパワーです。自分のために強いられているあらゆる設計上の決定は、同時に、あなたのソフトをまだ一度も使ったことがない誰かの助けにもなります。視覚的なソフトを作るのに、心の目は不要です。補うためのプロセス――足場(スキャフォールディング)、例、ラベル、構造――を信じる必要があります。そして、その足場こそがプロダクトであると理解してください。
写真は、私に外部化された心の目を与えてくれた最初のツールでした。AIによる画像生成は2つ目です。次に同じ悩みを抱えてやって来た人が、見えないはずの画像にたどり着くために自分でプラットフォームを作る必要がないように、これもまた最もアクセシブルであることを目指しています。
ZSkyの創業者ストーリーについてもっと読みたい場合は、ZSkyの「概要」ページに、より長い記事があります。アファンタジアがあり、プラットフォームを試してみたいなら、One Million Minds Eye イニシアチブがあります。アファンタジア、TBI(外傷性脳損傷)、または視覚皮質の損傷がある人には、無料で生涯アクセスを提供します。医療書類は不要です。ホノーシステムです。19歳の自分だったら、これを望んでいたからです。
すべてのインディーハッカーに伝えたい3つのこと
- あなたの制約は、負債ではありません。研究です。他人のソフトを使うときに、あなたが個人的にイライラしていることがあるなら、それこそがあなたが唯一解決できる立場にいる課題です。まずは自分のために作りましょう。
- 空の状態はプロダクトです。すべてのチュートリアル、すべての例、すべてのプレースホルダープロンプト――新しいユーザーを獲得できるか失うかが決まる場所です。妥当だと思う2倍の時間をそこに使ってください。
- アクセシビリティはチェックリストではなく設計です。まず認知的に最も難しいケース向けに設計すれば、あとは他の要素も下流でうまくいきます。まず平均的なユーザー向けに設計すると、最後にアクセシビリティを「機能として」後付けすることになり、しかもそれに不満を抱くことになります。
さあ、何かを作りに行きましょう。りんごはあなたの頭の中にあるのか、それともコードの中にあるのか。どちらにせよ、私たちはもっと必要です。
追加で読む
私はコメントに返信しています。認知的に特殊なケースに向けて何かを作っているのなら――それが自分自身のためでも、誰か別の誰かのためでも――あなたが取り組んでいることをぜひ聞かせてください。




