Designing a good GUI is hard indeed and it requires a completely different skill set than the engineering task of writing a good OS/kernel/broswer. That is why ideally the two should be taken on by different teams in my opinion.
So the plan is to force the UI-team to work in javascript and that way automatically get rid of the kernel-guys?
No, but seriously, who does that today? (aside from one-man operations) And how is this going to help?
As to a third party GUI, I'm fond of the idea in for instance the android world. Instead of manufacturer-specific user interfaces, why not a third party interface developed by an independent company that doesn't produce phones. As it is now manufacturers care more about being unique than good and google doesn't put enough effort in it because everyone will change it eiterway.
But there are serious obstacles to succeeding with that and I don't see why that has anything to do with the development-side of it.
> No, but seriously, who does that today? (aside from one-man operations) And how is this going to help?
People used to write code in assembly and interface directly with the hardware. Then OSes and compilers came and made everything easier for everyone involved. Only a few highly specialized hackers know how to write device drivers and assembly anymore.
I am convinced that in a few years from now (remember I was talking about the future) the majority of developers will be "frontend developers" who know HTML/CSS/JS (or hopefully JS replaced with something more productive). Right now that thought might suck, but imagine how many tools and libraries will be available by then.
> But there are serious obstacles to succeeding with that and I don't see why that has anything to do with the development-side of it.
I am not sure what you are talking about. I am talking about completely decoupling the user interface from the rest of the OS, a little bit like it is the case on the desktop with Linux / BSD and KDE / Gnome. Only that making user interfaces does not require a lot of technical knowledge.
EDIT: Just to clarify. I am talking about a hypothetical future mobile OS not Android or iOS. The way I am seeing this is a little bit like WordPress plugins. There would be a default GUI, but most people would download a custom one. A large number of UIs would be free, but if you want to be hip you need to pay for the latest one. There will be an entire new class of UI designers, just like since a while ago there is a new class of mobile app developers.
EDIT2: The OS itself would be FOSS and the hardware would dead cheap, because it is just a commodity. Eventually it will replace desktops, for instance with a special javascript API to run a virtual machine, which can run a desktop OS on your phone, if you need one, e.g. for development.
I'm not arguing against the use of a high-level language.
I also thought of *nix as an example, and that is in my eyes a perfect example of how you do not want it to be (the result at least).
I don't get the need for many different interfaces. You do realize that as an app developer you have to constantly adjust your app for different interfaces, and people complain they have to make high-resolution interfaces for the ipad3 - that's nothing compared to trying to adapt to different user interfaces.
A user interface is an investment, a whole ecosystem that many generations of applications depend upon. You don't just change it at will, think about all the inconsistencies you'd have to deal with.