1 poin oleh GN⁺ 2024-08-29 | 1 komentar | Bagikan ke WhatsApp
  • Dari 290MB aplikasi iOS Oral-B, 233MB berasal dari asset catalog, dan sebagian besar ukuran aplikasi diisi oleh aset PDF untuk berbagai model sikat gigi
  • Aset Oral-B terbesar adalah Sonos_M9_rose sebesar 7.8MB, dan banyak PDF hanya berisi gagang dan tombol alih-alih seluruh sikat gigi
  • Comino.bundle berisi file seperti 20class_seqlen26_6p5h_20200302-095627_comino_android_production, yang tampaknya merupakan bobot model
  • Aplikasi Colgate Smile lebih besar, yaitu 378MB, dengan framework Unity 125MB dan simbol biner yang tidak dihapus sebagai penyebab utama pembengkakan
  • Colgate juga menyertakan aset dan file lokalisasi 60MB secara duplikat di main bundle dan widget extension, sehingga setidaknya 120MB memperbesar ukuran aplikasi tanpa nilai fungsional

Sebagian besar ukuran aplikasi Oral-B berasal dari aset PDF

  • Dari total 290MB aplikasi Oral-B, 233MB berasal dari asset catalog
    • Setara dengan 80% dari ukuran keseluruhan
    • Sebagian besar merupakan aset PDF yang mewakili model sikat gigi yang berbeda
  • Aset PDF terbesar adalah Sonos_M9_rose dengan ukuran 7.8MB
  • Banyak PDF tidak memuat gambar seluruh sikat gigi, melainkan hanya gagang dan tombol
  • Item lain yang menonjol adalah Comino.bundle 15MB
    • Berisi file seperti 20class_seqlen26_6p5h_20200302-095627_comino_android_production
    • File-file tersebut tampaknya merupakan semacam bobot model

Masalah yang lebih besar pada Colgate Smile adalah pembengkakan yang sebenarnya bisa dikurangi

  • Ukuran aplikasi Colgate Smile adalah 378MB
  • Aplikasi ini tampaknya menggunakan Unity untuk fitur “guided brushing”
    • Framework Unity berukuran 125MB
    • Jika fitur tersebut memang bernilai, penggunaan Unity sendiri masih bisa dianggap pilihan yang masuk akal
  • Pemborosan yang lebih besar adalah simbol biner yang tidak dihapus pada aplikasi produksi
    • Simbol biner digunakan untuk symbolication
    • Jika DSYM diunggah ke crash reporter, tidak perlu menyertakannya di dalam aplikasi produksi
    • Hanya dengan menghapus simbol biner, total ukuran bisa berkurang sekitar 60MB, atau 15%
  • Faktor pembengkakan lain adalah penyertaan duplikat
    • Colgate menyertakan aset dan file lokalisasi 60MB secara duplikat di main bundle dan widget extension
    • Node berwarna merah ditandai sebagai item duplikat
  • Pada aplikasi Colgate, setidaknya 120MB dihitung sebagai ukuran yang tidak memberi nilai fungsional apa pun bagi pengguna
  • Tulisan terkait:

1 komentar

 
GN⁺ 2024-08-29
Opini Hacker News
  • Saya tidak mengerti kenapa aplikasi Oral-B dan aplikasi Colgate ada sejak awal

    • Tujuannya mengumpulkan data untuk melakukan marketing dan iklan kepada pelanggan
    • Aplikasi bisa memberi tahu gigi mana yang sudah disikat dengan benar, yaitu apakah waktunya cukup, dan gigi mana yang terlewat atau dilewati terlalu cepat
      Secara pribadi saya mencobanya sekali lalu menghapusnya, tetapi bagi orang yang ingin memastikan apakah menyikat giginya efektif, ini mungkin berguna. Bagaimanapun ini sepenuhnya opsional, dan orang bisa mengabaikan keberadaan aplikasi lalu hanya memakai sikat giginya
    • Ini alasan yang sama kenapa sekarang bahkan ada sikat gigi dengan AI. Mereka bersaing untuk terus “menemukan ulang” sikat gigi setiap tahun, demi menciptakan pembeda baru, sudut marketing baru, dan angka penjualan yang lebih tinggi
    • Mirip iklan Coca-Cola atau McDonald’s. Bukan untuk memberikan informasi baru, melainkan terus memasukkan logo, merek, dan nama ke benak penonton atau pengguna
      Dengan begitu merek tersebut terasa lebih akrab dibanding merek lain yang “tidak dikenal”, dan kemungkinan orang membelinya jadi lebih besar. Aplikasi juga sama: setiap kali dipakai, logo dan mereknya disodorkan di depan mata. Kesimpulannya, bahkan tidak perlu menjual data
    • Seperti perusahaan asuransi mobil yang memberi diskon mengemudi aman jika memakai perangkat perekam data atau aplikasi, cukup mengejutkan bahwa perusahaan asuransi kesehatan belum mulai memberi diskon untuk “orang yang menyikat gigi dengan baik”
  • Kenyataan menyedihkannya, kalau menyegarkan App Store > Your Account, aplikasi di bawah 100MB bisa dihitung dengan jari. Dalam kasus saya, sebagian besar aplikasi berukuran 300MB, dan ini baru bicara soal update saja
    Saya membandingkannya dengan Android, dan di sana aplikasi jauh lebih ringan. Aplikasi Objective-C lama jauh lebih ramping, tetapi aplikasi Swift tetap cenderung besar dan berat bahkan setelah ABI hadir. Sebagian karena kemalasan developer, sebagian lagi karena alat Apple yang kurang bagus. Tidak ada tree shaking atau penghapusan dead code pada CocoaPods atau paket Swift yang sudah dikompilasi. Apple tampaknya tidak terlalu peduli, dan mungkin malah senang menjual perangkat baru dengan penyimpanan lebih besar atau langganan iCloud

    • Saya pernah mengerjakan hal ini di Google. Format distribusi aplikasi Android modern dirancang sepenuhnya untuk memecah aplikasi menjadi bagian-bagian kecil agar pengguna hanya mengunduh dan memasang minimum yang diperlukan pada waktu tertentu
      Resource, arsitektur, dan bahasa hanya diunduh saat dibutuhkan, bahkan sampai elemen spesifik domain seperti format kompresi tekstur aset game. Jadi perangkat hanya mengambil tekstur yang diperlukan, dan developer dapat mendistribusikan dalam beberapa format agar pengguna menerima opsi terbaik yang didukung perangkatnya. Pengunduhan dan pemasangan modul kode sesuai permintaan juga dimungkinkan. Misalnya, alur pendaftaran bisa dipisah menjadi modul tersendiri yang dipasang di awal, lalu setelah pengguna mendaftar, modul itu dihapus untuk mengurangi ukuran instalasi. Ada developer yang membuat modul VOIP beberapa MB untuk dukungan pelanggan baru benar-benar diunduh atau dipasang saat layar dukungan dibuka, sehingga sebagian besar pengguna sama sekali tidak pernah memasangnya
      [0]: https://developer.android.com/guide/playcore/asset-delivery/...
    • Apple juga punya alat seperti itu. Mereka menambahkan alat baru yang juga bisa diterapkan pada dynamic library
  • https://xcancel.com/emergetools/status/1828490449881047401

    • Ini proxy Twitter terburuk yang pernah saya lihat. Muncul layar bodoh yang bilang “tunggu x detik untuk melihat halaman ini”, lalu setelah itu disuruh “muat ulang halaman”
      Rasanya seperti halaman perantara spam yang muncul saat ingin menonton streaming ilegal. Sulit dipercaya seseorang yang tidak terkait dengan situs itu memposting ini; ini alat yang mengerikan
  • Menyebalkan bahwa mengumpulkan data pengguna untuk broker data telah menjadi bisnis yang begitu bernilai. Sulit merasa senang melihat perusahaan besar terus membuat aplikasi yang mengekstrak data, alih-alih produk bagus, lalu angka-angkanya naik
    Sepertinya saya resmi melewati usia paruh baya karena mulai menggerutu “dulu lebih baik”, tetapi aplikasi untuk kulkas, mesin pencuci piring, dan sikat gigi? Kalau suatu hari mesin pencuci piring bisa memasukkan piring sendiri, barulah saya akan menerima penyesuaian inflasi hedonik

    • Andai saja kualitas iklan ikut meningkat seefisien mereka menyedot data. Saya bahkan tidak punya SIM dan sedang menjalin hubungan, tetapi sebagian besar iklan personal di perangkat saya adalah iklan situs kencan dan dealer mobil
  • Jadi pada akhirnya hanya gambar berbagai model yang dimasukkan secara bodoh dan besar-besaran sebagai PDF? Tidak sesuai dugaan. Saya kira akan seperti aplikasi Colgate yang disebut belakangan

    • Tidak masuk akal. Hal seperti itu 100% harus diambil saat dibutuhkan
    • Saya penasaran apakah PDF-nya dibuat dengan fitur “Print to PDF” di browser web. PDF yang dibuat Chrome ukurannya sangat besar
    • Saya kira mereka memakai Unreal Engine. Terakhir saya cek, aplikasi minimalnya saja lebih dari 200MB
  • Aplikasi Oral-B beberapa tahun lalu cukup ringan, menampilkan feed berita dunia terbaru, mencatat data ke Apple Health, dan menyenangkan karena mendorong streak menyikat gigi
    Namun saat seluruh aplikasinya ditulis ulang, hampir semua fitur hilang, dan saya tidak pernah membukanya lagi sejak peluncuran pertama setelah upgrade. Andai ada iOS App Store yang memungkinkan memasang versi lama seperti TestFlight. Sayangnya TestFlight pun maksimal hanya 90 hari. Mungkin sudah waktunya mengeluarkan BLE sniffer, tetapi sepertinya mustahil mendapatkan izin HealthKit untuk aplikasi sementara tanpa izin yang sekali pakai

    • “Feed berita dunia terbaru”, maksudnya apa? Oral-B? Feed berita dunia?
    • Protokolnya sudah direkayasa balik. Saya memakai Home Assistant dan Bluetooth, dan satu sikat gigi Oral-B milik tetangga terdeteksi
    • Saya ikut mengerjakan versi itu. Saya akan diam saja untuk diskusi setelah ini
  • Yang lebih memalukan daripada ukurannya sendiri adalah fakta bahwa dibutuhkan aplikasi untuk mengubah mode sikat gigi. Menurut saya ini benar-benar tidak boleh diizinkan, tapi saya kurang tahu bagaimana cara memaksakannya

    • Mungkin tergantung model apa yang dipakai dan mode apa yang ingin diubah, tetapi pada Oral-B Pro 5000, tanpa aplikasi pun mode pembersihan seperti “Daily Clean”, “Sensitive”, serta warna LED di ujungnya bisa diubah
      Layarnya menampilkan timer durasi menyikat gigi, dan untuk pelacakan yang diperlukan dari sikat gigi, segitu saja sudah cukup. Mungkin ada mode lain yang tidak bisa diakses lewat tombol, tetapi setahu saya tidak ada
    • Tugas pertama adalah memiliki lembaga perlindungan konsumen yang punya wewenang hukum untuk menarik produk yang cacat secara desain dari pasar
      Tugas kedua adalah mendefinisikan secara tepat apa yang boleh dan dilarang, tetapi karena ada begitu banyak hal bodoh yang bisa dibayangkan perusahaan untuk menyusahkan pelanggan, menurut saya tidak masalah memberi lembaga semacam itu diskresi yang cukup luas jika penilaian dan keputusannya didasarkan pada prinsip inti yang baik. Misalnya prinsip seperti “fitur yang bisa diimplementasikan tanpa aplikasi pendamping tidak boleh mewajibkan aplikasi pendamping”
    • Kenapa hal seperti ini sampai perlu legislasi? Jangan beli saja sikat gigi itu dan biarkan produknya mati secara alami
    • Di IO saya, mode bisa diubah dari sikat giginya, tetapi pemilihan daftar mode yang akan diganti dilakukan di aplikasi. Namun sepertinya nilai bawaannya adalah “semua”, jadi meskipun tidak pernah menjalankan aplikasinya, tetap bisa dipakai
  • Pertanyaan sebenarnya adalah kenapa sejak awal sikat gigi butuh aplikasi

    • Untuk mengumpulkan data pelanggan sebanyak mungkin, mengemasnya dengan harapan sudah dianonimkan, lalu menjualnya kepada broker data dan memeras lebih banyak uang dari basis pelanggan
      Semua ini dilakukan atas dasar “persetujuan”. Karena kemungkinan besar pengguna memasang aplikasi dan menerima syarat layanan atau kebijakan privasinya. Ada juga dalih bahwa ini adalah layanan untuk menghitung waktu atau frekuensi interaksi dengan produk, atau mengingatkan agar menggunakannya. Padahal bagi orang dewasa yang hidup normal, itu sudah mereka lakukan; hanya saja mungkin kurang akurat
    • Sebagai contoh hipotetis, perusahaan permen karet “dental” bisa membayar mahal untuk informasi tentang kebiasaan menyikat gigi orang yang disilangkan dengan data demografis dan geografis
      Jika data menunjukkan bahwa di kota atau county tertentu orang menyikat gigi 25–50% lebih jarang daripada populasi umum, cukup masuk akal untuk menaikkan anggaran iklan di wilayah itu. Karena orang yang jarang menyikat gigi bisa dianggap lebih mungkin membeli permen karet dental untuk mengimbangi kerusakan
    • Menunjukkan apakah kita sudah menghabiskan waktu yang cukup pada sisi depan, atas, dan belakang tiap gigi. Sikat gigi elektrik digunakan berbeda dari sikat gigi manual, bukan dengan gerakan maju-mundur
    • Jujur saya juga berpikir begitu. Mungkin statistik menyikat gigi atau waktu per gigi
    • Salah satu alasan saya pernah memakai aplikasinya adalah karena anak-anak. Aplikasi memutar animasi selama mereka menyikat gigi, menyimpan statistik, dan sebagai hadiah membiarkan mereka memilih hal seperti warna avatar
  • Versi yang dibentangkan: https://unrollnow.com/status/1828490449881047401

    • Tidak berfungsi untuk saya

      Connection failed: User 'u327838624_unroll' has exceeded the 'max_connections_per_hour' resource (current value: 500)

    • Sepertinya tumbang dihantam traffic HN

      Connection failed: User 'uxxxxxxx_unroll' has exceeded the 'max_connections_per_hour' resource (current value: 500)
      Ini error MySQL ya?

  • Orang waras mengunduh aplikasi sikat gigi karena alasan apa?

    • Kalau begitu, bagaimana cara memperbarui firmware sikat giginya? Saya berharap ini cuma bercanda, tetapi sepertinya Phillips merilis pembaruan firmware untuk Sonicare beberapa kali setahun