LemmyNet/jerboa

Discuss postviewmode

Opened this issue · 2 comments

MV-GH commented

Jerboa should not consume postviewmode settting from the backend.

This setting is very UI specific. And tying all UI to the same mode doesn't really work. These modes will look very different depending on the UI and device. Where I would want to use different modes. For example on browser in lemmy UI I would take a more spacious mode like card. But on the phone I would prefer list mode to see more posts. And on the tablet I might want a "tablet mode" where I can see posts on left and comments on the right. But now I would have to constantly switch between the same account.

I understand the need for this setting in Lemmy UI as users would want their settings to persist between browsers. But Jerboa doesn't need it.

This would also free us to define our own postviewmode entries. And not have Lemmy UI impacted where it may not be relevant

Thoughts on this??

I was thinking that the post-view mode shouldn't care about screen sizes / "responsiveness", as ideally all layouts would be responsive to various screen widths, even if some are laid out in a grid, whereas others are in lists, others have thumbnails for images while others expand them, etc). Card view on jerboa will look better on tablets, when we properly add responsiveness.

As far as UI settings, Its almost too hard a question to answer: Some users like me, would want as many of our UI settings to live on the server as possible, so that when I switch a setting in one place, it gets replicated elsewhere. Whereas other users might prefer local UI settings, customizing styles to that specific device they're using.

The best of both worlds would be to have custom settings for specific things, with an attached toggle switch saying prefer local setting, which enables the local setting option.

Another thing that makes this difficult is that I don't know of any logical standard we could use to separate which UI settings should be device-specific, and which should be global. To me everything could be global, then you don't have to make those decisions each time you add a setting, and you don't "feature-lock" settings into specific apps.

I know @SleeplessOne1917 has some thoughts on this also.

I was thinking that the post-view mode shouldn't care about screen sizes / "responsiveness", as ideally all layouts would be responsive to various screen widths, even if some are laid out in a grid, whereas others are in lists, others have thumbnails for images while others expand them, etc).

I agree strongly on this point. Responsiveness is important regardless of the setting used.

However, barring screen size concerns, I do think that having view modes be specific to different UIs is better than having the server define the view mode across all UIs. I recall, for example, struggling to conceptualize how card and small card should be different on the existing lemmy UI. There's also the concern that different UIs would look different enough from eachother that a user may prefer, say, card view when using the default browser UI and list view when using Voyager or Photon. There's also the possibility that different UI maintainers may think of different display modes than what other UIs support. If we decide not to add the new display mode to the backend, that UI maintainer will have to juggle backend settings with some kind of local setting. If we do add it to the backend display modes, then other UI maintainers will either have to come up with a way to support it or add more logic to handle display modes they don't support.

Addressing what Dessalines said here:

As far as UI settings, Its almost too hard a question to answer: Some users like me, would want as many of our UI settings to live on the server as possible, so that when I switch a setting in one place, it gets replicated elsewhere. Whereas other users might prefer local UI settings, customizing styles to that specific device they're using.

I think the issue is less about different devices per se, but more about different frontends they use on those devices.

Considering there are many frontends for Lemmy out there (and likely more to be made in the future), I think this is an issue that's vital to get the input of maintainers of multiple different UIs. I'll tag a few now so they see this:

@Xyphyn @sheodox @aeharding @hjiangsu