Vì sao ứng dụng iOS của Oral-B gần 300MB? Vì sao ứng dụng Colgate còn lớn hơn?
(twitter.com/emergetools)- Trong 290MB của ứng dụng iOS Oral-B, 233MB đến từ asset catalog, và phần lớn dung lượng ứng dụng bị chiếm bởi các tài sản PDF cho nhiều mẫu bàn chải đánh răng
- Tài sản lớn nhất của Oral-B là
Sonos_M9_rosevới 7,8MB, và nhiều PDF không chứa toàn bộ bàn chải mà chỉ chứa tay cầm và nút bấm Comino.bundlechứa các tệp như20class_seqlen26_6p5h_20200302-095627_comino_android_production, có vẻ là trọng số mô hình- Ứng dụng Colgate Smile còn lớn hơn với 378MB; Unity framework 125MB và các binary symbol chưa được loại bỏ là những nguyên nhân chính làm phình dung lượng
- Colgate đưa trùng lặp 60MB tài sản và tệp bản địa hóa vào cả main bundle lẫn widget extension, khiến tối thiểu 120MB làm tăng dung lượng ứng dụng mà không có giá trị chức năng
Phần lớn dung lượng ứng dụng Oral-B là tài sản PDF
- Trong tổng dung lượng 290MB của ứng dụng Oral-B, 233MB phát sinh từ asset catalog
- Tương đương 80% tổng dung lượng
- Phần lớn là các tài sản PDF thể hiện những mẫu bàn chải đánh răng khác nhau
- Tài sản PDF lớn nhất là
Sonos_M9_rosevới 7,8MB - Nhiều PDF không phải là hình ảnh toàn bộ bàn chải, mà chỉ bao gồm tay cầm và nút bấm
- Một mục đáng chú ý khác là
Comino.bundle15MB- Chứa các tệp như
20class_seqlen26_6p5h_20200302-095627_comino_android_production - Các tệp này có vẻ là một dạng trọng số mô hình
- Chứa các tệp như
Vấn đề lớn hơn của Colgate Smile là phần phình dung lượng có thể cắt giảm
- Dung lượng ứng dụng Colgate Smile là 378MB
- Ứng dụng có vẻ dùng Unity vì tính năng “guided brushing”
- Unity framework có dung lượng 125MB
- Nếu tính năng đó có giá trị, bản thân việc dùng Unity có thể được xem là một lựa chọn hợp lý
- Lãng phí lớn hơn là việc không loại bỏ binary symbol khỏi ứng dụng production
- Binary symbol được dùng cho symbolication
- Nếu upload DSYM lên crash reporter thì không cần đưa chúng vào trong ứng dụng production
- Chỉ riêng việc loại bỏ binary symbol có thể giảm tổng cộng khoảng 60MB, 15%
- Một nguyên nhân phình dung lượng khác là đưa vào trùng lặp
- Colgate đưa trùng lặp 60MB tài sản và tệp bản địa hóa vào main bundle và widget extension
- Các node màu đỏ được hiển thị là mục trùng lặp
- Trong ứng dụng Colgate, ít nhất 120MB được tính là dung lượng không mang lại bất kỳ giá trị chức năng nào cho người dùng
- Bài viết liên quan:
1 bình luận
Các ý kiến trên Hacker News
Ngay từ đầu tôi không hiểu vì sao ứng dụng Oral-B và ứng dụng Colgate lại tồn tại
Cá nhân tôi dùng thử một lần rồi xóa, nhưng với những người muốn kiểm tra xem việc đánh răng của mình có hiệu quả không thì có thể hữu ích. Dù sao nó cũng hoàn toàn tùy chọn, cứ bỏ qua sự tồn tại của ứng dụng và chỉ dùng bàn chải cũng được
Như vậy bạn sẽ cảm thấy thương hiệu đó quen thuộc hơn các thương hiệu “không biết”, và khả năng mua thương hiệu đó sẽ cao hơn. Ứng dụng cũng vậy: mỗi lần dùng là logo và thương hiệu lại được dí ngay trước mắt. Kết luận là thậm chí không cần bán dữ liệu
Thực tế đáng buồn là nếu vào App Store > Your Account rồi làm mới, bạn sẽ thấy số ứng dụng dưới 100MB chỉ đếm trên đầu ngón tay. Với tôi, phần lớn ứng dụng là 300MB, mà đây mới chỉ nói riêng các bản cập nhật
So với Android thì bên đó ứng dụng nhẹ hơn nhiều. Các ứng dụng Objective-C ngày trước gọn hơn rất nhiều, còn ứng dụng Swift thì ngay cả sau khi có ABI vẫn khá lớn và nặng. Một phần là do lập trình viên lười, một phần cũng do công cụ của Apple không tốt lắm. Không có tree shaking hay loại bỏ mã chết trong CocoaPods đã biên dịch hoặc các gói Swift. Apple có vẻ không mấy bận tâm, và có khi còn vui vì bán được thiết bị mới có dung lượng lưu trữ lớn hơn hoặc gói đăng ký iCloud
Tài nguyên, kiến trúc, ngôn ngữ chỉ được tải khi cần, thậm chí còn có các yếu tố theo từng lĩnh vực như định dạng nén texture cho asset game. Vì vậy thiết bị chỉ nhận các texture cần thiết, còn nhà phát triển có thể phân phối nhiều định dạng để người dùng nhận được lựa chọn tốt nhất mà thiết bị của họ hỗ trợ. Cũng có thể tải xuống và cài đặt các mô-đun mã theo yêu cầu. Ví dụ, có thể tách quy trình đăng ký thành mô-đun riêng, cài đặt lúc đầu, rồi sau khi người dùng đã đăng ký thì gỡ bỏ để giảm kích thước cài đặt. Có nhà phát triển không thực sự tải xuống hay cài đặt mô-đun VOIP vài MB dùng cho hỗ trợ khách hàng cho đến khi người dùng mở màn hình hỗ trợ, nên phần lớn người dùng sẽ không bao giờ cài nó
[0]: https://developer.android.com/guide/playcore/asset-delivery/...
https://xcancel.com/emergetools/status/1828490449881047401
Trông như trang trung gian spam khi cố xem streaming lậu. Công cụ này kinh khủng đến mức khó tin là một người không liên quan gì tới bên đó lại đăng nó lên
Thật khó chịu khi việc thu thập dữ liệu người dùng cho các data broker đã trở thành một mảng kinh doanh quá giá trị. Không thể vui nổi khi thấy các tập đoàn lớn cứ làm ứng dụng để hút dữ liệu thay vì sản phẩm tốt, rồi hả hê vì các con số tăng lên
Nhìn việc mình bắt đầu than thở kiểu “ngày xưa tốt hơn” thì có lẽ chính thức đã bước qua tuổi trung niên, nhưng tủ lạnh, máy rửa bát, bàn chải đánh răng mà cũng có ứng dụng. Khi nào máy rửa bát tự cho bát đĩa vào được thì lúc đó tôi sẽ chấp nhận điều chỉnh giá theo khoái lạc
Hóa ra chỉ là nhét hình ảnh các model khác nhau vào PDF một cách ngu ngốc làm nó phình to thôi à? Không như tôi đoán. Tôi tưởng sẽ giống phía ứng dụng Colgate được nhắc đến phía sau
Ứng dụng Oral-B vài năm trước khá nhẹ, hiển thị feed tin tức thế giới mới nhất, ghi dữ liệu vào Apple Health, và khuyến khích chuỗi ngày đánh răng liên tục nên khá vui
Nhưng sau khi viết lại toàn bộ ứng dụng, nó mất gần như mọi tính năng, và tôi chưa mở lại lần nào kể từ lần chạy đầu tiên sau khi nâng cấp. Ước gì có iOS App Store cho phép cài phiên bản cũ như TestFlight. Tiếc là TestFlight cũng chỉ tối đa 90 ngày. Có lẽ đã đến lúc lôi BLE sniffer ra, nhưng chắc không thể lấy quyền HealthKit cho một ứng dụng tạm thời không được cấp phép chỉ dùng một lần
Điều còn đáng xấu hổ hơn bản thân dung lượng là việc cần đến ứng dụng chỉ để đổi chế độ của bàn chải. Tôi thật sự nghĩ chuyện này không nên được phép, nhưng cũng không rõ phải cưỡng chế như thế nào
Màn hình hiển thị bộ đếm thời gian đánh răng, và mức theo dõi cần thiết từ bàn chải đến vậy là đủ. Có thể có những chế độ khác không truy cập được bằng nút bấm, nhưng tôi không biết cái nào
Nhiệm vụ thứ hai là định nghĩa chính xác điều gì được phép và điều gì bị cấm; nhưng vì có quá nhiều trò ngớ ngẩn mà doanh nghiệp có thể nghĩ ra để làm phiền khách hàng, tôi nghĩ có thể trao cho cơ quan đó khá nhiều quyền tùy nghi nếu họ đánh giá và quyết định dựa trên các nguyên tắc cốt lõi tốt. Ví dụ như nguyên tắc “những chức năng có thể triển khai mà không cần ứng dụng đi kèm thì không được đòi hỏi ứng dụng đi kèm”
Câu hỏi thật sự là ngay từ đầu tại sao bàn chải đánh răng lại cần ứng dụng
Tất cả diễn ra dưới danh nghĩa “đồng ý”. Vì bạn đã cài ứng dụng và nhiều khả năng đã chấp nhận điều khoản dịch vụ hoặc chính sách quyền riêng tư. Họ cũng gắn cho nó cái cớ là một dịch vụ đếm thời điểm hay tần suất bạn tương tác với sản phẩm, hoặc nhắc bạn sử dụng. Dù một người trưởng thành sống bình thường vốn đã làm những việc đó rồi, chỉ là kém chính xác hơn mà thôi
Nếu dữ liệu cho thấy ở một thành phố hay quận nào đó, người dân đánh răng ít hơn dân số nói chung 25–50%, thì việc tăng ngân sách quảng cáo ở khu vực đó khá hợp lý. Vì có thể cho rằng những người ít đánh răng có khả năng mua kẹo cao su nha khoa cao hơn để bù đắp tổn hại
Bản đã mở: https://unrollnow.com/status/1828490449881047401
Người tỉnh táo thì vì lý do gì lại tải ứng dụng bàn chải đánh răng chứ?