Hacker News new | ask | show | jobs
by mwfunk 2716 days ago
Every feature has a cost. Not just cost to develop, but cost to maintain. Every feature has a benefit- how useful is it, for how many users? If the cost outweighs the benefit, then it shouldn’t be allowed, for the sake of keeping the code maintainable and minimally fragile.

Portrait orientation for displays isn’t unheard of, but it’s very very uncommon amongst even technical users. I’m sure a bunch of people reading this have all sorts of anecdotal evidence otherwise- congrats, you’re special, and either have very specialized needs or want to cosplay as someone with very specialized needs (usually the latter).

But that’s portrait orientation. That’s on the cusp of not meeting the bar for being worthwhile to support, but in general most OSes err on the side of supporting it for certain pro users. Extend that it into arbitrary rotations and you’re dealing with a feature that is way, way more niche than supporting portrait mode, and way more complicated than people might think. All for a feature that has no justification other than, “if it can be done, why not? Might as well right?!?”

Now, maybe there are other benefits that I’m not aware of or taking into account, but surely it’s clear why not supporting arbitrary display orientations is at the very least an extremely rational choice from an engineering perspective.

2 comments

I understand what you're getting at here, but it's also possible that this wasn't a directly pursued feature, and may have just naturally fallen out trivially from their display system's architecture & implementation as a by-product. If so, then the cost would be to exclude the capability explicitly.
exactly, just like it would be rather easy to add to any compositor based system like it's common now on linux.
> Every feature has a cost. Not just cost to develop, but cost to maintain.

A generic implementation that handles any orientation could just be the implementation with lower development and maintenance costs?

> surely it’s clear why not supporting arbitrary display orientations is at the very least an extremely rational choice from an engineering perspective.

That depends on the engineer. For some it might be easier to consider the special cases (landscape and portrait) first while others don't even want to be bothered with them until optimization time because a generic solution is the more straight forward approach.