Thanks for commenting @hikari_no_yume
Art is an important thing to keep in mind with images on Twitter, and I wish there wasn’t a barrier of red tape for me to post a blog article to show how Twitter can still support great art. Since my already drafted post is going to be stuck with higher powers for who-knows-how-long, I will try to talk to some of your concerns here.
Pixel art has been a top of mind concern when making this change, which was part of why we ensured PNG8 support would be available before we transitioned. A PNG8 image is a lossless PNG, but has a limit of 256 colors. Folks might be surprised by how many images can stay within 256 colors, especially illustrations and specifically pixel art. A pixel art image uploaded using PNG8 will never be converted to JPEG. Additionally, as you eluded to, you can also easily scale pixel art by making the pixels larger (instead of a 1x1 pixel, it could be 4x4 pixels per art “pixel” or 8x8 pixels per art “pixel”), which can help for the viewers when operating systems will do interpolation by default when zooming on a small resolution image.
For illustrations, the best thing is also to maximize the resolution. As you mentioned, there are cases when some art has been created that simply doesn’t have more resolution to upload. If the illustration has many solid colors and strokes, a PNG8 (256 color palette) image can often preserve that image losslessly. If there are gradients in the image, PNG8 means having to sacrifice clean color grading for color banding, which might be undesirable. Twitter will also preserve the PNG image if it maintains a smaller file size than the JPEG version at our own internal metric (basically, we’re going to compare the JPEG file size to the PNG file size and the smaller one is used – but the metric could change to be more sophisticated so we used loose language in our announcement). Using tools like tinypng.com or ImageOptim might help achieve this.
A final option for low resolution detailed images that cannot use PNG8 and also will be larger as PNG than JPEG is to still follow the pixel scaling concept that is great for pixel art. By having larger “pixels”, the JPEG compression can end up having less impact. It’s not going to be an outright lossless solution, but it offers a level of mitigation that might preserve the quality to share the art proudly.
Here’s an example of how this works with text:
https://twitter.com/NolanOBrien/status/1075893046628118528
We know that at some times there will always have to be a compromise. We have users around the world that do not have the bandwidth speeds to enjoy full PNGs. Even a preview PNG image for more than 50% of the world will take so long to load it will timeout or the user will just pass by the tweet since its too slow to load. We want to deliver media to users everywhere, and the large PNGs on Twitter may as well not even be there given how many users just see an empty box. It’s a compromise, but we want to maximize how much quality can be supported while at the same time maximizing the reach an image can have to be viewable no matter what your bandwidth constraints are – and most PNGs simply cannot meet that need.