While there are loads of valid criticisms here, a lot of time is wasted on complaining that Windows broke the weird, buggy shell customisation tools and modules that the author uses.

Some of the problems ("why are these resources in DLLs and not files") are there because if Microsoft changes them, loads of programs break for many more people. As opposed to the people behind many shell customisation tools, other programs do use the APIs that were intended to be used by developers and Microsoft actually tries to keep compatibility with those above some kind of quick launch menu some guy customised back in the XP days.

I think this guy would be excellently at home on Linux, although he picked some of the more fancy distros as examples in his video. His Windows setup reminds me of LXDE and XFCE. The dock, the floating panels, everything can be replicated and practically guaranteed to work despite updates. Now, program compatibility for stuff like video editors is an entirely different subject so I don't expect this person to switch, but as far as GUI problems go, Linux is the best place to solve them to prove your point.

There's one problem though, and that's that nobody cares about you and your long tail. Linux people used to be all about this stuff and that's why Linux was always considered arcane and unusable. Linux shell developers used to develop a lot of their software for themselves and their usage patterns instead of for others, making their only usable for people with the same expectations. Because of the lack of a unified GUI, there will never be centralised settings for the entire system, there's always long text files. If you are in the long tail, pick up Arch and go ham. But please, for the love of God, leave the GUI for normal people alone.

I used to do tech support over the phone, which most commonly consisted of getting people to launch Teamviewer and fixing whatever problem they had. Every fancy, smart, helpful feature that some whizzkid installed to help their parents made it completely impossible to help those people. They don't know what a start button is, they can't describe their screen to you, there's no standard buttons, labels or anything to help people, manuals are suddenly all wrong ("I've got the start menu open but I don't see control panel" because the shell renamed it to "settings") and auto hiding task bars made people think their computer was broken.

There's improvements to be made, but most people require simplicity over customisability. Custom icons break software, break expectations and often break metaphors. Custom task bars break old, buggy business software that hundreds of thousands of people rely on. Hell, I've seen some tools break because I decreased the width of window borders by a few pixels. Every customisability option needs to be tested for functionality and compatibility and developers' time is much better spent at making features normal people care about.

You want a perfect shell no matter the cost? Build one. The shell launch API is there in Windows, changing most system icons is supported through the registry. Window theming for most of the OS can still be used through the Windows 2000 theming system. Even more is possible by passing certain system messages to windows of other programs like explorer. You'll break stuff, but you'll break them just the way you like it. Don't expect anyone to build a GUI for you if you know your requirements don't matter for the vast majority of people.