Feature summary :
Implement a system for the Wikimedia Commons Android App that allows for lossless image transformations (rotation and cropping). This project aims to replace standard Bitmap re-encoding with metadata-based and bitstream-level manipulations to ensure 100% quality preservation for educational media.
Use case(s) :
Currently, when a contributor rotates an image in the app, the standard Android Bitmap API decodes the JPEG, rotates the pixels, and re-encodes it. This process creates "generation loss," introducing compression artifacts that degrade the quality of high-standard repository images.
Attached Proposal PDF:
Benifits:
Preserving Archival Integrity: We can eliminate generation loss by bypassing the standard Android "decode-rotate-encode" cycle. This ensures that high-resolution educational images on Wikimedia Commons remain 100% true to the original contributor's upload, without new compression artifacts appearing after a simple crop or rotate.
Optimizing Mobile Resources: Changing via ExifInterface are nearly instantaneous cuz they only modify the file header. This makes the app much faster and more responsive on lower-end devices, as it avoids the heavy CPU and RAM consumption required for full Bitmap processing.
Professional-Grade Mobile Tools: Implementing lossless bitstream manipulation brings the Android app’s capabilities in line with professional desktop software that provides contributors with a "server-grade" workflow directly on their mobile devices, maintaining the high standards expected by the Wikimedia community.