I like taking pictures, and I like sharing pictures wherever I hang out online. A problem with this is knowing that the pictures will very rarely look as good in other people’s browsers and apps as they do to me in Lightroom on a big bright 4K screen. Thus this piece, a basic investigation of how photos are processed and transformed on Mastodon, Bluesky, and Threads.
I was never that much of an Instagram poster; Insta does a good job of taking your crappy phone pix and juicing them up with filters so they look way better. That’s irrelevant to me, because not only do I like taking pictures, I like polishing them with Lightroom and Silver Efex and so on. So with a few exceptions, everything I want to share gets pulled onto my Mac and edited before I share it. And once I’ve done that, why would I post pictures anywhere but where I have my normal conversations?
The picture · Here it is:
That’s a big picture, both in its subject and raw size: The Pixel version, after editing, is 3814x2290. Also it has a lot of fine detail, and rewards zooming in. When I post it, I’d like some sense of the bigness to come across, and when tapped to enlarge, I’d like it to wow people a little, especially those fortunate enough to be looking at big screens. And I’d like it to be at least OK on your phone.
Normally, pictures here in the blog are limited to max 720x720 in the column of text, and the larger version you get by clicking to 1440x960. But in this case, if you click you get a 2558x1536 version, the objective being that that’ll be big enough to fill almost any screen it gets viewed on.
Methodology and apology · The question I want to investigate is, “which platforms are going to make my pictures look good?” But I haven’t really figured out yet how to do that. To start with, what kind of picture is going to do best as a metric to judge the processing quality?
Anyhow, I picked this one and posted it to Mastodon, Bluesky, and Threads, and here gather data about the results. But hey, why not tap those links on whatever device you’re using right now and see what you think about how the picture looks there?
The columns are:
Bytes: the size of the photo as downloaded.
WxH: width and height, in pixels.
“Q”: the JPG quality, as reported by Imagemagick’s identify --verbose
. The quotes are there because
I’m not sure how to interpret, or even whether it’s any use at all.
Bytes | WxH | “Q” | ||
---|---|---|---|---|
Original | 1671514 | 2558 1536 | 94 | |
Blog form | 624961 | 1440 865 | 94 | |
Bluesky | Android FS | 302972 | 864 663 | |
Bluesky | Android mini | 42410 | 345 345 | |
Bluesky | Web FS | 536345 | 2000 1201 | 80 |
Bluesky | Web mini | 112335 | 1000 601 | 80 |
Mastodon | Web FS | 1555111 | 2558 1536 | 90 |
Mastodon | Web mini | 86374 | 619 372 | 90 |
Phanpy | Web FS | 1555111 | 2558 1536 | 90 |
Phanpy | Web mini | 86374 | 619 372 | 90 |
Threads | Web FS | 888067 | 2160 1297 | 90 |
Threads | Web mini | 888067 | 2160 1297 | 90 |
Note that each of the posts included not one but two pictures, because I was also interested in how the platforms allocated screen space. The platforms typically have two display modes, “mini”, as shown in the feed, and “FS” for Full Size, what you get when you click on the picture.
Original/Blog form · I think that ideally, I’d like each platform’s presentation of the picture, when you click on it, to have the same number of pixels and for each pixel to have the same color value, as in my original.
Bluesky · First of all are numbers from the Android app, but please don’t take them seriously. The process of extracting them from the Pixel’s screen and getting them onto my Mac involved multiple irritating steps, each one of which may have damaged the bits. So I didn’t repeat the exercise for the other platforms. They are mostly here to encourage me, should I pursue this further, to find a good clean way to extract this information.
I do note, however, that the “mini” form in the Bluesky Android feed really crushes those poor little pictures down and, for this particular picture, offers no suggestion that it’s big.
The Web version of Bluesky does not preserve my pixels, but coerces the size down to 2K and 1K width in FS and mini versions.
Mastodon and Phanpy · Phanpy is an alternate client for Mastodon; I think it’s very good and it’s my daily driver. The table reveals that, in this case, the alternate client pulls in the same images as the official Web client, which is good.
It also reveals that Mastodon preserves the picture’s dimensions, but obviously reprocesses it somehow, because the photos grow (somewhat) smaller. I wish they didn’t do that. It’s open-source, I should peek in and see what they actually do.
Phanpy does a better job of actually showing the pictures in-feed than the official Mastodon client, and both are nicer than Bluesky.
Threads · I had difficulty, because the Threads Web client is a tangly JavaScript fever dream, so it’s really hard to get at the underlying photos, but my efforts suggested that it uses the same picture for the “mini” and “FS” versions, just getting the browser to scale them down.
Furthermore, Threads doesn’t want pictures to be more than 2160 pixels wide.
Maybe I’m wrong · Because the experimental work was manual and thus highly prone to fumblefingers and brain farts. If you think that any of these numbers are wrong, you may be right; please yell at me.
I hesitate to offer a conclusion because this is, as noted at the top, the first steps in what could be a large and interesting research project, one that I probably don’t have the expertise to conduct. But, here are a few anyhow.
First, they all do a pretty good job. Second, none of them actually offer an opportunity to view my bits exactly as uploaded, which I think they should. Third, client designers should follow Phanpy’s lead in figuring out how to make better use of screen real-estate to highlight images.
What Lewis Carroll Said · And I quote: “What is the use of a book,” thought Alice, “without pictures or conversations?”
Comment feed for ongoing:
From: Jarek (Feb 19 2024, at 18:55)
It seems to me that any general-purpose platform is right to default to reprocessing any media upload. Most users aren't doing as much processing as you are. I'd wager that even on relatively techie-heavy Mastodon instances, vast majority of uploads are JPGs straight from a phone camera. They could add a checkbox to not reprocess for the Lightroom set, but evidently no one has taken this on for Mastodon yet, and the commercial platforms don't see the value yet.
If you care for the bytes as you created them, a dedicated platform for photographers or graphic artists is probably a better bet. A decade ago I'd have said Flickr. These days... have you tried Pixelfed? What does it do?
[link]
From: James (Feb 20 2024, at 04:57)
It's entirely possible that the missing bits on Mastodon are stuff you wouldn't necessarily want available to the world, such as exif data? It's quite a small adjustment, which suggests to me that it has little to do with saving storage space.
[link]
From: John Nurick (Mar 15 2024, at 17:51)
I've been thinking about posting photographs to Bluesky. I want them edited my way and not by algorithm so was interested to read your posts there and this blog.
Afterwards, I posted my first image. 2000 px square, jpeg created by LR Classic with the Quality slider at 90% (magick identify -verbose reported 96). File size 2.24 MB.
After the post uploaded, I viewed it in in my browser, clicked to get the "big" image and then did Save Image. Result was 2000x2000 but only 862 KB. Imagemagick reported quality of 80.
On Android (Pixel 4a), touch image to enlarge, then Save, produced an identical file so I didn't investigate that further.
Comparing the uploaded and downloaded versions in Photoshop I couldn't see the difference at 100% except by superimposing and switching back and forth between them. At 200% the difference was clearly visible in the jpeg artifacts.
But there are significant differences in the Imagemagick channel statistics, though I don't have the technical skill to understand them.
For my next trick, I'll upload my version to Smugmug and then download, see what if any changes are introduced there.
[link]