Who Said No-One Was Interested In JavaFX?!
I’ve seen quite a few people suggesting that no-one was interested in JavaFX. Ha! Well, today JavaFX 1.0 was launched, and Sun’s servers simply couldn’t cope with the demand, and the JavaFX site collapsed under the load (Update: it’s back up! I’ve added some detail to the post, including thoughts about Mac OS X). I managed to get to the web-site before it went down, and watch the videos, and tried some of the samples. However, the web-site collapsing under the load even when I was trying it; so I will reserve a full review for later when I can give it a fair chance. Here, though, are my first impressions (some of this is to do with the new Java plug-in, rather than JavaFX per se)…
The Good
- So far, it seems to work OKish (at least for me) – I’ve tested it on Vista and Mac OS X at this point. That’s not a bad result for a brand new technology that’s been given a 1.0 release without a whole lot (any) large-scale testing. So, I’m still expecting there will be some pretty big bugs in 1.0; but hopefully these can be worked around, and will be fixed quickly. On Vista, I found no serious issues in my quick tests. On Mac OS X, though, there were some major issues that I identified almost straight away:
- Using Firefox on Mac OS X, in my tests, when JavaFX is loading, no animated “loading” icon is visible. When JavaFX applets are rendered in Firefox, scrolling the page results in weird re-size bugs – with the applet re-sizing to be small, before jumping back to full size again. Everything is OK on Safari in this regard.
- However, at least for me, in Safari on Mac OS X, JavaFX video is completely broken (it’s OK in Firefox). Video doesn’t play at all in Safari; and worse than that, the JavaFX video player applet locks up the browser resulting in a need to Force Quit Safari.
- There are plenty of sample apps, and they’re simple enough to be easily understandable but complex enough to not be totally trivial. The source code for these should be a useful learning resource
- The JavaFX.com web-site actually uses JavaFX! Thank goodness for that
- Managing to the get the JavaFX Mobile emulator into the 1.0 release is a “good thing” [TM]
The Bad
- While the video playback works fine on Windows (see above), the quality doesn’t seem to be quite there yet (as compared to Flash). Both visuals and audio are a bit crumby. However, the JavaFX.com web-site promises that support for better quality is coming really soon.
- The default “JavaFX loading” animated graphic is ugly, and poorly conceived. It’s better than the orange Java applet thing that is the default for applets. Honestly, it’s not a good thing to have branding here at all: it will just make people think they always have to wait when JavaFX is starting. Better to have an anonymous, stylish graphic while something like this is loading. I’m sure it can be replaced; but it would be smart to make the default nice.
- The default behaviour of the Java plug-in to have a Java icon display in the System Tray when the Java plug-in starts up. This is a “bad thing” [TM]. The end user doesn’t care that they’re running Java/JavaFX. It would be the work of a moment to change the default behaviour (it’s an option in the Java plug-in).
- Something weird is going on for JavaFX video playback – the web-page that loads is OS-dependent, so you get a different web page on Windows than you do on Mac OS X. Does that mean not everything is the same for Windows and Mac OS X for video playback? If would be a problem if every page containing JavaFX video had to have different versions for different desktop OSes.
The Ugly
- This is the one thing that really annoys me about Java applets and Java Web-start. The untrusted application pop-up dialogue boxes are: poorly, and lazily designed (they virtually define the word, “ugly”); and are cryptic and scary for non-technical folks. Arrrrrrrggggggggggh! The sad truth is: as they are, they are completely unacceptable.
- It is particularly criminal that these dialogues pop up every time you play a JavaFX video! This is insane!!!
Bottom Line
Applets could well be back! The bottom line is: even in 1.0 form, JavaFX looks good enough for us to evaluate for use in a real project where we don’t need Mac OS X support right now. Congratulations to everyone in the JavaFX team for getting this 1.0 release out of the door. It looks like a phenomenal amount of work, and is a great start. There are problems though – both bugs (particularly on Mac OS X) and usability issues (the ridiculous pop-up dialog boxes and tray icons).
I have a particular concern about JavaFX on Mac OS X right now. The concern is this: if some of the problems on Mac OS X turn out to be to do with Apple’s Java SE 5 plug-in, then JavaFX could be in big trouble as a RIA platform. And by “big”, I actually mean “dead on arrival”. I think the minimum required for JavaFX to succeed is for JavaFX applets to work well on Windows, Mac OS X and Linux (Solaris would be a great “nice-to-have”). However, If Apple decides to ship Java 6 Update 10, with the new browser plug-in, about two years from now (which is the kind of delay they seem to like to have with Java on Mac OS X), it will be too late for JavaFX.
I really do hope these kind of issues turn out to be nothing more than teething problems; and that they can be addressed sooner rather than later; especially on Mac OS X, where JavaFX seems to be currently suitable for development and testing, but not yet suitable for production deployment. The speed with which Sun can move to address these early issues on Mac OS X is likely to be indicative of its ability to resolve future critical issues with the platform in general.
Mike wrote:
With regard to the java tray icon, oh man!! You should really check the java.net forums to see how far back people have been fighting, and arguing with Ken(the new plugin guru), and other Sun guys about it. To no avail. One particular guy, demonduck, has been very passionate about this subject. What’s even worse is that, many times you would see not just one tray icon, but two or more!! That’s just truly unacceptable. Unfortunately the only response you’d get from Ken, who has done a outstanding job by the way on the new plugin, is that it takes a lot of engineering work to provide a better alternative. This may be true, but you have no other choice folks, if you are hoping to compete with the big guys. I am actually a bit surprised that Chris Oliver who is known for his selective usability taste has allowed this to drag on that long. So please Sun guys, stop the foot dragging, and the push back on this and get on with the fix!
One interesting alternative that was proposed on the forum is to somehow leverage the Visual VM tool, for developers who want to diagnose applets in a browser. But whatever they want to do, this ugly tray icon(s) has got to go, period.
Posted 04 Dec 2008 at 10:00 pm ¶
Ivan wrote:
Probably collapsed since they were using ejbs. Gonna go see if it’s up now
Posted 04 Dec 2008 at 10:31 pm ¶
simon wrote:
Mike,
To be fair to Sun, there’s plenty of folks there that do listen. Sometimes, though, there appears to be some bizarre decision-making going on. The tray icon issue is one. In regard of the “two tray icons” thing, btw, I had that issue today trying out JavaFX on Vista
Anyway, here’s the the thing I genuinely don’t understand in the tray icon argument. You give Sun’s argument:
“It takes a lot of engineering work to provide a better alternative.”
No! That simply isn’t true! In the “Advanced” tab in the Java Control Panel, there’s a checkbox in the Java Control Panel that lets you stop the tray icon from appearing! Surely, Sun should simply have that checked by default. Problem solved.
Then, on the rare occasions where there are support issues that require people to look at the Java console output, or when developers are testing systems, they can simply open the Console, and put the tray icon on and reproduce the problem to go and grab console output etc.
So, there is no engineering work required to make this problem go away. Is it a perfect solution? No. Is it better than they way things are now? Hell, yes! > 99% of the time, end users never click on the Java tray icon (many never click on the Java update icon either). In fact most non-expert users have no idea about most System Tray icons; in general, they find them confusing.
What am I missing?
Posted 04 Dec 2008 at 10:38 pm ¶
Dave Ray wrote:
I tried it out on XP and things seemed to go smoothly. Things that bugged me:
* The “untrusted application pop-up” you mention. It’s just stupid.
* The detachable applets seemed to go a little crazy when you dragged them around.
* I read there’s no support for rendering HTML in JavaFX widgets. This is just lame.
* Worst of all: trying to install Yahoo toolbar when I updated the JRE. Give me a break. This is way more annoying than the tray icon.
Even with all that, I’m still pretty excited to give it a try and I really wasn’t until sometime yesterday when I really started to read about the language.
Posted 05 Dec 2008 at 3:24 am ¶
James Stansell wrote:
Simon, thanks for a great write-up.
I think I might be the one who proposed making use of a stripped-down visualvm.
The idea came up regarding the multiple system tray icons. The explanation was that there could now be several plugin jvm’s running, so one tray icon wouldn’t be enough. In addition, the tray icon was needed because the view->java console had to be removed, because there could be more than one jvm.
What I was thinking is that the view->java console could be put back, but load an interface that could show all applets for the user. Identifying all jvm’s wouldn’t be a problem. What I wasn’t sure about was if the console output could be displayed.
With that in place, though, the argument for even one system tray icon would be relegated to a marketing exercise.
Posted 05 Dec 2008 at 4:18 am ¶
Mare wrote:
It looks good and powerful and all, but for gods sake: I started demo that came with SDK and it took more than 20 seconds to start!! From my computer!
I don’t mind tray icons (although their multiplication looks a lot like some cheap virusy crap that you caught on some of the porn sites). But half a minute for startup!..
That’s ugly…
Posted 05 Dec 2008 at 8:19 am ¶
Fabrizio Giudici wrote:
“Both visuals and audio are a bit crumby”
Indeed, this seems to be more a problem of some videos being encoded for higher compression (probably to reduce the bandwidth to minimize the chances of troubles); for instance, in the introductory video the audio was clearly sampled around 8k and sounded “telephonic”. Instead, I was able to run the video player in the demo section (they use some higher quality toons movies) and both video and audio quality seemed to be ok. The Movie Puzzle demo was pretty good.
Seen other bugs in the area, for instance the audio of one of the movies continued playing on even after the applet was closed, until I quit FireFox.
Posted 05 Dec 2008 at 10:19 am ¶
simon wrote:
@James, I think the Sun folks are confusing, “The tray icon is needed…” with, “The tray icon is needed by default…”
As things stand (i.e. without implementing something like your idea), the tray icon *is* needed as a feature. However, this feature should be switched off by default.
Posted 05 Dec 2008 at 10:58 am ¶
Gene De Lisa wrote:
How are those Menu and MenuItems, Tables and Trees working for you in 1.0?
I got a video to play but it barfs on MP3 files. I know that’s a little used format so maybe that’s not a big deal.
Posted 05 Dec 2008 at 11:21 am ¶
simon wrote:
@Gene,
I’m not sure exactly what points you’re meaning to make. I get you’re being sarcastic
But I don’t know what points you’re making.
I haven’t tried tables, trees etc. in JavaFX; but there seems to be a standard way to integrate Swing components into JavaFX apps… something vaguely along the lines of:
var myButton = new JButton(“Swing Button”);
var myNode = SwingComponent.wrap(myButton);
Are you saying you believe this approach doesn’t work for the UI constructs you’re talking about?
Or are you complaining that the JavaFX team hasn’t yet implemented a complete set of “JavaFX native” scene-graph-based components? Clearly, the more of these they do, the better – because they can work on Mobile, TV etc., rather than just on the Desktop. There’s lots of things they haven’t implemented yet, though – it’s still early days.
As for MP3 playback – what OS are you using as a matter of interest? For information, that worked fine for me on Vista and Mac OS X with the MP3 player sample app.
Posted 05 Dec 2008 at 11:47 am ¶
Hanno wrote:
I think it’s a good start for JavaFX. Things look impressive.
But I don’t get one thing concerning the designer-developer work flow. In the FAQ on the JavaFX website (http://www.javafx.com/faq/#6.4) and in the videos it is said that first some designer guy is doing the graphics and then the web developer is doing the animation and effects in Netbeans together with the programming logic, like calculating something.
I think the part of animation and effects is part of the designer and so I think there should be some software program (like Adobe does it with Catalyst) to make those animations and effects.
Correct me when I am wrong and you think that Netbeans is suitable for that but on the first sight I think that some designer program for that purpose could be great.
Posted 05 Dec 2008 at 2:59 pm ¶
GeekyCoder wrote:
Hi, James Stansell,
the multiple tray icon showup make sense from logical point of view but it irritates the normal user into thinking that the JVM has mess-up the tray icon display somehow by showing multiple tray icon as user is not accustomed to seeing more than one similar tray icon (I do find it rare to have similar tray icons show concurrently), and hence will mistaken them as bug/flaw.
Will it be possible to consolidate all the JVM settings under one single tray icon ? So that when user click on the single tray icon, it show a popup list of active JVMs ID/description and when click show its own setting dialog ?
And if the tray icon is set to hidden, the user can go to the Java control app and select the relevant JVM from a JVM Setting table.
That’s probably pose some technical challenges implementing it though.
Posted 06 Dec 2008 at 3:25 pm ¶
Mare wrote:
@Hanno
I think the perfect app for that job would be InkScape. If someone could merge InkScape (JavaFX plugin is already done) and some good editor (jEdit, Notepad++, SciTe…..), and extend it with some basic keyframe editor or something, you’d get a great open source alternative to Adobe Flash/Catalyst. I’m so looking forward to such an app.
Posted 06 Dec 2008 at 6:37 pm ¶
suvi wrote:
Sun has definitly some work to do. Escpecially for deployin on mac os and linux. A javafx application should just start out of the as a java app does. This is not the case for the moment, hope soon it will be.
Posted 12 Jan 2010 at 7:47 pm ¶