I agree that “intuitive” is very subjective, because it depends on the person’s previous knowledge, experience, habits and to some extent probably also personality. So, while there is no such thing as “universally intuitive”, I’d say that there is something pretty close to universally unintuitive. So, there is some order in the madness, up to a point at least. For me, intuitive doesn’t mean that I instantly know how to use something, but that there’s consistency and a “red thread” that I understand after having struggled with it for a little bit. If I never “see the system”, never know where I should probably look for this or how I should probably do that, I deem it unintuitive. Consistency is more important than the solution itself, as I see it, but this consistency must be on a “concept level”. By that I mean that if one thing is solved one way, and there’s a somewhat similar thing, it should be solved in a similar way - so that a user can guesstimate how to do a task he/she has never done before.
I don’t think you can ever get to a point where the average user have experience with JavaScript, CSS, HTML or the various frameworks. I know close to nothing about Vue and Framework-7, except that I read that they were abandoning their desktop support and were going to focus exclusively on mobile. Not a good development in my view, and it completely shuts down any interest in learning more about it. When it comes to JavaScript, I dislike it because it’s so messy, because of the missing type system - basically because it’s a mess. CSS is also a mess, with different things supported by different browsers and browser versions. You can’t really keep current with stuff like this without working with it on a more or less daily basis. It’s just too inconsistent. This makes me “unwilling” to learn more than I absolutely need to solve a certain task with these tools. And, as soon as that task is done, I forget it, because I simply “can’t afford” to remember things that probably won’t be correct the next time I need them anyway.
I don’t know how others do similar considerations, but we all have to choose what we want to keep in our head - the storage space is limited. Because of this, I doubt that most people will ever choose to keep enough knowledge about these things to really be able to efficiently navigate it, unless they are involved in this in some other way (work etc.). That doesn’t mean that people can’t learn how to use a CSS property to change color, that doesn’t require “learning CSS”. But, most users will never know enough about CSS layouts, hierarchy etc. to “master” those things. They will probably need examples/samples that they can tweak.
I think the clue is to have a system that “works” for people with different levels of knowledge. If you have to acquire a lot of knowledge before you can do anything, most will give up. If you can do basic things with basic knowledge, and then study whatever parts that you want to be able to do more with further, I think you have a system that “invites people to learn”. But, translating that into an actual implementation might not always be so easy. You can get some way with sane default and the ability to override when needed. But, it is hard to do both, without doubt. At the same time, one thing is certain: Those that are scared away because they can’t acquire enough knowledge to achieve anything, will never learn the system.
I must accept a considerable part of the “blame” for not discovering this. The reason I never saw it was that I never looked for it. The reason for this is that I didn’t expect that anything had changed since I first saw OH3 - because the UI looks similar. When you “think you know what you’re looking at”, you often won’t notice the details. It’s one of those things we do to save time and effort.
But I agree that it can be a difficult balance. Forced wizards are definitely not the answer, they should be banned globally. Ideally the information should be available, at your fingertips, when you need it - but not get in the way when you don’t need it. This is why I love mouseover tooltips - except that it’s annoying that the often disappear after a certain time. Eclipse has gotten that right - if you click the tooltip, it will stay until you close it. But, tooltips doesn’t work with touch, which is probably why it’s been in so much decline. I still think it’s the best way I’ve found. That said, one could probably place small buttons/symbols “everywhere” that you could click to get a similar popup. But, it would be a lot of work, and it would have to “integrate” with the “larger documentation” so that concepts and structure weren’t explain in the “tooltips”, but were refereced/linked to.
Whatever technical/practical solution is used, I think the “ideal documentation” is easily accessible when and where you need it, but doesn’t get in your way.