Dimillian / IceCubesApp

A SwiftUI Mastodon client
https://apps.apple.com/us/app/ice-cubes-for-mastodon/id6444915884
GNU Affero General Public License v3.0
5.36k stars 503 forks source link

Feature request: Consider displaying posts with multiple images differently #1406

Open markrprior opened 1 year ago

markrprior commented 1 year ago

I run a bot that now attaches 4 images to a post. Each of these images are formatted with an aspect ratio of 16:9, which seems to be the favoured mastodon aspect ratio. Most other iPhone apps (Mastodon, Toot!, Metatext, Mastoot, Ivory, Tusker, Trunks, Woolly and Mona) display these images in a 2x2 image grid where each element has the expected 16:9 aspect ratio. Icecubes also displays these 4 images in a 2x2 grid but crops the images to 1:1 which crops data for the graphs my bot is posting. This means the user has to open the images to see the data Icecubes has cropped. Mammoth also crops but interestingly only displays the first image and allows you to swipe across to the other 3 images (which is nice if it didn't crop). Tootle displays them as a 1x4 grid so crops them in such a way to make them totally useless without expanding them.

Shanesan commented 1 year ago

As far as real estate is concerned, a 1:1 crop makes the best use of screen real estate while making good aesthetic borders around the images. 16:9(?) use cases, like Mastodon's app, makes all the images smaller while still cropping the top and bottom losing some data in the preview vs the actual.

Seeing the image in higher resolution, even if cropped, with better use of real estate as in Ice Cubes right now is my preferred method but only an opinion.

markrprior commented 1 year ago

@Shanesan that really depends on the content of the image. If the app is cropping it you are losing information that the person posting the image is probably not expecting to be lost (the primary content is not always focused in the middle of the image). Cropping an image to 1:1 is just as bad as cropping a 9:16 to 16:9. If you are concerned about the resolution of an image just click on the image and view it that way.

Shanesan commented 1 year ago

Hmmm.

Does IceCubes support the focal point context clue from the Mastodon web app @Dimillian?

Regardless, both apps are proven to crop the ratio to their own whims, but would focal point support help to maintain the aesthetic of the 1:1 ratio?

markrprior commented 1 year ago

@Shanesan IceCubes doesn't support setting a focal point.

When displaying them IceCubes crops portrait images across the middle, which is sort of better than mastodon (and metatext, mastoot, ivory, tusker, trunks, woolly, and mona) which does that but with its 16:9 ratio so you get even less. Toot! displays them better as they are portrait side by side but cropped on the edges to make 4 fit. Mammoth crops to square but displays them separately (you swipe to use the four) so slightly better than IceCubes as the cropped image is bigger. The only app I have installed that does 4 portrait orientation images without cropping is Tootle.

The mastodon web front end also crops but calckey's doesn't.

Example post so you can try it out for yourself is https://ohai.social/@markrprior/110330803735963001

Dimillian commented 1 year ago

No focal point support for now. Also I want to rework it to make it a scrollable carrousel with support for portrait and landscape aspect ratio for images. So leaving this one but will probably be superseded with what I want to do.

sh95014 commented 9 months ago

My complaint is that landscape images are all displayed in portrait crop:

IMG_0529

which is almost disrespectful to the photographer/artist. Example is https://mastodon.social/@camelliakyoto/111566037908815534

@Dimillian Do you want a separate issue filed for that, or would your rework cover this?

Dimillian commented 9 months ago

Yeah would be good to have the carousel displays them in landscape. But how do you mix both? I think Threads is favoring one or the other.

sh95014 commented 9 months ago

Nicest and most general way is probably to pick a consistent scale ratio for both landscape and portrait images, then lay them out in a row. (Otherwise a landscape image scaled to the same height as a portrait image would take up a lot more screen real estate.)

Fitting the images into one of a few pre-defined "bento box layouts" is also possible, but I'd be wary of changing the ordering of the images...

Dimillian commented 9 months ago

Not sure it'll work. I just made the carrousel, before that it as a grid of 4 medias. I think the carrousel picking landscape if all or the majority of images are in landscape would be fine.