Why have fonts, padding and other UI elements exploded in size over the past decade or so? Compare fonts in an IDE now with one from 10 years ago.

Is it Apple's push to 109 ppi (post scaling) on desktops and even higher on laptops? Things smaller on those screens -> designers making things bigger?

@sjmulder I think that most "Retina" displays on laptops had 2x scaling, so I'm not sure whether that contributed much. Personally, I've got my set of scapegoats:

  • Mobile, touch-oriented interfaces require larger elements for our grubby mittens. And mobile now is the main/first UI, so it's no longer a physical "desktop" we're emulating, but the clone of a clone of a clone of that…
  • Graphical designers need some work. After all, we're not doing a lot of print work anymore. Coming from that sector, you've got different needs, whitespace for both artistic expression and focusing on emotion was/is popular, and that got transferred when everyone moved into web design and later changed their job titles to "UX/UI consultants".
  • Big companies gave up. Earlier mobile UIs had more traditional interfaces, after all, if everyone is using your software, consistency beats flashiness. But that's not true for everyone selling "apps". And after a while, the stewards of the UIs either forgot, didn't care, were replaced by web/print designers or also changed the importance of competing within their duopoly.
  • @mhd what about e.g. IDEs (see VS Code, new IntelliJ defaults), terminal emulators, Slack and such? I don't feel these reasons necessarily explain them. My best guess for that remains people compensating for DPI drift

    @sjmulder You're talking about pure text window font sizes here, right? Because the UI elements of IDEs (if they still have 'em) do tend to get flatter and whitespacier (IntelliJ users especially complaining about some changes here, IIRC).

    I mean, there's a lot of changes besides DPI going on here, too, as it seems to also affect proper point sizes. Laziness changing sizes when switching between laptops and desktops or laptop-oriented defaults, surely play a role. But also rabid Clean Code fanboys cutting functions/methods down to single digit numbers & IDE/LSP support where you just click through your code more lessens the need for a literally bigger context window. Tabs/tmux replacing multiple terminals/editors. Anti-aliased font rendering and low-contrast themes. Heck, I wouldn't be surprised if cargo-culting coding streamers is becoming part of this scenarios, too.

    It's a wild ride anyways, if you include actual terminals. Where we started quite small due to small monitors, then those got bigger but the resolution stayed with 80x24, then we reached a total font size (px and pt) minimum with pixelated fonts on crisp displays, and now everything is getting bigger again.

    @mhd this screenshot is a good example I think. On the left PuTTY and Conhost, perfectly comfortable at 96 logical DPI, and sizing similar to classic desktop software.

    On the right, Windows Terminal with default sizes. Perhaps this looks more reasonable on a 109 logical DPI desktop screen (like Apple's, or a 27" 4K screen at 1.5x), or from across the room, but on a regular 96 logical DPI screen it's ridiculous