2021/01/20
雑感オブiOS

書いたことあるプログラミング言語の思い出シリーズが終わった気がする。忘れてる言語があったらごめんね。忘れてないけどClojureは書いたうちに入れてないとか、そういうのもある。次は、プラットフォーム的なものについて雑に書いてこうかな、と。iOSの何かを思い出そうとすると、これはiOSじゃなくAppleの話じゃないのか、みたいになっちゃうな。ともあれiPhoneの話から。

iPhone自体は知っていたけど、初めて触ったのはiOSアプリ開発をするようになってから。2013年だからiOS7が出ていろいろと新しくなった年で、UITableViewCellのEditモードで複数行を同時に動かすことでぶっ壊せるバグを見つけて楽しく遊んでいたりした。それ以降ずっとiOSのUIを壊せないか試してたんだけど、iOS13のダークモード導入のためにレイアウト系のライフサイクルが変わった影響(たぶん)でUINavigationBarの表示がおかしくなったところをガチャガチャしてApp Storeアプリをクラッシュさせるバグを見つけるまでは再現性のあるものに出会えなかった。そこまでしてダークモード導入したかったわけじゃなくて、いろいろリファクタするついでにダークモードを用意したのかもしれないなあ、とか思ってるけどどうなんでしょうね。この話はすぐ後にもう一度します(予告)。

自分で所有したのはiPhone Xが初めてで、今も使ってる。かつては3Dタッチとキーボード操作の相性がよく、挙動が変わって微妙な感じになり、でもスペース長押しよりはマシだし、ということで最新端末の購入を躊躇してる。App Switcher的なやつの挙動とかは最初より良くなった。「気にしたら負け」みたいに思ってる追加機能とか変化とかはあるけど、Appleにはそういう期待はしてないから大丈夫。良くも悪くも「良いところが良い」みたいな製品を作り続けていてすごい会社。表現が難しいんだけど、センスが無いんだよね。デザインってそういうことじゃないんだろうね。バカにされがちな充電まわりのアレコレ、ああいうやつが例外ではなく本質だと思ってください。各方面の現実と理想の間にある最高の妥協を見つけてくる、というイメージ。ノッチとSafe Area Layout Guideを一緒にもってくる感じ。ダークモードと一緒に

The traitCollectionDidChange(_:) method is only called when the value of a trait changes.

という「それはそうね」みたいな破壊的変更を添えて、App Storeアプリの起動直後のUIが乱れたまま新OSリリースしてくる感じ。センスが無いという表現は間違ってそうだけど、絶対かっこつけようとしてないでしょ。ユーザを気持ちよくしとけば許されると思ってるでしょ。そういう偏見がある。本当に全体というものを見れてるんでしょうね。

ところで、「各方面の現実と理想の間にある最高の妥協を見つけてくる」という偏見の裏には、「未来を作ろうとしていない」という偏見がある。早すぎない。iPhone登場時に乗れなかった人たちが感じてたのは、こういうところにも理由があるんじゃないかな。雰囲気で言っています。未来を作ろうとしなくても、市場はリードできるみたいね。未来を作ろうとしたら、毎年iPhoneは作れないよねぇ。「未来を売ろうとしない」のほうがいいかもしれない。作り続けて売り続けている以上ゴミみたいなものは出てくるが、ちゃんとゴミを捨てる会社だから安心して「気にしたら負け」と言っていられる。

最高の妥協にゴミが混ざる。なんとでも言えてしまうな。酔っぱらって言ってるならともかく、10年かけてまっすぐ偏見を強化してきているのだから酷いもんだ。こんなことを書いてどうするんだろうね。共感を待ってる?そうでもなさそう。自己紹介かな。

日付
タイトル

2026/03/14
読んだ本〜2026冬
2026/03/05
聴いてるポッドキャスト
2026/01/30
レンダリング?
2026/01/27
Live
2026/01/26
レンダリング!
2026/01/13
2025年まとめ
2025/09/23
読んだ本〜2025夏
2024/07/24
健康er
2024/02/10
健康
2023/05/19
喪/2
2023/04/24
コンサル
2023/02/01
それはそう
2022/12/17
2022/06/11
動かないもの
2022/06/05
スタイル
2022/04/23
JSX as data
2022/04/08
数学
2021/12/18
Activeな話
2021/09/05
Goのmultiple ABI
2021/07/31
『Goならわかるシステムプログラミング』
2021/07/28
ここにはタイトルが入ります
2021/01/25
これは日記ではない
2021/01/24
修行
2021/01/23
Considered Harmful
2021/01/22
雑感オブSwing
2021/01/21
雑感オブAndroid
2021/01/20
雑感オブiOS
2021/01/19
プログラミング言語その9【Groovy】
2021/01/18
1回休み
2021/01/17
会社を作る
2021/01/16
外国語
2021/01/15
プログラミング言語その8【C】
2021/01/14
プログラミング言語その7【OCaml】
2021/01/13
to be continued
2021/01/12
プログラミング言語その6【Kotlin】
2021/01/11
プログラミング言語その5【Swift】
2021/01/10
プログラミング言語その4【TypeScript】
2021/01/09
プログラミング言語その3【JavaScript】
2021/01/08
Comme d'habitude
2021/01/07
プログラミング言語その2【Java】
2021/01/06
プログラミング以前【Lisp】
2021/01/05
プログラミング言語その1【Objective-C】
2021/01/04
言語処理系入門
2021/01/03
ブログのようなもの
2021/01/02
Next.jsとPHPと私
2021/01/01
新年