Alt text:
Twitter post by Daniel Feldman (@d_feldman): Linux is the only major operating system to support diagonal mode (credit [Twitter] @xssfox). Image shows an untrawide monitor rotated about 45 degrees, with a horizontal IDE window taking up a bottom triangle. A web browser and settings menu above it are organized creating a window shape almost like a stepped pyramid.
Edit: alt text
That, right there, is a perfect example of why folks need to stop trying to shoehorn web apps everywhere they don’t belong. It’s a use-case for a proper native mobile app if ever there was one.
Yeah, but I don’t want to have an app on my phone for a store I go to once. I don’t give a fuck if the page is ugly.
That just means it shouldn’t be a native app or a web app, but instead should be a plain ol’ webpage that doesn’t try to do app-y things in the first place. The notion that web pages have any legitimate reason to know your viewport size (let alone anything at all about the screen hardware itself) is like one of those “statements dreamed up by the utterly deranged” memes, except not satirical.
Seriously: literally the entire defining principle of HTML (well, aside from the concept of “hyperlinks”) is that the client has the freedom to decide how the page should be rendered, but misguided – or megalomaniacal – graphic designers webmasters front-end web “devs” have been trying to break it ever since.
shoehorn web apps everywhere they don’t belong
Who is doing that? In my experience, “web apps” are on the web or occasionally on desktop and are fine. Slack for example, is a fabulous desktop app and has used web tech from day one to great success
VS code is an electron app, there are a few others that have a simple enough purpose that they shouldn’t be using a whole dedicated chrome engine to function.
even if it’s just mobile
you already have to handle landscape/portrait mode
now imagine having to handle angled
That’s why you should’ve just handled arbitrary rotations instead of inventing a finite predefined set of orientation “modes” in the first place.
Things get a lot easier in the long run if you aggressively look for commonalities and genericize the code that handles them instead of writing bunches of one-off special cases.