Sun's JavaFX must toolup against Adobe - pronto
Ask not for whom the school bell tolls...
Or, if this ruffles feathers, something just as clear-cut: provide a simple, fast way for non-experts to write rich-client multimedia applications.
Then, anything which doesn't clearly fit into this should be struck out of the spec. And if any part of Flex runs rings around JavaFX, then make that area a top priority.
Every demo, every default, should look gorgeous: meaning, it should provide things like a nice subtle gradient for blank panels instead of the default dead-flesh grey background.
You'd want someone's first experience with a "Hello World!" application to blow their socks off visually, not make them recoil. The JavaFX engine should be doing its utmost to show off its visual power every chance it gets; it shouldn't rely on the equivalent of Swing hacks or rockstar coding to get it looking good.
In Sun's defence, this is nothing new. Sun's babies have always been ugly. The startling purpleness of Swing's look and feel (up until quite recently), combined with the ugliness of early versions of NetBeans, the horrors of Abstract Widget Toolkit (AWT), and so on, proved on many occasions that Sun's people are very much programmers, not designers, not rich UI people.
Despite these pretty major problems, there is much to like about JavaFX, even in these early stages. For one thing, it's built on the highly mature Java technology stack, giving you powerful networking, multithreading and of course full access to the excellent Java2D.
However, Sun is taking its usual slow time to get it right, instead of charging out of the gate with a visually polished experience that bowls over web developers. Some of this criticism may seem unfair or premature, as the product isn't officially released yet. However, while Sun dawdles along spending years getting it right, it looks as if Macromedia - this time with Adobe - is going to eat Sun's lunch all over again.®
Matt Stephens is co-author of Use Case Driven Object Modeling with UML: Theory and Practice, which illustrates how to get from use cases to source code and tests, using Spring Framework, JUnit and Enterprise Architect.