I get why you would hide interface elements to use the screen real estate for something else.
I have no idea why some interfaces hide elements hide and leave the space they'd taken up unused.
IntelliJ does this, for example, with the icons above the project tree. There is this little target disc that moves the selection in the project tree to the file currently open in the active editor tab. You have to know the secret spot on the screen where it is hidden and if you move your mouse pointer to the void there, it magically appears.
Why? What is the rationale behind going out of your way to implement something like this?
Intellij on Windows also buries the top menus into a hamburger icon and leaves the entire area they occupied empty! Thankfully there is an option to reverse it deep in the settings, but having it be the default is absolutely baffling.
> I get why you would hide interface elements to use the screen real estate for something else.
Except that screens on phones, tablets, laptops and desktops are larger than ever. Consider the original Macintosh from 1984 – large, visible controls took up a significant portion of its 9" display (smaller than a 10" iPad, monochrome, and low resolution.) Arguably this was partially due to users being unfamiliar with graphical interfaces, but Apple still chose to sacrifice precious and very limited resources (screen real estate, compute, memory, etc.) on a tiny, drastically underpowered (by modern standards) system in the 1980s for interface clarity, visibility, and discoverability. And once displays got larger the real estate costs became negligible.
I agree, I know those buttons are there and how to activate them, but I still occasionally stare blankly at the screen wondering where the buttons are before remembering I need to hover them
> There is this little target disc that moves the selection in the project tree to the file currently open in the active editor tab.
Don’t quote me on this, but I vaguely remember there being an option to toggle hiding it, if not in the settings it is in a context menu on the panel.
That thing is a massive time saver, and I agree—keeping it hidden means most people never learn it exists.
I really disagree.
An IDE, and the browser example given below, are tools I'll spend thousands of hours using in my life. The discoverability is only important for a small percentage of that, while viewing the content is important for all of it.
This is exactly when I will have the 'knowledge in the head'.
In some apps I don’t know more controls are not hidden, at least have the option to hide them. Looking at you google maps.
Some people complain about "visual clutter". Too many stimuli in the field of view assault their attention, and ruin their concentration. Such people want everything that's not in the focus of attention be gone, or at least be inconspicuous.
Some people are like airliner pilots. They enjoy every indicator to be readily visible, and every control to be easily within reach. They can effortlessly switch their focus.
Of course, there is a full range between these extremes.
The default IDE configuration has to do a balancing act, trying to appeal to very different tastes. It's inevitably a compromise.
Some tools have explicit switches: "no distractions mode", "expert mode", etc, which offer pre-configured levels of detail.