เหตุผลที่แอป iOS ของ Oral-B มีขนาดเกือบ 300MB? และเหตุผลที่แอป Colgate ใหญ่กว่านั้น?
(twitter.com/emergetools)- ในแอป iOS ของ Oral-B ขนาด 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 framework 125MB และ binary symbols ที่ไม่ได้ถูกลบออกเป็นปัจจัยหลักที่ทำให้ขนาดบวม
- Colgate ใส่ แอสเซ็ตและไฟล์ localization 60MB ซ้ำ ทั้งใน main bundle และ widget extension ทำให้อย่างน้อย 120MB เพิ่มขนาดแอปโดยไม่มีคุณค่าเชิงฟังก์ชัน
ขนาดส่วนใหญ่ของแอป Oral-B คือแอสเซ็ต PDF
- ในแอป Oral-B ขนาดรวม 290MB มี 233MB มาจาก asset catalog
- คิดเป็น 80% ของขนาดทั้งหมด
- ส่วนใหญ่เป็นแอสเซ็ต PDF ที่แสดงแปรงสีฟันรุ่นต่าง ๆ
- แอสเซ็ต PDF ที่ใหญ่ที่สุดคือ
Sonos_M9_roseขนาด 7.8MB - PDF หลายไฟล์ไม่ได้มีภาพแปรงสีฟ้าทั้งด้าม แต่มีเพียง ด้ามจับและปุ่ม เท่านั้น
- รายการอื่นที่สะดุดตาคือ
Comino.bundleขนาด 15MB- มีไฟล์อย่าง
20class_seqlen26_6p5h_20200302-095627_comino_android_production - ไฟล์เหล่านี้ดูเหมือนเป็นน้ำหนักของโมเดลบางประเภท
- มีไฟล์อย่าง
ปัญหาที่ใหญ่กว่าของ Colgate Smile คือขนาดบวมที่ลดได้
- ขนาดแอป Colgate Smile คือ 378MB
- ดูเหมือนว่าแอปใช้ Unity เพราะฟีเจอร์ “guided brushing”
- Unity framework มีขนาด 125MB
- หากฟีเจอร์ดังกล่าวมีคุณค่า การใช้ Unity เองก็ถือเป็นทางเลือกที่พอเข้าใจได้
- การสิ้นเปลืองที่ใหญ่กว่าคือ ไม่ได้ลบ binary symbols ออกจากแอป production
- binary symbols ใช้สำหรับ symbolication
- หากอัปโหลด DSYM ไปยัง crash reporter แล้ว ก็ไม่จำเป็นต้องรวมไว้ในแอป production
- แค่ลบ binary symbols ก็ลดขนาดรวมได้ ประมาณ 60MB หรือ 15%
- อีกปัจจัยที่ทำให้ขนาดบวมคือ การใส่ซ้ำ
- Colgate ใส่แอสเซ็ตและไฟล์ localization ขนาด 60MB ซ้ำใน main bundle และ widget extension
- โหนดสีแดงแสดงรายการที่ซ้ำกัน
- ในแอป Colgate คำนวณได้ว่ามีอย่างน้อย 120MB ที่เป็นขนาดซึ่งไม่ได้ให้คุณค่าเชิงฟังก์ชันใด ๆ แก่ผู้ใช้
- บทความที่เกี่ยวข้อง:
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
ไม่เข้าใจเลยว่าแอป Oral-B กับแอป Colgate มีอยู่ทำไมตั้งแต่แรก
ส่วนตัวลองใช้ครั้งหนึ่งแล้วลบทิ้ง แต่สำหรับคนที่อยากตรวจว่าการแปรงฟันมีประสิทธิภาพไหม ก็อาจมีประโยชน์อยู่ ยังไงมันก็เป็นทางเลือกทั้งหมด จะเมินการมีอยู่ของแอปแล้วใช้แค่แปรงสีฟันก็ได้
จากนั้นก็จะรู้สึกคุ้นเคยมากกว่าแบรนด์อื่นที่ “ไม่รู้จัก” และมีโอกาสซื้อแบรนด์นั้นมากขึ้น แอปก็เหมือนกัน ทุกครั้งที่ใช้ก็เอาโลโก้กับแบรนด์มาอยู่ตรงหน้า สรุปคือ ไม่จำเป็นต้องขายข้อมูลด้วยซ้ำ
ความจริงอันน่าเศร้าคือถ้าลองรีเฟรชใน App Store > Your Account จะเห็นว่า แอปที่ต่ำกว่า 100MB นับได้แทบไม่กี่แอป ในกรณีของผม แอปส่วนใหญ่ 300MB และนี่พูดถึงแค่ตัวอัปเดตเท่านั้น
ลองเทียบกับ Android แล้ว แอปฝั่งนั้นเบากว่ามาก แอป Objective-C รุ่นเก่าเคยผอมเพรียวกว่านี้มาก แต่แอป Swift แม้หลังจากมี ABI แล้วก็ยังมีขนาดใหญ่และหนักอยู่ ส่วนหนึ่งเป็นเพราะนักพัฒนาขี้เกียจ และอีกส่วนหนึ่งเพราะเครื่องมือของ Apple ไม่ค่อยดี ไม่มี tree shaking หรือการลบ dead code ใน CocoaPods หรือแพ็กเกจ Swift ที่คอมไพล์แล้ว Apple ก็ไม่ได้ใส่ใจนัก และคงยินดีเสียด้วยซ้ำที่จะขายอุปกรณ์ใหม่ที่มีพื้นที่เก็บข้อมูลมากขึ้นหรือขายสมัครสมาชิก iCloud
ทรัพยากร สถาปัตยกรรม และภาษา จะถูกดาวน์โหลดเมื่อจำเป็นเท่านั้น และยังลงรายละเอียดไปถึงองค์ประกอบเฉพาะด้านอย่างรูปแบบการบีบอัดเท็กซ์เจอร์ของ asset เกมด้วย ดังนั้นอุปกรณ์จะรับเฉพาะเท็กซ์เจอร์ที่ต้องใช้ และนักพัฒนาสามารถแจกจ่ายหลายรูปแบบเพื่อให้ผู้ใช้ได้ตัวเลือกที่ดีที่สุดที่อุปกรณ์ของตนรองรับ ยังสามารถดาวน์โหลดและติดตั้งโมดูลโค้ดแบบ on-demand ได้ด้วย เช่น แยกขั้นตอนสมัครสมาชิกเป็นโมดูลต่างหาก ติดตั้งตอนเริ่มต้น แล้วหลังผู้ใช้สมัครแล้วก็เอาออกเพื่อลดขนาดติดตั้งได้ นักพัฒนาบางรายไม่ดาวน์โหลดหรือติดตั้งโมดูล VOIP ขนาดไม่กี่ MB สำหรับฝ่ายสนับสนุนลูกค้าจริง ๆ จนกว่าผู้ใช้จะเปิดหน้าสนับสนุน ทำให้ผู้ใช้ส่วนใหญ่ไม่ต้องติดตั้งมันเลย
[0]: https://developer.android.com/guide/playcore/asset-delivery/...
https://xcancel.com/emergetools/status/1828490449881047401
เหมือนหน้าคั่นสแปมที่เจอตอนจะดูสตรีมเถื่อน เป็น เครื่องมือที่ห่วยแตก จนแทบไม่อยากเชื่อว่าคนที่ไม่เกี่ยวกับที่นั่นเป็นคนโพสต์ลิงก์นี้
น่าหงุดหงิดที่การเก็บข้อมูลผู้ใช้ให้ data broker กลายเป็นธุรกิจที่มีมูลค่ามากเหลือเกิน ยอมดีใจไปกับตัวเลขที่บริษัทใหญ่ ๆ เพิ่มขึ้นเรื่อย ๆ จากการสร้างแอปดูดข้อมูลแทนที่จะทำผลิตภัณฑ์ดี ๆ ไม่ได้เลย
ดูเหมือนผมจะเข้าสู่วัยกลางคนอย่างเป็นทางการแล้วที่เริ่มบ่นว่า “เมื่อก่อนดีกว่า” แต่ตู้เย็น เครื่องล้างจาน แปรงสีฟันมีแอปเนี่ยนะ ถ้าวันที่เครื่องล้างจาน เอาจานเข้าเครื่องเอง มาถึง เมื่อถึงตอนนั้นผมค่อยยอมรับการปรับราคาตามคุณภาพเชิงอรรถประโยชน์ก็ได้
สุดท้ายแล้วก็แค่เอารูปรุ่นต่าง ๆ ใส่เป็น PDF ขนาดใหญ่แบบโง่ ๆ เท่านั้นเหรอ? ไม่เหมือนที่คาดไว้ นึกว่าจะเป็นแบบแอป Colgate ที่พูดถึงตอนท้าย
แอป Oral-B เมื่อไม่กี่ปีก่อนค่อนข้างเบา แสดงฟีดข่าวโลกล่าสุด บันทึกข้อมูลลง Apple Health และกระตุ้นให้แปรงฟันต่อเนื่อง เลยสนุกดี
แต่พอเขียนแอปใหม่ทั้งตัว ก็เสียฟีเจอร์ไปแทบทั้งหมด และหลังเปิดครั้งแรกหลังอัปเกรด ผมก็ไม่เคยเปิดอีกเลย อยากให้ iOS App Store มีแบบที่ติดตั้งเวอร์ชันเก่าได้เหมือน TestFlight น่าเสียดายที่ TestFlight ก็ได้สูงสุดแค่ 90 วัน ตอนนี้อาจถึงเวลาหยิบ BLE sniffer ออกมาแล้ว แต่การขอ สิทธิ์ HealthKit ให้แอปชั่วคราวที่ไม่ได้รับอนุญาตแบบใช้ครั้งเดียวคงเป็นไปไม่ได้
สิ่งที่น่าอายยิ่งกว่าขนาดของมันเองคือ การจะเปลี่ยนโหมดของแปรงสีฟันต้องใช้แอป ผมคิดจริง ๆ ว่าไม่ควรอนุญาตให้เป็นแบบนี้ แต่ก็ไม่แน่ใจว่าควรบังคับอย่างไร
หน้าจอจะแสดงตัวจับเวลาแปรงฟัน และการติดตามที่จำเป็นจากแปรงสีฟันก็มีแค่นั้นก็พอแล้ว อาจมีโหมดอื่นที่เข้าถึงด้วยปุ่มไม่ได้ แต่เท่าที่ผมรู้ไม่มี
ภารกิจที่สองคือการนิยามให้ชัดเจนว่าอะไรควรอนุญาตและอะไรควรห้าม แต่เพราะมีเรื่องโง่ ๆ มากมายที่บริษัทจินตนาการขึ้นมาได้เพื่อกวนใจลูกค้า ผมจึงคิดว่าสามารถให้อำนาจใช้ดุลยพินิจค่อนข้างกว้างแก่หน่วยงานแบบนั้นได้ หากประเมินและตัดสินจากหลักการแกนกลางที่ดี เช่น หลักการว่า “ฟีเจอร์ที่ทำได้โดยไม่ต้องมีแอปร่วม ไม่ควรถูกบังคับให้ใช้แอปร่วม”
คำถามจริง ๆ คือ ตั้งแต่แรกทำไม แปรงสีฟันถึงต้องมีแอป
ทั้งหมดนี้เกิดขึ้นภายใต้ “ความยินยอม” เพราะคุณติดตั้งแอปและมีแนวโน้มว่าจะยอมรับข้อกำหนดการให้บริการหรือประกาศความเป็นส่วนตัวแล้ว แถมยังอ้างว่าเป็นบริการที่นับเวลาหรือความถี่ที่คุณโต้ตอบกับผลิตภัณฑ์ หรือแจ้งเตือนให้ใช้งาน ทั้งที่ถ้าเป็นผู้ใหญ่ที่ใช้ชีวิตปกติ ก็คงทำสิ่งนี้อยู่แล้ว แค่ก่อนหน้านี้มันแม่นยำน้อยกว่าเท่านั้น
ถ้าข้อมูลแสดงว่าในเมืองหรือเทศมณฑลหนึ่ง ๆ ผู้คนแปรงฟันน้อยกว่าประชากรทั่วไป 25–50% การเพิ่มงบโฆษณาในพื้นที่นั้นก็ดูสมเหตุสมผลทีเดียว เพราะอาจมองได้ว่าคนที่ไม่ค่อยแปรงฟันมีแนวโน้มจะซื้อหมากฝรั่งเพื่อทันตกรรมเพื่อชดเชยความเสียหายมากกว่า
เวอร์ชันที่คลี่ออก: https://unrollnow.com/status/1828490449881047401
คนสติปกติจะดาวน์โหลด แอปแปรงสีฟัน ไปทำไมกัน?