{左 K#F85E/E8CA-E5EF}
宇田川浩行{右 K#F85E/E8CA-5470}
宇田川浩行{X(旧 Twitter)はなぜライトモードを捨てたかったのか K#F85E/0758-FB71}
宇田川浩行昨日,X(旧 Twitter)のダークモード以外の配色モードを廃止するとイーロン・マスク氏が表明し,反対意見が殺到するという騒動があった。結局,ダークモードをデフォルトにしてライトモードも一応残すという方向に軟化させたようだ。
デライトでは,今年2月にダークモード(ダークテーマ)対応を実現したばかりなので,個人的に色々思うことがあった。前回予告した KNS についての文章に時間がかかり過ぎているため,今回の一日一文はつなぎとして,開発者の視点からこの騒動の背景について書いてみたい。
デライトは元々明るい配色,いわゆるライトモードのみでやってきた。大きな理由の一つに,イメージの問題がある。白背景を基本としたデザインにはやはり明るく清潔な印象がある。サービスがメディアで紹介される時など,イメージ戦略を考えるとこれは馬鹿にできない。
個人的には黒背景が好きだが,この種のネットサービスではどうしてもアングラ感が出てしまう。背景色を微かな灰色にすることも試したが,白背景と比べるとちょっとくすんだような,地味な印象になってしまう。なるほど,ダークモードが流行しても大手サービスの多くがデフォルトで眩しい白背景を採用している理由はこれかと思ったものだ。
今年2月,満を持してダークモード対応を完了し,私もテストがてらダークモードを常用していた時期がある。最初は新鮮さもあって,それこそダークモードだけでやっていけそうな気がしたが,慣れてくると,眠気が強くなったり,いまいち調子が上がらないことに気付いて,結局ライトモードを常用する生活に戻った。
ライトモードもダークモードも,どう感じるかは個人差や環境差によるところが大きい。どちらかが万能だと思ってしまうのは,単純な経験不足なのだろう。今回の騒動は,ソフトウェア開発におけるマスク氏の経験不足と,新しいロゴに象徴される偏った趣味に起因する出来事とも言える。
ただ,もう少し踏み込むと,マスク氏をこの拙速に追い込んだ X の切実な開発事情が見えてくる。
配色モードの追加や維持というのは,見かけよりずっとコストがかかる。例えば,外観に絡むような機能追加をした時,それぞれの配色モードで問題が生じていないか確認する必要があるし,問題があれば個別に調整する必要がある。そして,このコストは,既存のコードの保守状況が悪ければ悪いほど,変更の程度が多大であればあるほど高くなる。
{希哲17年4月14日14歩 K#F85E/E74C-CD6D}
宇田川浩行輪符補完機能などのため描写選り手で採用する予定だった contentEditable
の導入について急遽再検討して終了。
contentEditable
の導入はいったん保留とし,<textarea>
の座標計算用の <div>
を作る手法を先に試してみることにした。
前歩で再描出フォームの maxlength
属性を設定しようとして,ふと,contentEditable
ではどうするのだろうと調べてみたら思いのほか面倒臭そうだった。これに限らず,どうもそこまで洗練されたものではないらしいということが分かってきた。
デライトではさほど複雑なことをする予定は無いので,よくある装体複製 <div>
を使った手法で十分というかマシな気がしてきた。装体複製 <div>
も初めて知った時はどうかと思ったが,それ以上に洗練された方法が無いなら仕方ない。
contentEditable
はかなり前から導入する気でいたが,当初は念のため <textarea>
の実装も残しておくつもりだった。contentEditable
ももはや枯れた技術なので,<textarea>
は切り捨てるべきか,と最近になって考えるようになった。まさかここで正反対の方向に舵を切ることになるとは思わなかった。
{希哲17年1月30日の開発 K#F85E/E74C-8429}
宇田川浩行ダークテーマ実装ではテーマ切り替えボタンの機能実装も概ね完了し,残すは装体整理のみとなった。今後は色設定の CSS 変数への置換を中心に「装体整理兼ダークテーマ実装」を少しずつでも進め,機能公開を目指す。
テーマ切り替えボタンの機能は25日4歩の検討通りで,初期状態では司組設定に追従,司組設定と異なる方に切り替えると固定,同じ方に切り替えるとまた司組設定に追従する。ただし,実装としては初期化というよりライトテーマとダークテーマ,固定有無の組み合わせで4種類の状態を持たせることにした(後縁で非固定設定も認識させたいため)。
外観については drop-shadow
で影を付けたり月アイコンの方向を変えたり調整することを考えていたが,結局,現状維持とした。影は限りなく薄く付けても不必要に重たく見える。月アイコンも,欠けている部分が左向きの方が縁に沿うので調和的に見える。
状態はクッキーで保存するため後縁での最適化も出来,単純なトグルボタンのみで4種類の状態を直感的に切り替えることも出来,見触れも良好,と理想的なテーマ切り替えボタンが出来上がった。
舞覧の開発者通類でテーマの司組設定を簡単に切り替えられることを知り,手定めも捗った。