1 puan yazan GN⁺ 2024-08-29 | 1 yorum | WhatsApp'ta paylaş
  • 290MB’lık Oral-B iOS uygulamasında 233MB asset catalog kaynaklı; uygulama boyutunun büyük kısmını farklı diş fırçası modelleri için kullanılan PDF varlıkları oluşturuyor
  • Oral-B’deki en büyük varlık Sonos_M9_rose ve 7.8MB boyutunda; birçok PDF, diş fırçasının tamamını değil yalnızca sap ve düğmeleri içeriyor
  • Comino.bundle içinde 20class_seqlen26_6p5h_20200302-095627_comino_android_production gibi dosyalar bulunuyor; bunlar model ağırlıkları gibi görünüyor
  • Colgate Smile uygulaması 378MB ile daha da büyük; bunun başlıca şişme nedenleri 125MB’lık Unity framework’ü ve kaldırılmamış ikili semboller
  • Colgate, ana bundle ile widget eklentisinde 60MB’lık varlık ve yerelleştirme dosyalarını tekrar ediyor; bu da işlevsel bir değer katmadan uygulama boyutunu en az 120MB büyütüyor

Oral-B uygulama boyutunun büyük kısmı PDF varlıklarından oluşuyor

  • Oral-B uygulamasında toplam 290MB’ın 233MB’ı asset catalog kaynaklı
    • Bu, toplam boyutun %80’ine karşılık geliyor
    • Bunun büyük kısmını farklı diş fırçası modellerini gösteren PDF varlıkları oluşturuyor
  • En büyük PDF varlığı Sonos_M9_rose ve 7.8MB boyutunda
  • Birçok PDF, diş fırçasının tam görselini değil yalnızca sap ve düğmeleri içeriyor
  • Dikkat çeken bir diğer öğe ise 15MB’lık Comino.bundle
    • İçinde 20class_seqlen26_6p5h_20200302-095627_comino_android_production gibi dosyalar bulunuyor
    • Bu dosyalar bir tür model ağırlığı gibi görünüyor

Colgate Smile’daki daha büyük sorun, azaltılabilir şişkinlik

  • Colgate Smile uygulamasının boyutu 378MB
  • Uygulama, “guided brushing” özelliği nedeniyle Unity kullanıyor gibi görünüyor
    • Unity framework’ü 125MB boyutunda
    • Bu özellik gerçekten değer sağlıyorsa, Unity kullanımı başlı başına makul bir tercih sayılabilir
  • Daha büyük israf ise üretim uygulamasında ikili sembollerin kaldırılmamış olması
    • İkili semboller symbolication için kullanılır
    • DSYM dosyalarını crash reporter’a yüklüyorsanız, bunların üretim uygulamasının içinde yer almasına gerek yoktur
    • Yalnızca ikili sembolleri kaldırmak bile toplamda yaklaşık 60MB, yani %15 tasarruf sağlayabilir
  • Bir diğer şişkinlik nedeni ise tekrarlı dahil etme
    • Colgate, ana bundle ile widget eklentisinde varlıkları ve yerelleştirme dosyalarını 60MB olacak şekilde tekrar ediyor
    • Kırmızı düğümler tekrar eden öğeleri gösteriyor
  • Colgate uygulamasında en az 120MB, kullanıcıya işlevsel hiçbir değer sağlamayan boyut olarak hesaplanıyor
  • İlgili yazılar:

1 yorum

 
GN⁺ 2024-08-29
Hacker News yorumları
  • Oral-B uygulamasıyla Colgate uygulamasının en başta neden var olduğunu anlamıyorum

    • Müşterilere pazarlama ve reklam yapmak için veri toplamaya çalışıyorlar
    • Uygulama hangi dişleri düzgün fırçaladığınızı, yani yeterince zaman ayırıp ayırmadığınızı ve hangi dişleri atladığınızı ya da çok hızlı geçtiğinizi söyleyebilir.
      Kişisel olarak bir kez deneyip sildim, ama fırçalamanın verimli olup olmadığını kontrol etmek isteyenler için faydalı olabilir. Sonuçta tamamen isteğe bağlı; uygulamanın varlığını yok sayıp sadece fırçayı kullanabilirsiniz
    • Artık AI destekli diş fırçalarının bile çıkmasının nedeni de aynı. Her yıl diş fırçasını yeniden icat etme yarışında yeni bir farklılaştırıcı unsur, yeni bir pazarlama açısı ve daha yüksek satışlar yaratmaya çalışıyorlar
    • Kola ya da McDonald’s reklamlarına benziyor. Yeni bilgi vermiyor; logoyu, markayı ve ismi sürekli izleyicinin ya da kullanıcının zihnine yerleştiriyor.
      Böylece başka “bilinmeyen” markalara göre daha tanıdık geliyor ve o markayı satın alma olasılığı artıyor. Uygulama da aynı şekilde, her kullandığınızda logoyu ve markayı gözünüzün önüne sokuyor. Sonuç olarak veri satmalarına bile gerek yok
    • Otomobil sigortacılarının veri kayıt cihazı ya da uygulama kullanınca güvenli sürüş indirimi vermesi gibi, sağlık sigortacılarının “dişlerini iyi fırçalayan” indirimi henüz başlatmamış olması şaşırtıcı
  • Üzücü gerçek şu ki App Store > Your Account’ta yenileme yaptığınızda 100 MB altı uygulama sayısı bir elin parmaklarını geçmiyor. Benim durumda uygulamaların çoğu 300 MB ve burada sadece güncellemelerden bahsediyorum.
    Android ile karşılaştırınca orada uygulamalar çok daha hafif. Eski Objective-C uygulamaları çok daha inceydi; Swift uygulamaları ise ABI geldikten sonra bile büyük ve hantal kalıyor. Bunda geliştirici tembelliğinin de payı var, Apple araçlarının pek iyi olmamasının da. Derlenmiş CocoaPods ya da Swift paketlerinde tree shaking veya ölü kod temizleme yok. Apple pek umursamıyor; hatta daha büyük depolamalı yeni cihazlar ya da iCloud abonelikleri satmayı memnuniyetle karşılıyor gibiler

    • Google’da bu iş üzerinde çalışmıştım. Modern Android uygulama dağıtım formatı, kullanıcının herhangi bir anda yalnızca ihtiyaç duyduğu minimum kısmı indirip kurması için uygulamaları parçalara ayırmaya tamamen odaklı tasarlandı.
      Kaynaklar, mimariler ve diller yalnızca gerektiğinde indiriliyor; oyun asset’lerindeki doku sıkıştırma formatları gibi alana özgü öğeler de buna dahil. Böylece cihaz yalnızca ihtiyaç duyduğu dokuları alıyor, geliştirici de birden fazla formatta dağıtım yaparak kullanıcının kendi cihazının desteklediği en iyi seçeneği almasını sağlayabiliyor. İsteğe bağlı kod modüllerinin indirilip kurulması da mümkün. Örneğin kayıt sürecini ayrı bir modüle ayırıp başta kurabilir, kullanıcı kaydolduktan sonra da kurulum boyutunu azaltmak için kaldırabilirsiniz. Bazı geliştiriciler müşteri desteği için birkaç MB’lık VOIP modülünü kullanıcı destek ekranını açana kadar gerçekten indirip kurmuyor; bu yüzden çoğu kullanıcıda hiç kurulmamış oluyor.
      [0]: https://developer.android.com/guide/playcore/asset-delivery/...
    • Apple’da da böyle araçlar var. Dinamik kütüphanelere de uygulanabilen yeni bir araç eklediler
  • https://xcancel.com/emergetools/status/1828490449881047401

    • Şimdiye kadar gördüğüm en kötü Twitter proxy’si. “Bu sayfayı görmek için x saniye bekleyin” diyen aptal bir ekran çıkıyor, ardından da “sayfayı yeniden yükleyin” diyor.
      Korsan yayın izlemeye çalışırken çıkan spam ara sayfalara benziyor. Orayla ilgisi olmayan birinin bunu paylaşmış olmasına inanmak zor; berbat bir araç
  • Veri broker’ları için kullanıcı verisi toplamanın bu kadar değerli bir işe dönüşmesi sinir bozucu. Büyük şirketlerin iyi ürünler yerine veri sömüren uygulamalar yapmayı sürdürüp rakamların yükselmesine sevinmelerine katlanamıyorum.
    “Eskiden her şey daha iyiydi” diye homurdanmaya başladığıma göre resmen orta yaşı geçmiş olmalıyım; ama buzdolabı, bulaşık makinesi, diş fırçası için uygulama nedir? Bulaşık makinesi bulaşıkları kendi kendine yerleştirdiği gün gelirse, işte o zaman hedonik fiyat düzeltmesini kabul ederim

    • Keşke veriyi emme verimliliği kadar reklam kalitesi de artsa. Ehliyetim bile yok ve bir ilişkim var, ama cihazlarımdaki kişiselleştirilmiş reklamların önemli bir kısmı flört siteleri ve otomobil bayileri reklamları
  • Sonuçta farklı model görsellerini aptalca şişirilmiş şekilde PDF olarak koymalarından mı ibaret? Beklediğim bu değildi. Daha sonra bahsi geçen Colgate uygulaması gibi bir şey sanmıştım

    • Saçmalık. Böyle şeyler %100 gerektiğinde indirilmeli
    • PDF’yi web tarayıcısının “PDF olarak yazdır” özelliğiyle mi oluşturduklarını merak ediyorum. Chrome’un ürettiği PDF’ler inanılmaz büyük oluyor
    • Unreal Engine kullandıklarını sanmıştım. En son kontrol ettiğimde en minimal uygulama bile 200 MB’tan büyüktü
  • Oral-B uygulaması birkaç yıl önce oldukça hafifti; güncel dünya haberleri akışı gösteriyor, Apple Health’e veri kaydediyor ve kesintisiz diş fırçalamayı teşvik ettiği için eğlenceliydi.
    Ama tüm uygulamayı yeniden yazınca neredeyse bütün özellikleri kaybetti ve yükseltmeden sonraki ilk çalıştırmadan beri bir daha hiç açmadım. iOS App Store’da TestFlight gibi eski sürümleri kurmaya izin veren bir şey olsa keşke. Ne yazık ki TestFlight da en fazla 90 gün. Artık BLE sniffer’ı çıkarma zamanı gelmiş olabilir, ama tek seferlik izinsiz geçici bir uygulamaya HealthKit izni almak imkânsız gibi

    • “Güncel dünya haberleri akışı” mı, ne? Oral-B? Dünya haberleri akışı?
    • Protokol zaten tersine mühendislikle çözüldü. Home Assistant ve Bluetooth kullanıyorum; komşunun bir Oral-B diş fırçası görünüyor
    • O sürüm üzerinde çalışmıştım. Bundan sonraki tartışmada sessiz kalacağım
  • Boyutunun kendisinden daha utanç verici olan şey, diş fırçasının modunu değiştirmek için bir uygulamaya ihtiyaç duyulması. Buna gerçekten izin verilmemesi gerektiğini düşünüyorum ama bunun nasıl zorlanacağı konusunda pek emin değilim

    • Hangi modeli kullandığınıza ve hangi modu değiştirmeye çalıştığınıza bağlı olabilir ama Oral-B Pro 5000’de uygulama olmadan da “Daily Clean”, “Sensitive” gibi temizleme modlarını ve uç kısımdaki LED rengini değiştirebiliyordunuz
      Ekran diş fırçalama süresi zamanlayıcısını gösteriyor; diş fırçasında gereken takip için bu kadarı yeterli. Düğmeyle erişilemeyen başka modlar olabilir ama benim bildiğim yok
    • İlk görev, tasarım gereği kusurlu ürünleri piyasadan kaldırma konusunda yasal yetkiye sahip bir tüketici koruma kurumu oluşturmak
      İkinci görev ise neye izin verilip neyin yasaklanacağını tam olarak tanımlamak; şirketlerin müşterileri uğraştırmak için hayal edebileceği aptalca şeylerin sayısı o kadar fazla ki, iyi temel ilkelere dayanarak değerlendirip karar verdikleri sürece böyle bir kuruma oldukça geniş bir takdir yetkisi verilebileceğini düşünüyorum. Örneğin “eşlik eden bir uygulama olmadan uygulanabilecek özellikler, eşlik eden bir uygulamayı zorunlu kılmamalıdır” gibi bir ilke
    • Bunun için neden yasama gerekiyor ki? O diş fırçasını satın almayın, ürünün doğal şekilde ölmesine izin verin yeter
    • Benim IO’mda modları diş fırçasından değiştirebiliyorsunuz ama değiştirilecek mod listesinin seçimi uygulamadan yapılıyor. Yine de varsayılan değer “hepsi” gibi görünüyor, bu yüzden uygulamayı hiç çalıştırmasanız bile hâlâ kullanabiliyorsunuz
  • Asıl soru, en başta neden diş fırçası için bir uygulamaya ihtiyaç olduğu

    • Mümkün olduğunca çok müşteri verisi toplayıp, anonimleştirilmesini umarak paketleyip veri brokerlarına satmak ve müşteri tabanından daha fazla para çıkarmak için
      Bunların hepsi “rıza” kapsamında yapılıyor. Çünkü uygulamayı yüklemiş ve büyük olasılıkla hizmet şartlarını ya da gizlilik politikasını kabul etmiş oluyorsunuz. Ürünle ne zaman veya ne sıklıkta etkileşime geçtiğinizi sayan ya da ürünü kullanmanızı hatırlatan bir hizmet bahanesi de var. Normal yaşayan bir yetişkin olarak zaten yaptığınız bir şey; sadece daha az doğruydu, o kadar
    • Varsayımsal bir örnek olarak, “diş sağlığına yönelik” sakız şirketleri insanların diş fırçalama alışkanlıklarının demografik ve coğrafi verilerle çaprazlanmış bilgileri için çok para ödeyebilir
      Belirli bir şehirde veya ilçede insanların genel nüfusa göre dişlerini %25-50 daha az fırçaladığını gösteren veri varsa, o bölgede reklam harcamasını artırmak oldukça makul olur. Çünkü dişlerini iyi fırçalamayan kişilerin hasarı telafi etmek için diş sağlığına yönelik sakız satın alma olasılığının daha yüksek olduğu düşünülebilir
    • Her dişin ön yüzüne, üst yüzüne ve arka yüzüne yeterince zaman ayırıp ayırmadığınızı gösteriyor. Elektrikli diş fırçası, manuel diş fırçasından farklı kullanılır; ileri geri hareket ettirme yöntemi değildir
    • Açıkçası ben de aynı şeyi düşünmüştüm. Diş fırçalama istatistikleri ya da diş başına süre gibi bir şey mi diye
    • Uygulamayı kullanmamın bir nedeni çocuklardı. Diş fırçalarken animasyon oynatıyor, istatistik tutuyor ve ödül olarak avatar rengi gibi şeyler seçmelerine izin veriyor
  • Açılmış sürüm: https://unrollnow.com/status/1828490449881047401

    • Bende çalışmıyor

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

    • HN trafiği altında ezilmiş gibi

      Connection failed: User 'uxxxxxxx_unroll' has exceeded the 'max_connections_per_hour' resource (current value: 500)
      Bu bir MySQL hatası mı?

  • Aklı başında biri hangi nedenle diş fırçası uygulaması indirir ki?

    • Peki diş fırçasının firmware’i nasıl güncellenecek? Keşke şaka olsa ama Phillips, Sonicare için yılda birkaç kez firmware güncellemesi yayımlıyor gibi görünüyor