Oral-BのiOSアプリがほぼ300MBある理由は? Colgateアプリがさらに大きい理由は?
(twitter.com/emergetools)- Oral-BのiOSアプリは290MBのうち、233MBがasset catalogによるもので、アプリ容量の大半を複数の歯ブラシモデル向けPDFアセットが占めている
- Oral-Bで最大のアセットは
Sonos_M9_roseの7.8MBで、多くのPDFには歯ブラシ全体ではなくハンドルとボタンだけが含まれている Comino.bundleには20class_seqlen26_6p5h_20200302-095627_comino_android_productionのようなファイルが入っており、モデル重みに見える- Colgate Smileアプリは378MBとさらに大きく、Unityフレームワーク125MBと削除されていないバイナリシンボルが主な肥大化要因となっている
- Colgateはメインバンドルとウィジェット拡張にアセット・ローカライズファイル60MBを重複して含めており、少なくとも120MBが機能的価値なしにアプリ容量を押し上げている
Oral-Bアプリ容量の大半はPDFアセット
- Oral-Bアプリは合計290MBのうち、233MBがasset catalogで発生している
- 全体容量の**80%**に相当する
- その大半は異なる歯ブラシモデルを表すPDFアセットである
- 最大のPDFアセットは
Sonos_M9_roseで、7.8MB - 多くのPDFには歯ブラシ全体の画像ではなく、ハンドルとボタンだけが含まれている
- もう1つ目立つ項目は15MBの
Comino.bundle20class_seqlen26_6p5h_20200302-095627_comino_android_productionのようなファイルを含む- これらのファイルは一種のモデル重みに見える
Colgate Smileのより大きな問題は削減可能な肥大化
- Colgate Smileアプリの容量は378MB
- アプリは「guided brushing」機能のためにUnityを使っているように見える
- Unityフレームワークは125MB
- その機能に価値があるなら、Unityの採用自体は納得できる選択とも言える
- より大きな無駄は、プロダクションアプリでバイナリシンボルを削除していないこと
- バイナリシンボルはシンボリケーションに使われる
- DSYMをクラッシュレポーターにアップロードするなら、プロダクションアプリ内に含める必要はない
- バイナリシンボルを削除するだけで、合計**約60MB、15%**削減できる
- もう1つの肥大化要因は重複同梱
- Colgateはメインバンドルとウィジェット拡張に、アセットとローカライズファイル60MBを重複して含めている
- 赤いノードが重複項目として表示されている
- Colgateアプリでは、少なくとも120MBがユーザーに機能的価値を何も提供しない容量として計算される
- 関連記事:
1件のコメント
Hacker Newsのコメント
そもそも、なぜOral-BアプリやColgateアプリが存在するのか分からない
個人的には一度使って削除したけれど、歯磨きが効率的か確認したい人には役立つかもしれない。いずれにせよ完全に任意で、アプリの存在を無視して歯ブラシだけ使ってもよい
そうすれば他の「知らない」ブランドより親しみを感じ、そのブランドを買う可能性が高まる。アプリも同じで、使うたびにロゴとブランドを目の前に突きつける。結局のところデータを売る必要すらない
悲しい現実として、App Store > Your Accountで更新を確認すると、100MB未満のアプリは数えるほどしかない。自分の場合、ほとんどのアプリが300MBで、しかもこれはアップデートの話だけ
Androidと比べると、あちらのアプリはずっと軽い。昔のObjective-Cアプリはもっとスリムだったが、SwiftアプリはABIができた後でも大きくて重い傾向がある。開発者の怠慢も一因だし、Appleのツールがいまひとつなのも一因。コンパイル済みのCocoaPodsやSwiftパッケージではツリーシェイキングやデッドコード除去がない。Appleはあまり気にしておらず、むしろ容量の大きい新しい端末やiCloudサブスクリプションを売れるので歓迎していそう
リソース、アーキテクチャ、言語は必要なときにだけダウンロードされ、ゲームアセットのテクスチャ圧縮形式のような領域別要素にまで及ぶ。だから端末は必要なテクスチャだけを受け取り、開発者は複数形式で配布して、ユーザーが自分の端末でサポートされる最良のオプションを受け取れるようにできる。オンデマンドでコードモジュールをダウンロードしてインストールすることも可能。たとえば登録手続きを別モジュールに切り出して最初だけインストールし、ユーザー登録後に削除してインストールサイズを減らせる。ある開発者は、顧客サポート用の数MBのVOIPモジュールを、サポート画面を開くまで実際にはダウンロードもインストールもしないようにしていて、その結果ほとんどのユーザーにはまったくインストールされない
[0]: https://developer.android.com/guide/playcore/asset-delivery/...
https://xcancel.com/emergetools/status/1828490449881047401
違法ストリーミングを見ようとしたときに出てくるスパム中間ページみたい。無関係の人がこれを投稿していたなんて信じられないほどひどいツール
データブローカー向けのユーザーデータ収集があまりにも価値ある商売になってしまったのが腹立たしい。大企業が良い製品ではなくデータを吸い上げるアプリを作り続け、数字が伸びるのを見て喜んでいるのは納得できない
「昔は良かった」とぼやくようになった時点で、もう公式に中年を過ぎたのだろうが、冷蔵庫、食洗機、歯ブラシにまでアプリとは。食洗機が自分で皿を入れる日が来たら、そのときには快楽的物価調整を受け入れる
結局、異なるモデルの画像をPDFで馬鹿みたいに大きく同梱していただけなのか? 予想外だった。むしろ後で出てきたColgateアプリみたいな方向かと思っていた
Oral-Bアプリは数年前はかなり軽く、最新の世界ニュースフィードを表示し、Apple Healthにデータを記録し、連続歯磨きを促して楽しかった
ところがアプリ全体を書き直した結果、ほぼすべての機能を失い、アップグレード後の初回起動以来一度も開いていない。TestFlightのように昔のバージョンをインストールできるiOS App Storeがあればいいのに。残念ながらTestFlightも最大90日まで。そろそろBLEスニファーを引っ張り出す時かもしれないが、使い捨ての無認可一時アプリにHealthKit権限を与えるのは無理そう
サイズそのものよりさらに恥ずかしいのは、歯ブラシのモードを変えるのにアプリが必要な点だと思う。本当に許されるべきではないが、どう強制すべきかはよく分からない
ディスプレイはブラッシング時間タイマーを表示し、歯ブラシ側で必要なトラッキングはその程度で十分だ。他にボタンからアクセスできないモードがあるのかもしれないが、私は知らない
第二の課題は、何を許可し何を禁止するかを正確に定義することだが、企業が顧客を困らせるために思いつける愚かなことがあまりにも多すぎるので、良い中核原則に基づいて評価・判断するなら、そのような機関にかなり広い裁量を与えてもよいと思う。たとえば「コンパニオンアプリなしで実装できる機能は、コンパニオンアプリを要求してはならない」といった原則だ
本当の疑問は、そもそもなぜ歯ブラシにアプリが必要なのかということだ
しかもそのすべてが「同意」のもとで行われる。アプリをインストールし、利用規約やプライバシーポリシーを受け入れている可能性が高いからだ。製品とやり取りした時間や頻度を数えたり、使うよう促したりするサービスという名目もつく。まともに生活している大人なら元からやっていたことで、ただ精度が低かっただけかもしれないのに
ある都市や郡で人々が一般人口より25〜50%歯を磨いていないというデータが出れば、その地域の広告費を増やすのはかなりもっともらしい。あまり歯を磨かない人のほうが、ダメージを埋め合わせるためにデンタルガムを買う可能性が高いと考えられるからだ
展開版: https://unrollnow.com/status/1828490449881047401
正気の人がどんな理由で歯ブラシアプリをダウンロードするんだ?