
By being hell bent on "finishing" JavaFX instead of augmenting Swing Sun has more or less destroyed their credibility as a desktop platform company. The reality is that Swing plus a scene graph, accelerated layers and a new media framework is more valuable than the entire JavaFX ecosystem. Adobe, Microsoft, Apple, Opera, Mozilla and Google all believe that XML is the future of layout and yet Sun believes a non-standard syntax based on Lisp and JSON is the way to go. And the fact that C#, Actionscript, Dalvik and Javascript are all Java clones seems to indicate that Java is just fine as a user interface language. Adobe even exports twine animation code as XML and vectors as SVG. I sit here working in Adobe Creative Suite and wonder what Sun is thinking.
Microsoft has been working on WPF for ages and yet WPF-Silverlight compatibility is a nightmare. Why should Sun succeed when almighty Microsoft is still working out the kinks in their new UI platform ? How can Sun rip out Swing from JavaFX and still be relevant ? Is this even realistic ? JavaFX is basically just a new way to make resolution independent software. Swing developers have to babysit a bunch of pixels so I understand why JavaFX is seen as a good idea.
Let JavaFX exist. Let them work on it full-time. Take care of that poorly hidden Android envy. But don't ignore Swing and Java. Porting WPF code to Silverlight is a royal pain in the ass. Qt and Phonon breaks on Windows 7 and Ubuntu 64. Flash 10 requires you to buy a small nuclear power-plant for some reason. The only media player I have that runs everywhere is my Swing based media player.

Quicktime for Windows is terrible. The Windows Media Player is conservative. The Adobe Media Player requires extra uranium rods. And yet Sun doesn't want us to make something better. Something that Sun could use to promote their own brand. Something that removes the need for Flash based video players on Sun dot com. Something to be proud of. Something that people actually use. My web server runs Java 2D and ImageIO code. Even in a world of zero Java desktop customers, they will still be using Graphics2D when they access the Teppefall website. Because the technology behind Swing runs almost everywhere.
I simply ask, why is Swing obsolete when Linux people still use X11 and severely broken audio API's ? Why can't Java 2D get its Cocoa moment ? If web developers can code Objective C, then surely Sun can create a better Swing. All they have to do is move parts of JavaFX into the core via a kernel update. Everybody wins.
People who claim that Swing sucks have never tried multi-platform programming. Everything sucks. And the moving target that is the Microsoft security architecture will just amplify this. WPF exists because native DLL's and Windows API calls are being locked down for security reasons. This is all hugely ironic. Microsoft rejected Java and then reimplemented everything themselves with a similar focus. And what's even more ironic is that developers turned to Nokia Qt instead of WPF because of the fear of vendor lock-in. So this is all very "Back to the Future". Microsoft goes all resolution independent plus VM and developers run away screaming towards Qt/C++ and Cocoa/Objective C.
The alternative is to create web applications. And all that does is move us into a world of 100 percent DRM, dropped calls and extreme pollution. Imagine a world where everything is as slow as Google Docs. There is not enough uranium in the world to run all the shitty Chrome OS clients connected to Youtube. Desktop development is suddenly the green alternative which really sounds absurd. Google Chrome OS is simply Sun Rays with browsers instead of VNC targeted towards middle class people in India. I wonder if Google demands lead free Chrome OS computers. Chinese people would prefer their rice without lead "vitamins" (Pb).

I love the web, but most web applications are, well, just terrible. And a ten times faster Javascript engine will not change this. Because killer apps don't survive view source and never will. On the web everything gets cloned, repackaged and resold. Those who survive simply hide their code on the server. And this is why Google is such a hypocrite. Do you think Google would survive server side view source ? No, their advertising network would implode because of click fraud. On the web you win because you are ahead of the other guy by a tiny margin. People use Google because they don't think Google is gamed. And if you don't understand what I'm talking about then check out Digg. If people knew the internal sorting algorithm everything would be spam, Google and big corporations. Search would turn into email. Do people really think that Google engineers moving to Web 2.0 companies are in no way related to their understanding on how to build traffic ?
The most damning thing about JavaFX is that Jonathan Swartz claimed it would let you escape the "hostile browser". The browser is not hostile. It's the new security sandbox. Java, Actionscript, C#, Vmware, Parallels and Firefox are all protecting Microsoft Windows from the web. The entire Web 2.0 phenomenon was simply a manifestation of a weak Windows XP security architecture. Web developer smugness is based on an extremely naive world view. They have jobs because the web used to be a mess. But in the future, web applications will be made by your mom and foreign students with pirated software. Just look at blogs. Everyone is doing it. 16 year old girls have more traffic than I do. Because 14 year old girls are a bigger marked than whiny programmers who don't want to pay for anything. The web is a manifestation of economic principles. The problem is just that everybody wants to be a Starbucks in Beijing. Which is economically absurd.
