Thanks Adam, I agree with so much of this article. Technically sound as always.
I however feel the need to comment on the following:
Designers are obsessed with patterns that save space and look clean. A clean interface is good but not at the cost of clarity. If pages only contain the essential, then there should be little and maybe even nothing to hide.
Again technically this is true, but borders on restricting the experience of the page. Take this page, a medium post for example. It has lot’s of hidden menus, sticky elements, share modals and other micro-interactions. Would the page load faster without all of this? for sure. But it would likely diminish the clean, polished look and feel.
Now you could argue that a lot of this features are not essential and thus not required — but things are not always that simple. As designers and engineers it’s our job to execute the requirements of our client, and if all of these features have been requested then it’s outside of our power to selectively ‘cull’ these features.
As with many things in life, it’s all a balance :)