Vào năm 2020, nhà phát triển Moment đã từ bỏ app Pro Camera trên Android của mình. Vào thời điểm đó, đồng sáng lập Marc Barros đã viết trong một email gửi người dùng rằng công ty thiếu “băng thông kỹ thuật” để theo kịp với quá nhiều sự lựa chọn thiết bị Android, với mỗi thiết bị lại có các khía cạnh camera khác nhau. Thay vì dồn tài nguyên vào một app nửa vời với các cấp độ chức năng khác nhau giữa các thiết bị, Moment quyết định dừng phát triển app Android và tập trung hoàn toàn vào app iOS.
Đây là một ví dụ điển hình cho việc các app camera bên thứ 3 không thể theo kịp sự đa dạng của phần cứng camera trên các thiết bị Android. Bên cạnh đó, quyền truy cập camera trong các app bên thứ 3 cũng đã có lịch sử “kém lý tưởng” trên Android.
Chắc chắn app camera mặc định trên điện thoại sẽ hoạt động tốt, nhưng nếu bạn muốn chụp ảnh bên trong một app bên thứ 3 thì điều đó sẽ giống như một trò chơi lắc xí ngầu: bạn có thể chụp ảnh bằng camera chính của điện thoại, nhưng hình trông có thể trông không đẹp và bạn không thể truy cập vào ống kính tele tiềm vọng hoặc sử dụng chế độ low-light tuyệt vời của camera… Lý do rất đơn giản: đối với các nhà phát triển ứng dụng, việc đảm bảo khả năng tương thích rộng rãi cho các tính năng của camera là một điều khó khăn.
Đây là một ví dụ điển hình cho việc các app camera bên thứ 3 không thể theo kịp sự đa dạng của phần cứng camera trên các thiết bị Android. Bên cạnh đó, quyền truy cập camera trong các app bên thứ 3 cũng đã có lịch sử “kém lý tưởng” trên Android.
Chắc chắn app camera mặc định trên điện thoại sẽ hoạt động tốt, nhưng nếu bạn muốn chụp ảnh bên trong một app bên thứ 3 thì điều đó sẽ giống như một trò chơi lắc xí ngầu: bạn có thể chụp ảnh bằng camera chính của điện thoại, nhưng hình trông có thể trông không đẹp và bạn không thể truy cập vào ống kính tele tiềm vọng hoặc sử dụng chế độ low-light tuyệt vời của camera… Lý do rất đơn giản: đối với các nhà phát triển ứng dụng, việc đảm bảo khả năng tương thích rộng rãi cho các tính năng của camera là một điều khó khăn.
Việc phát triển các tính năng camera cho các app iOS, hay phát triển các app iOS nói chung, đơn giản hơn Android một phần là vì có quá ít iPhone. Nếu nhà phát triển có thể đảm bảo app của mình hoạt động tốt trên 3 hoặc 4 mẫu iPhone mới mỗi năm thì đồng nghĩa là họ đã hoàn tất công việc trên iOS của mình. Bên Android, có rất nhiều thiết bị mới mỗi năm, với mỗi thiết bị lại có phần cứng và phần mềm camera khác nhau. Sự phân mảnh này khiến việc phát triển app Android trở nên đau đầu: tại sao Moment phải tìm cách để làm cho camera góc rộng trên mọi điện thoại Sony và OnePlus mới hoạt động với app của mình? Thay vào đó việc chọn từ bỏ app Android hoàn toàn không phải là điều gì bất hợp lý.
Android thực sự có các khuôn khổ để giải quyết vấn đề này. Với API Camera2, được giới thiệu trở lại trên Android 5, cung cấp một cách để các app “thăm dò” các tính năng camera của điện thoại – với điều kiện là các OEM “tiết lộ” các tính năng đó cho API. Ngoài ra còn có CameraX, một thư viện Jetpack giúp các nhà phát triển triển khai các tính năng camera đó trong app của riêng họ dễ dàng hơn theo một số cách. Về cơ bản, CameraX cho phép các nhà sản xuất thiết bị cung cấp các extension (tiện ích mở rộng) cho các tính năng camera khác nhau của họ (những thứ như chế độ low-light và chân dung), giúp việc triển khai các tính năng đó trong các app của bên thứ 3 ít phức tạp hơn.
Vậy vấn đề là gì? Đó là việc hỗ trợ Camera2 và CameraX không phải là bắt buộc: OEM không bắt buộc phải tiết lộ các tính năng camera cho Camera2 cũng như cung cấp các extension CameraX cho các nhà phát triển ứng dụng sử dụng. Nếu anh em tò mò thì có thể cài app Camera2 API Probe tại LINK NÀY để biết tính năng camera nào trên điện thoại đã được tiết lộ với Camera2, ngoài ra Google cũng đang duy trì một danh sách các thiết bị hỗ trợ các extension CameraX tại LINK NÀY. Danh sách đó cho thấy Samsung và Morotola đang hỗ trợ rất tốt trong khi các OEM khác (bao gồm cả Google) dường như không mặn mà lắm.
Sự phức tạp cũng được thể hiện theo những cách khác nữa. Vào tháng 12, fan hâm mộ OnePlus đã rất phẫn nộ khi bản cập nhật cho OxygenOS 12 đã loại bỏ quyền truy cập camera trong các app bên thứ 3, bao gồm cả app Google Camera được port sang. Trước bản cập nhật này thì các bản port GCam vẫn có thể truy cập vào các cảm biến camera phụ của điện thoại (camera siêu rộng, macro và tele), tuy nhiên sau đó thì chỉ có camera chính hoạt động. Sự thay đổi này có thể là ngẫu nhiên nhưng về kỹ thuật thì là do OxygenOS 12, vốn dựa trên ColorOS của OPPO, không hỗ trợ lỗ hổng “package name” mà app GCam đã sử dụng để truy cập vào các tính năng camera đã được tiết lộ với API Camera2.
Tất cả chỉ là một mớ hỗn độn và không có bất kỳ dấu hiệu nào cho thấy sẽ có sự cải thiện trong tương lai gần. Google có thể cố gắng thuyết phục các OEM sử dụng Camera2 và CameraX tốt hơn, nhưng chính họ cũng không ưu tiên các extension CameraX cho điện thoại Pixel của mình nên điều này cũng khó thay đổi được gì. Bên cạnh đó cũng không có nhiều lý do để điện thoại sẽ sống hay chết bởi hiệu suất camera của app bên thứ 3, và cũng chỉ có một nhóm nhỏ khách hàng biết hoặc quan tâm đến điều này. Nên về mặt kinh doanh, đó ít nhiều không phải là vấn đề.
Hiện tại, gánh nặng đảm bảo các tính năng camera trong các app bên thứ 3 hoạt động chính xác trên nhiều thiết bị Android chủ yếu thuộc về các nhà phát triển ứng dụng, nhưng lợi ích từ khoản đầu tư tài nguyên cho việc đó hoàn toàn không xứng đáng với hầu hết bọn họ. Như Barros đã nói, nó ngốn quá nhiều “băng thông kỹ thuật”.
Có thể có vô số sự lựa chọn trên Android, nhưng tất cả sự tự do đó không phải là không có nhược điểm của nó.
Quảng cáo