Oral-B iOS ऐप लगभग 300MB का क्यों है? Colgate ऐप उससे भी बड़ा क्यों है?
(twitter.com/emergetools)- Oral-B iOS ऐप के 290MB में से 233MB asset catalog से आते हैं, और ऐप के आकार का ज़्यादातर हिस्सा कई toothbrush models के लिए PDF assets लेते हैं
- Oral-B का सबसे बड़ा asset
Sonos_M9_rose7.8MB का है, और कई PDFs में पूरा toothbrush नहीं, बल्कि सिर्फ handle और buttons हैं Comino.bundleमें20class_seqlen26_6p5h_20200302-095627_comino_android_productionजैसी files हैं, जो model weights लगती हैं- Colgate Smile ऐप 378MB का है और उससे भी बड़ा है; Unity framework 125MB और न हटाए गए binary symbols इसके बड़े होने के मुख्य कारण हैं
- Colgate ने main bundle और widget extension में 60MB assets और localization files को duplicate करके शामिल किया है, जिससे कम से कम 120MB बिना किसी functional value के ऐप size बढ़ाता है
Oral-B ऐप size का ज़्यादातर हिस्सा PDF assets हैं
- Oral-B ऐप के कुल 290MB में से 233MB asset catalog से आते हैं
- यह कुल size का 80% है
- ज़्यादातर अलग-अलग toothbrush models दिखाने वाले PDF assets हैं
- सबसे बड़ा PDF asset
Sonos_M9_roseहै, जिसका size 7.8MB है - कई PDFs में toothbrush की पूरी image नहीं, बल्कि सिर्फ handle और buttons शामिल हैं
- एक और ध्यान देने लायक item 15MB
Comino.bundleहै- इसमें
20class_seqlen26_6p5h_20200302-095627_comino_android_productionजैसी files शामिल हैं - ये files किसी तरह के model weights लगती हैं
- इसमें
Colgate Smile की बड़ी समस्या घटाई जा सकने वाली bloating है
- Colgate Smile ऐप का size 378MB है
- ऐप “guided brushing” feature की वजह से Unity का इस्तेमाल करता दिखता है
- Unity framework 125MB का है
- अगर उस feature में value है, तो Unity का इस्तेमाल अपने-आप में समझ में आने वाला चुनाव माना जा सकता है
- बड़ा waste production ऐप में binary symbols न हटाने की बात है
- binary symbols symbolication के लिए इस्तेमाल होते हैं
- अगर DSYM को crash reporter पर upload किया जाता है, तो इन्हें production ऐप के अंदर शामिल करने की ज़रूरत नहीं है
- सिर्फ binary symbols हटाने से कुल लगभग 60MB, 15% कम किया जा सकता है
- bloating का एक और कारण duplicate inclusion है
- Colgate ने main bundle और widget extension में assets और localization files के 60MB duplicate शामिल किए हैं
- लाल nodes duplicate items के रूप में दिखाए गए हैं
- Colgate ऐप में कम से कम 120MB ऐसा size माना गया है जो users को कोई functional value नहीं देता
- संबंधित लेख:
1 टिप्पणियां
Hacker News राय
समझ नहीं आता कि Oral-B ऐप और Colgate ऐप शुरुआत से मौजूद ही क्यों हैं
निजी तौर पर मैंने इसे एक बार इस्तेमाल करके हटा दिया, लेकिन जो लोग यह जांचना चाहते हैं कि उनकी brushing efficient है या नहीं, उनके लिए यह उपयोगी हो सकता है। वैसे भी यह पूरी तरह optional है, और ऐप के अस्तित्व को नजरअंदाज करके सिर्फ toothbrush इस्तेमाल किया जा सकता है
इससे वह किसी दूसरी “अनजान” brand की तुलना में ज्यादा familiar लगती है और उस brand को खरीदने की संभावना बढ़ती है। ऐप भी ऐसा ही है: हर बार इस्तेमाल करने पर logo और brand आपकी आंखों के सामने ला देता है। कुल मिलाकर डेटा बेचने की जरूरत भी नहीं पड़ती
दुखद हकीकत यह है कि App Store > Your Account में refresh करें तो 100MB से कम के ऐप्स गिने-चुने मिलते हैं। मेरे मामले में ज्यादातर apps 300MB के हैं, और यह भी सिर्फ updates की बात है
Android से तुलना की तो वहां apps काफी हल्के हैं। पुराने Objective-C apps बहुत ज्यादा lean थे, लेकिन Swift apps ABI आने के बाद भी बड़े और भारी ही हैं। कुछ वजह developer की laziness है, और कुछ Apple tools का खराब होना भी। compiled CocoaPods या Swift packages में tree shaking या dead code removal नहीं है। Apple ज्यादा परवाह नहीं करता, और शायद उसे बड़े storage वाले नए devices या iCloud subscriptions बेचने में ही खुशी होगी
resources, architecture और languages जरूरत पड़ने पर ही download होते हैं, और game asset texture compression format जैसे domain-specific elements भी इसमें शामिल हैं। इसलिए device सिर्फ जरूरी textures लेता है, और developer कई formats में distribute कर सकता है ताकि user को उसके device द्वारा supported best option मिले। on-demand code module download और installation भी संभव है। उदाहरण के लिए signup flow को अलग module बनाकर शुरुआत में install किया जा सकता है, और user के signup के बाद उसे हटाकर install size घटाया जा सकता है। एक developer ने customer support के लिए कुछ MB का VOIP module तब तक सचमुच download या install नहीं कराया जब तक support screen न खोली जाए, इसलिए ज्यादातर users के लिए वह कभी install ही नहीं होता
[0]: https://developer.android.com/guide/playcore/asset-delivery/...
https://xcancel.com/emergetools/status/1828490449881047401
यह illegal streaming देखने की कोशिश में आने वाले spam interstitial pages जैसा है। यकीन करना मुश्किल है कि वहां से असंबंधित किसी ने इसे post किया; यह भयानक tool है
data brokers के लिए user data collection इतना valuable business बन गया है, यह परेशान करने वाली बात है। बड़ी कंपनियां अच्छे products के बजाय data निकालने वाले apps बनाती रहें और numbers बढ़ते देखकर खुश हों, यह अच्छा नहीं लगता
“पहले के दिन अच्छे थे” वाली शिकायत करने लगा हूं, तो लगता है मैं आधिकारिक तौर पर middle age पार कर चुका हूं, लेकिन fridge, dishwasher, toothbrush में apps? जिस दिन dishwasher खुद बर्तन डालने लगेगा, तब शायद hedonic price adjustment स्वीकार कर लूंगा
तो आखिर मामला बस इतना है कि अलग-अलग model images को PDF में बेवकूफी से बहुत बड़ा डाल दिया गया है? उम्मीद से अलग। मुझे लगा था यह आगे आने वाले Colgate app जैसा होगा
Oral-B app कुछ साल पहले काफी हल्का था, latest world news feed दिखाता था, Apple Health में data record करता था, और brushing streaks को encourage करके मजेदार था
लेकिन उन्होंने पूरा app फिर से लिखा और लगभग सारी features खो दीं, और upgrade के बाद पहली launch के बाद मैंने उसे कभी नहीं खोला। काश iOS App Store में TestFlight जैसा कोई तरीका होता जिससे पुराने versions install किए जा सकें। अफसोस, TestFlight भी अधिकतम 90 दिन ही है। शायद अब BLE sniffer निकालने का समय है, लेकिन one-off unauthorized temporary app के लिए HealthKit permission मिलना शायद संभव नहीं होगा
साइज से भी ज़्यादा शर्मनाक बात यह है कि toothbrush के मोड बदलने के लिए app की ज़रूरत पड़ती है। मुझे सच में लगता है कि इसकी अनुमति नहीं होनी चाहिए, लेकिन इसे कैसे enforce किया जाए, यह ठीक से नहीं पता
display brushing-time timer दिखाता है, और toothbrush में जितनी tracking चाहिए, उतनी तो यही काफी है। हो सकता है ऐसे दूसरे modes हों जिन्हें button से access न किया जा सके, लेकिन मेरी जानकारी में नहीं हैं
दूसरा काम यह है कि क्या allow किया जाए और क्या ban, इसे ठीक-ठीक define करना। लेकिन companies customers को परेशान करने के लिए जितनी बेवकूफियां सोच सकती हैं, वे इतनी ज्यादा हैं कि अगर assessment और decision अच्छे core principles पर आधारित हों, तो ऐसी agency को काफी व्यापक discretion देना ठीक लगेगा। उदाहरण के लिए, “जो feature companion app के बिना implement किया जा सकता है, उसके लिए companion app की requirement नहीं होनी चाहिए” जैसा principle
असली सवाल यह है कि शुरुआत में ही toothbrush में app की ज़रूरत क्यों है
यह सब “consent” के तहत होता है। क्योंकि आपने app install किया और शायद service terms या privacy policy accept की होगी। इसे product के साथ interaction का समय या frequency गिनने, या आपको इसे इस्तेमाल करने की याद दिलाने वाली service का नाम भी दिया जाता है। जबकि सामान्य adult तो यह काम पहले से कर ही रहा होता है, बस थोड़ा कम accurate तरीके से
अगर data दिखाए कि किसी खास शहर या county में लोग general population की तुलना में 25–50% कम teeth brush करते हैं, तो उस इलाके में ad spend बढ़ाना काफी plausible है। क्योंकि जिन लोगों की brushing habits अच्छी नहीं हैं, वे damage offset करने के लिए dental gum खरीदने की अधिक संभावना रखते होंगे
अनरोल किया हुआ version: https://unrollnow.com/status/1828490449881047401
कोई sane इंसान किस वजह से toothbrush app download करेगा?