Thanks both of you for your arguments (and patience too
As a professional software engineer (with a nearly 40 years background behind, ranging from mainframes to micro-controllers via PCs, embedded military and industrial devices,... and a lot of other exotic stuff), I can understand your motivations for the current architecture, and I fully support them. I was not involved in the passed discussions mentioned by Andy, but I will try to find some time to have a look at them ASAP, for my curiosity's sake and to learn what were the arguments of both proponents.
I trust your analysis related to the evolution of the Mindstorms public to some extent. But if I agree with it from the point of view of individual hobbyists, I do not entirely when looking at educators and teachers. If the first population are educated users who look for and appreciate an advanced architecture such as the one you have designed, the later are not (for most of them) professional software people. However they want (an need) to use the Mindstorms because it is an amazing educational support (and not only to teach software engineering). So these users need a tool which is accessible for their students (and for themselves too), that is to say which can provide tangible results easily so that not to demotivate them (the students of course, but themselves too
). In short, a pedagogic tool.
I am presently facing the situation with two college students involved in learning how to program an EV3 in Java for their science class. They are motivated and smart 17-18 years old students, and they do want to learn. So the motivation and ability to understand complicated things are not the problem. But the gap is enormous for them, and as already agreed, it is quite difficult to justify why things can be that complicated for doing simple things, especially since they have had previously a look at the LEGO graphical environment (just for their curiosity, not because they were thinking about using it).
My feeling is that, if we want to provide answers to this later population (ie users who are not skilled software specialists) - and we have to since they represent a significant share of Mindstorms users - it is necessary to provide a simplified usage layer, built on top of the unified sample provider and filter based architecture, and providing what I called a "semantic facade" previously. To compare with other contexts, it is a bit like what people from KNX standard finally did when they created EasyKNX to put their architecture into the reach of more users (we are talking about industrial field bus devices and advanced home automation products here), after admitting that KNX as is was a bit too complex for their average user.
I don't think that there is an incompatibility between both visions, and IMHO they are are perfectly complementary. I'd like to know about people who could be interested in studying this topic, so that we could share ideas and see if it is really a good idea, how it can fit with the new architecture without disturbing and braking things, and maybe go ahead if the conclusions sound positive.