制約があるから工夫が活きる

2025/04/10

個人開発で数週間悩んでいた問題がある。ChatGPTに壁打ちしながら色々試すもなかなか上手くいかない。仕事や家事中も何となくずっと心地悪さを抱えていたが、今日ふとしたキッカケで前進。そのキッカケとは夜までに絶対終わらさないといけないという制約だった。

夜に開発中のその機能について話す場があり、そこまでに何とか終わらせる必要があった。そうなると色んな手段を使って解決しようとする。実質1時間くらいで解決。数週間のモヤモヤが嘘だったようにすぐに機能を追加できてしまった。

振り返ってみるとこれまでは本質的な、よりエレガントな方法で解決することにこだわっていた。それはエンジニアとしての矜持や「本来はこれでいけるはず」というこだわり、適当な実装で誤魔化したくないという学習意欲がそうさせていたように思う。向き合うなら向き合えばいいが、ダラダラとべき論を述べているだけでは前進は見込めない。それよりはガムシャラでも少しずつ前に進んだ方が良い。ちゃんと理解した方が結局早いケースも多いが、コアの機能でなければ誤魔化しの実装でその場を凌ぐことも時には重要だと思う。

下手な方法でも一度進んでみれば見えるものは変わる。別の良いやり方が見つかるかもしれないし、そもそもその機能自体が不要だと気づくかもしれない。「完璧を目指すよりまず終わらせろ」とはFacebookのザッカーバーグ氏。まず終わらせる。完成したらリリースするのではなくリリース日を決めてそこに間に合うようにアクセルを踏む。仕事と違い好きなペースで取り組める個人開発では、特にこの諦めのバランスが必要そうだ。


要素が多くても情報の交通整理がなされていればシンプルでいれる

2025/04/09

Webサービスのデザインでシンプルさを保つのは難しい。最初は機能が少なくてシンプルに作れていても、要望に応えたり機能の追加をしていくと要素はだんだん増えていく。シンプルさを維持したいがために機能追加にNGを出していては成長が止まる。つまり要素の増加を受け入れ、さらにシンプルなままでいるという相反するものをどう実現するかが知恵の出しところになる。

ヒントとなるのが情報の交通整理だ。エンジニアになりたての頃、競合調査でeBayという海外で人気のオークションアプリのデザインを調べたことがある。オークションアプリは決済や配送も絡むため複雑になりやすい。さらにeBayは老舗で、歴史的に追加されてきた機能も多くてかなり要素が多い。それなのに使ってみるとすぐに理解でき、アプリ内はすべて英語表記だったにも関わらず感覚的に操作することができた。

チームの先輩たちと話したところ、その理由は「情報の交通整理」にあるという結論に至った。例えば購入画面ではクレカの情報や配送先住所などさまざまな入力が必要だが、それを一つの巨大なフォームで入力させるのではなく小分けにする。ゴールが見えない中走るのは辛い。「ステップが10個あって、いまは4個目です」と教えてもらえれば時間がかかっても頑張れる。全体を俯瞰させ、注意の払い先をステップごとに細かく分解することで集中力を保たせる。10年以上前の出来事だが、要素の多さイコール複雑とは限らないのか、と感動した記憶がある。

シンプルさを保つ別の方法として、ステップを減らす方法を考えてみる。例えば3つの操作があるとして、それをまとめて行える1つのボタンを用意するとどうだろう。見た目上は作業が3分の1になっているが、その内部で何が行われているか理解できずユーザーは学習の機会を失う。学習できなければ予測できない。毎回そのボタンを押すときに小さな覚悟が必要で、それは目指すべき「手に馴染む」状態からは程遠い。もちろんボタンが100個置かれていてもそれはそれで学習コストが高いので実際はバランスになる。どこを省略してどこはすべて提示するのか、それも情報の交通整理のひとつと言える。


良いパサーになりたい

2025/04/08

「黒子のバスケ」という少年漫画がある。バスケ部の高校生が舞台だが、特別な能力を持つ5人が登場する。運動能力がめちゃ高い、相手のプレイスタイルをすぐ真似できるなどそれぞれの特徴を持つが、その中の一人である赤司という司令塔は予知能力を持つ。はじめは予知をもって敵チームの動きを読んでいた赤司だが、試合後半では味方への最高のパスを出すことに使われる。味方が最も欲しいタイミングや回転でパスを出す。究極のパスを受け取った選手は気持ちよくプレイできてゾーン(の一歩手前)に入る。

チームで仕事をしてる時、たまに赤司のパスのことを思い出す。相手が困っているタイミングで声をかける、質問に十分な形で答える、不安を抱く前に状況をシェアして落ち着いてもらう。一つ一つのやり取りは雑でも成り立つが、最高のタイミングや内容で渡せれば無駄なやり取りでエネルギーを消費せずに目の前のことに集中できる。仕事の内容だけでなくその意義やサービスの目指すところを伝える。優秀なチームであるほど自分の仕事が世の中の何に役立っているのかを気にするので、モチベーション高く取り組むことができる。こうやって周りがゾーンに入れるようパスを出すのが理想形。

最近はAIが急速に進化し、コミュニケーションする相手が人からAIに変わってきた。作って欲しいものを整理してAIにチャットする。AIが作ったものを見てズレがあったら指摘する。AIにはモチベーションという概念はないけど、良い指示を出せれば良いアウトプットを出してくれる。逆にまとまりのない指示では右往左往して逆に時間がかかってしまう。将来的には曖昧な指示でも完璧にこなしてくれるアシスタントが誕生してるかもしれないが、今のところは指示のレベルがそのままクオリティやスピードに繋がる。AIへの良いパスとは明確で簡潔、そして必要な前提情報を含んだ指示である。チームのメンバーが人からAIになっても、良いパスが求められることは変わらない。


手に馴染むサービスはフィードバックがデザインされている

2025/04/07

モードレスデザイン 意味空間の創造」を読んでいる。デザインについて書かれた本だが「明日から役立つ!」のような実践書ではなく、かなり抽象度の高い内容になっていてそれが良い。今まで読んだ本のなかでは「融けるデザイン」に近い気がする。ソフトウェアのデザインがどうあるべきか、そもそもデザインとは何なのかを深く思考する。

気になった箇所をいくつか書いてみる。ハードウェアには物理的制約があり、ソフトウェアには物理的な制約はないが論理的な制約がある。ここまでは良いが、実はソフトウェアにはもう一つ「認知的な制約」がある。論理的に正しい、論理的に可能なものであっても人間の認知能力を超えれば扱えない。「実現できてはいるが誰も使えない仕様」は認知的な制約を無視・軽視した結果生まれている。

デザインが磨かれるプロセスは反復的で、これは完成図をイメージしてそれに近づけていくような作り方とは根本的に異なる。実装して進んでみて微妙であれば壊す。部分的にではなく時には全体を作り直す。ある地点まで作って試し、その手触りにより次の地点が見えてくる。それを繰り返すうちに目指すところへじわじわ寄っていく。エンジニアリングもそうだがプロジェクトの見積もりを出すことはそもそも難しい。締切を守ることよりも少し伸びてもいいから磨き上げて提供する価値の質を担保する方が良い結果につながる。

我々の暮らす自然界はフィードバックに溢れている。手のひらで土を押せば凹み、その分の抵抗が自分に返ってくる。この感触や見た目、音などの知覚情報をもとにして世の中の理解が深まっていく。こうすればああなる、ということが学習されて扱うのが上手くなる。現状のソフトウェアはまったくその域に達していない。クリックして意図せぬ挙動が発生したり、同じボタンでも文脈にとって違うように動いたり、不具合に遭遇したりして期待を裏切られる。そうではなく利用者の期待通りに動作し、違和感のないフィードバックを提供し続ければ道具は手に馴染みその存在を意識しなくなっていく。ユーザーの目的はそのツールを使いこなすことではなくツールを使って何かを成すこと。無意識で思い通りに扱える手触りの良いもの。そんなものを作りたい。


マンガで日本の歴史を学ぶ

2025/04/06

学生時代の日本史はどちらかといえば苦手科目で、年号の語呂合わせなどは楽しかったが各時代の流れはあまり記憶にない。日本各地に旅行に行くと歴史的なスポットに出くわすことが多々あり、歴史を知ればもっと旅行が楽しくなりそうだなとは常々思っていた。

かといっていきなり歴史の専門書を読んでも挫折する未来しか見えない。学校で歴史の先生をしていた同僚に話すとまずはマンガでの入門を薦められ、一番興味があった幕末〜明治維新の頃のマンガを読んでみた。「お〜い!竜馬」は坂本龍馬が主人公の幕末を描いたマンガ。新撰組や高杉晋作、桂小五郎や西郷隆盛など歴史に疎い自分でもよく知る人物たちが登場し、彼らが何を成したか、どういう関係性だったのかをとてもよく理解できた。昔のマンガなのでなかなか凄惨なシーンもあるのだが、国を変えるために立ち上がった人物たちは生き生きと描かれる(デフォルメもされている)。ちなみにお〜い!竜馬の原作は武田鉄矢氏。龍馬が好きすぎてマンガにしたらしい。

幕末について理解が深まった感覚を得られたので、次は戦国時代や源氏・平氏の時代を知りたくなった。このあたりもワードは残ってるが関係性はよく分かっていない。子供向けの歴史マンガから始めようと調べたところ、角川が出している「角川まんが学習シリーズ 日本の歴史」は全編通して同じ先生が監修しており、一貫性の観点で読みやすそうに思えた。近所の図書館で何冊かずつ借りて読んでいる。勉強にはなるが、一冊で一つの時代を描くのでどうしても急ピッチになり入り込めないまま読み終わってしまう。わがままを言えばお〜い!竜馬くらい長編で、ストーリーが面白くて脳裏に刻まれるような作品を読んでみたい。大河ドラマなどが良いのかもしれない。できればマンガで探したいが、あまり良いものがなければ大河ドラマの一気見を試してみたい。