Exactly for the same reason why humanity has come up with an idea of standards. Same set of reasons I would even say.
> But I wouldn't impose the same principles to all applications just so it will be slightly more familiar to some people.
This is because design choices are more important to you than users' comfort and productivity. Some argue that it should be the other way around, though.
and the same reasons are there why humanity has come up with the idea of breaking or ignoring bad standards
You can't resolve these type of issues in the abstract, some olden design paradigms are better than what we have now, but then there were plenty of awful decisions "standardized" as well
> I don't see why we need to conform to a centralized idiom.
> But I wouldn't impose the same principles to all applications just so it will be slightly more familiar to some people.
> You should not "innovate" just for the sake of innovation
But you can innovate to fix "bad UI practices standardized by ignorant people of the past"
They are almost never well designed. Devs, particularly those who get excited about “clever” UX don’t care about usability.
> I don't see why we need to conform to a centralized idiom.
Because I don’t want to learn dozens of keyboard shortcuts to do the same thing just because a random dev thought it was clever to have their own thing. Because I don’t want to spend hours navigating “clever” menu layouts and figure out whether the settings I am after are behind a hamburger, in a sub-sub-submenu, in a contextual menu, or hidden behind arcane commands (hello, Chrome). I don’t want some stupid software forcing down on me metaphors from another stupid OS, either.
I do want text fields to support the same operations everywhere; I want menus to be used the same way as well, and these are the most egregious.
OS provided widgets offer baseline functionality the users expect to find. Re-implementing your own widgets is fucking stupid: you are spending a lot of time to re-invent the wheel, and in the end it does not even work.
It’s just like cryptography. Don’t roll your own. Your users will thank you.
This sounds pretty great to me. If the applications are well designed, they can do their own thing. I don't see why we need to conform to a centralized idiom. It's great that you can immediately tell which app you're in just from a glance. And also it's more interesting when applications have their own character.
I would say idioms should maybe play a role at a company level, i.e. it makes sense that Google products will share design principles. But I wouldn't impose the same principles to all applications just so it will be slightly more familiar to some people.