Should commet choose mobile versus desktop interface based on window size?
Adding this as an issue because I'm not sure where else it would fall, and I'm also not sure what the "right" answer is.
For both android and iOS, it would make sense for commet to show the desktop interface on tablets, but with the current settings the interface to display is chosen based on operating system rather than device. Possibly on desktop it would make sense to open in the mobile display if the window is small enough as well.
Options that I can think of:
- Choose state on app launch based on the size of commet's window, or on the size of the screen that it's in (presumably in points rather than in pixels, because a 2560x1440 phone screen should be mobile, but a monitor that size should be desktop)
- Adjust state on-the-fly as the commet window is resized (I don't know if this is actually entirely possible currently, but it felt as if I should include it)
- Keep things as they are now
I'm willing to do the dev work on this (and I've done a bit of work on how to figure out window and display size, both in physical and logical pixels), but I'm not sure whether this is a change that actually makes sense to make in the first place.
Yes, I think this would be a good addition, and is already used a bit for web builds, but will require further consideration as to how everything should behave.
My initial thoughts for how I personally would expect a cross platform app to behave:
- Typical smartphones should always only use the mobile layout
- Tablet devices should always use desktop (or similar tablet optimized) layout
- Desktop should probably always use desktop layout, adaptively hiding certain panels based on window size
- Foldable phones would be an interesting case, and it might be interesting to explore creating a new layout optimized for this category
- Web builds should continue to be adaptive, maybe biasing towards the devices 'native' type (if detected as a phone, prefer mobile layout)
Actually determining which type of device we are running on might end up with some interesting edge cases (for example linux based smartphone might be detected as linux desktop, or deciding if an android device is a tablet or a phone), and so it would be a good idea to have some options in user preferences:
- Force mobile layout
- Force desktop layout
- Force adaptive layout (always adapt based on screen/window size, regardless of device type)