Minecraft textures aren't compressed
Uploaded user skins (and capes) are PNG images. The PNG format allows multiple compression methods as well as multiple color types.
However, you just accept these images as they are and send them to clients without removing the meta tags.
You could have faster loading skins/capes, save bandwidth and AWS costs by compressing images and removing meta tags before storing them.
For example, the current skin of user f71cca5d3638479490dbcde943574e9f has at least 1800% of file size than it needs to be. (54KB instead of 3KB at most)
And it's fairly easy to find out that the MINECON 2013 Cape was created on 2013/03/13-12:09:15 using Adobe Photoshop CC on a Macintosh. That information isn't worth being downloaded every time.
There are multiple existing tools to compress PNG images, e.g. ImageMagick, PNGOUT, AdvPNG, Pngcrush, OptiPNG, etc.
PS: It might be possible that some images (e.g. when created using a real-world photo) contain GPS tags, revealing the creator's location.
Created Issue:
Minecraft textures aren't compressed
Uploaded user skins (and capes) are PNG images. The PNG format allows multiple [compression methods|http://www.w3.org/TR/PNG-Compression.html| as well as multiple color types.
However, you just accept these images as they are and send them to clients without removing the meta tags.
You could have faster loading skins/capes, save bandwidth and AWS costs by compressing images and removing meta tags before storing them.
For example, the current skin of user f71cca5d3638479490dbcde943574e9f: http://textures.minecraft.net/texture/78c63bf0a64c3d7f7922ce2c3f9b58e7d42588e18028b93f25d28eef3c2a1 has at least 1800% of file size than it needs to be. (54KB instead of 3KB at most)
And it's fairly easy to find out that the MINECON 2013 Cape was created on 2013/03/13-12:09:15 using Adobe Photoshop CC on a Macintosh. That information isn't worth being downloaded every time.
There are multiple existing tools to compress PNG images, e.g. ImageMagick, PNGOUT, AdvPNG, Pngcrush, OptiPNG, etc.
PS: It might be possible that some images (e.g. when created using a real-world photo) contain GPS tags, revealing the creator's location.
Uploaded user skins (and capes) are PNG images. The PNG format allows multiple
[compression methods|http://www.w3.org/TR/PNG-Compression.html| as well as multiplecolor types.However, you just accept these images as they are and send them to clients without removing the meta tags.
You could have faster loading skins/capes, save bandwidth and AWS costs by compressing images and removing meta tags before storing them.
For example, the current skin of user f71cca5d3638479490dbcde943574e9f: http://textures.minecraft.net/texture/78c63bf0a64c3d7f7922ce2c3f9b58e7d42588e18028b93f25d28eef3c2a1 has at least 1800% of file size than it needs to be. (54KB instead of 3KB at most)
And it's fairly easy to find out that the MINECON 2013 Cape was created on 2013/03/13-12:09:15 using Adobe Photoshop CC on a Macintosh. That information isn't worth being downloaded every time.
There are multiple existing tools to compress PNG images, e.g. ImageMagick, PNGOUT, AdvPNG, Pngcrush, OptiPNG, etc.
PS: It might be possible that some images (e.g. when created using a real-world photo) contain GPS tags, revealing the creator's location.
Uploaded user skins (and capes) are PNG images. The PNG format allows multiple compression methods as well as multiple color types.
However, you just accept these images as they are and send them to clients without removing the meta tags.
You could have faster loading skins/capes, save bandwidth and AWS costs by compressing images and removing meta tags before storing them.
For example, the current skin of user f71cca5d3638479490dbcde943574e9f: http://textures.minecraft.net/texture/78c63bf0a64c3d7f7922ce2c3f9b58e7d42588e18028b93f25d28eef3c2a1 has at least 1800% of file size than it needs to be. (54KB instead of 3KB at most)
And it's fairly easy to find out that the MINECON 2013 Cape was created on 2013/03/13-12:09:15 using Adobe Photoshop CC on a Macintosh. That information isn't worth being downloaded every time.
There are multiple existing tools to compress PNG images, e.g. ImageMagick, PNGOUT, AdvPNG, Pngcrush, OptiPNG, etc.
PS: It might be possible that some images (e.g. when created using a real-world photo) contain GPS tags, revealing the creator's location.
Uploaded user skins (and capes) are PNG images. The PNG format allows multiple compression methods as well as multiple color types.
However, you just accept these images as they are and send them to clients without removing the meta tags.
You could have faster loading skins/capes, save bandwidth and AWS costs by compressing images and removing meta tags before storing them.
For example, the
current skin of userf71cca5d3638479490dbcde943574e9f:http://textures.minecraft.net/texture/78c63bf0a64c3d7f7922ce2c3f9b58e7d42588e18028b93f25d28eef3c2a1has at least 1800% of file size than it needs to be. (54KB instead of 3KB at most)And it's fairly easy to find out that the MINECON 2013 Cape was created on 2013/03/13-12:09:15 using Adobe Photoshop CC on a Macintosh. That information isn't worth being downloaded every time.
There are multiple existing tools to compress PNG images, e.g. ImageMagick, PNGOUT, AdvPNG, Pngcrush, OptiPNG, etc.
PS: It might be possible that some images (e.g. when created using a real-world photo) contain GPS tags, revealing the creator's location.
Uploaded user skins (and capes) are PNG images. The PNG format allows multiple compression methods as well as multiple color types.
However, you just accept these images as they are and send them to clients without removing the meta tags.
You could have faster loading skins/capes, save bandwidth and AWS costs by compressing images and removing meta tags before storing them.
For example, the current skin of user f71cca5d3638479490dbcde943574e9f has at least 1800% of file size than it needs to be. (54KB instead of 3KB at most)
And it's fairly easy to find out that the MINECON 2013 Cape was created on 2013/03/13-12:09:15 using Adobe Photoshop CC on a Macintosh. That information isn't worth being downloaded every time.
There are multiple existing tools to compress PNG images, e.g. ImageMagick, PNGOUT, AdvPNG, Pngcrush, OptiPNG, etc.
PS: It might be possible that some images (e.g. when created using a real-world photo) contain GPS tags, revealing the creator's location.
relates to
WEB-134
The skin for user 5f9fa6d2-dc48-420e-b7c8-e8c82c817282 is currently http://textures.minecraft.net/texture/49c7c25e26655aa7244125fb43b2ad603e5ba123677dc9b575bf7301ff2ff.
The server responds with
HTTP/1.1 200 OK Content-Type: image/png Content-Length: 1832 Connection: keep-alive ����JFIF��XExifMM�i&��@� ��C ...
Obviously that is a JPEG (JFIF), not image/png.
You could correct the Content-Type header, but IMO that's the wrong approach as pretty much everything probably expects a PNG here.
I attached a file with more of these, some are GIF, some BMP, most are JPEG.
I'm sure there are more, however. To find them, you can query your database for blobs that don't start with the 8 magic PNG bytes 89 50 4e 47 0d 0a 1a 0a.
If that is a problem for you, I'm willing to help out a little by reporting more skins that are not PNG (we make a lot of requests) so you can manually fix them.
You could also solve this issue alongside WEB-27. You'd just make sure they're converted to PNG. Alternatively, you could check the magic bytes when you deliver skins and simply delete them when they're not PNG.
I'll leave the solution up to you guys ![]()
PS: My favorite pictures are http://textures.minecraft.net/texture/3e453c5a747c219cab738bb573556317d1a405cf1886c16b995fd86f2e05399 (apparently someone uploaded their desktop background) and http://textures.minecraft.net/texture/a5587f9eb25cc312119269dd239ff94a49c36ae47d635c33ca184e5b7d842 (some picture taken off eBay, it even has a comment: 'Processed By eBay with ImageMagick, R1.1.1.M2')
Just a quick note: almost all popular software strips GPS tags when exporting photos unless you check a checkbox
http://i.imgur.com/NPx07ql.png
Totally agree on all counts, however
I agree, and this is something we will fix in the future.
Can still confirm for the Minecon 2013 cape.
Thanks for the input but closed this as invalid.