X, Flash, Swing, JavaFX, SilverLight, AWT and more were all attempts to offer a GUI over TCP. The important question is why they all failed. This is a complex issue and many good essays have been written that address parts of the question. Still, I think most of it can be boiled down to 3 things:
1.) some were closed-source and proprietary
2.) some were needlessly verbose, or enforced a workflow that made it difficult to interact with designers
3.) some depended on HTTP for at least the initial handshake
What the world needs is an open-source GUI technology that is fun for designers to work with and which uses a protocol other than HTTP.
My own bet would be that when we finally get such a technology, it will come from the world of gaming, where they already do amazing GUIs, and where they often abandon both HTTP and TCP and use UDP instead.
> My own bet would be that when we finally get such a technology, it will come from the world of gaming, where they already do amazing GUIs, and where they often abandon both HTTP and TCP and use UDP instead.
Then I wouldn't put much hope in the world of gaming coming up with a GUI solution, then. From what I understand, Scaleform is considered best in breed for cross-platform GUIs in the gaming world.
It's fun you say that, Valve just ditched Scaleform (industry-standard, based on Flash) for their own GUI stuff called 'Panorama' in DOTA2, which is XML, CSS and JS.
If you are talking about flash let's be clear. Flash was killed by mobile (and being generally shitty).
It's not like Apple said "Flash is the worst" and everyone said "Hey, you know I never thought about it like that". In fact I'm sure battery was a major reason not allowing flash, IIRC that (plus general indifference) was what was the nail in coffin for even android phones flash.
That's an excellent response, but it leads to the question, why are we using HTML if X was successful? HTML over HTTP is now routinely used to deliver a GUI for TCP, even though HTML was originally designed to deliver structured documents, and HTML comes with a great deal of baggage that muddies its ability to function as a GUI. It's become common to use a mountain of Javascript to try to overcome that baggage. Clearly, a fresh start is warranted.
1.) some were closed-source and proprietary
2.) some were needlessly verbose, or enforced a workflow that made it difficult to interact with designers
3.) some depended on HTTP for at least the initial handshake
What the world needs is an open-source GUI technology that is fun for designers to work with and which uses a protocol other than HTTP.
My own bet would be that when we finally get such a technology, it will come from the world of gaming, where they already do amazing GUIs, and where they often abandon both HTTP and TCP and use UDP instead.