Skip to main content

Goodbye Mr A

Posted by joshy on December 4, 2008 at 8:11 PM PST

First I'd like to thank The Hoosiers; a British band who, for reasons inscrutable to man, formed in the American midwest.

So. After a year and a half of sweat and hard work JavaFX 1.0 is here. (Don't worry the next release will be here far, far sooner). Apparently the world was so eager to see JavaFX that it completely overloaded our server. We've got new stuff set up, though, so we should be good to go. My latest post on the JavaFX blog contains all the details, so I'll just point you there. And more importantly, I urge you to head over to JavaFX.com, now completely redesigned to be cruft free and highly educational.

We've had a team working very hard on samples and demos. Not only do these samples serve as tests of our tools and runtime, but they are also documented examples for you to learn, with complete downloadable source code under the BSD license. And by the way, though you may see my name on a bunch of the samples, I most certainly did not write them all by myself. Nor did I repair the cloning machine so that massively-parallel-Josh could write them all. This has been an incredible effort by lots developers and designers within Sun, many of whom donated their valuable spare time and imagination to create cool samples; complete with documentation, graphics, and full source. My sincere thanks to all of you who really pushed the boundary to create a great set of samples at launch; and especially Jasmin our PM who wrangled the whole thing together. Oh, and to our readers out there: we've got a bunch more samples that you haven't even seen yet! Stay tuned.

So now, please: Go Download, learn, and code!

Oh, and regarding Linux and Solaris support, please see my other post here. We are working very hard on it.

Comments

To all of you asking about the install experience. We are working on it. Please stay tuned. nalte: We aren't using the javascript for the webstart links because I forgot. I'll fix it in the next rev. Could you file a bug in our new bug database here: http://javafx-jira.kenai.com/ cyparu: A brand new Eclipse plugin has been opensourced here: http://kenai.com/projects/eplugin psynixis: We are in the process of reducing the number of dialogs you see. Crossdomain.xml support will be widerspread soon. Also, If you get Java SE 6 update 11 you will now get the JavaFX runtime pre-installed without any dialogs. thank you all for your feedback. Please follow the official JavaFX blog here: http://blogs.sun.com/javafx/

@joshy Really glad to hear the app install experience is being refined. First, +1 for nalte's points. I realise I may be at risk of trying to teach people to suck eggs, but I think it's worth saying this (again), given how off-putting the install experience is right now. Here's what's needs to happen - The very first time JavaFX is run on a system (i.e. when the JavaFX runtime is installed for the first time), then it's OK to have *one* dialog box pop up. That's *one*; not *more than one*. Ideally, it requires just one click. - After that, the "typical" experience should be that, when they visit a new web-page with a new JavaFX app on it, the app should start seamlessly. No pop-ups. Not one. Not two. None. Something is badly wrong if, when the user goes to a page with a typicalJavaFX applet, some kind of security dialog pops up, along the lines of: "The certificate for this application could not be verified. Do you trust the publisher fhiis software?" - In those *rare* cases where a security dialog *has* to pop-up, it should not contain the current gibberish about "trusting publishers" and "certificates" not being recognized. Why? Because it's meaningless, given that 99% of end users will have no idea what it's supposed to mean. It needs to explain the issues simply, and clearly e.g. "This web-page is now requesting to install some software on your computer. Just as with installing any piece of software (like a word processor, or a music player) , you need to give permission for the software to install. Click "Install" to install now, or click "Don't Install" to cancel the installation."

Hi Josh, My congrats to all that made JavaFX 1.0 possible ! As you might already know there are some weird behaviour into some demos. EX: Flying Saucer and MP3 player ... (when dragging/clicking the frame it starts "shacking" the freeze (on XP)... this is reproduced on multiple machines)..... Additionally from time to time when trying to load a FX demo IIthe Java plugin didn-t recognized that I already have 6u11 installed and tried to install-it again (this can be reproduced on multiple computers at home and at work). Hopefully some sooon-updates will fix all these issues. Additionally I hope you'll open-up and make available the "full-power" demos shown at JavaOne (ex: tank game, video library) and the demos shown by Nandini & MaldenLabs mentioned in JavaFX 1.0 videos (ex FoxBox ....etc..) . Just add them all to the JavaFX 1.0 "samples" ASAP :) Another issue relate to the Eclipse plugin that was mentioned .... but then, just "dissapeared" ... Where it is ?! And the last one: Wouldn't be nice to make public al the video(s) of the JavaFX 1.0 launch event ?! ... 10x, and keep-up the good work !

If it is possible somehow to support plain POJO binding (either by bytecode manipulation or by creating some kind of delegate class from an existing Java POJO), then it would be of great help. I can imagine at least something like: var x:MyPojo = Bindable(new MyPojo()); // Bindable modifies the bytecode and injects the listeners (even the private fields may be enhanced with getters and setters). Only fields that are not private have problems to be monitored. And I hope there are not much code out there doing that. I really think that this would be the killer benefit for us developers. For example, I have lots of business code in Java and would like to build a GUI with as little effort as possible, such that I need to code in JavaFX only for the GUI elements. I would strongly suggest in trying to find solutions to support it..

@ sialivi The beta of mobile support was the big thing. Though there's also some CSS support that I will blog on next week. @ vhi There is no way to bind to POJOs without the underlying Java objects notifying the listener using some sort of events. There simply is no way to monitor the state of a plain Java field. @ nalte We are continuing to work on the install experience. You should only get the JavaFX security dialog and EULA the first time you run an FX app, however. After that you will only get dialogs from apps that are signed. Most of the JavaFX.com samples aren't signed.

Hi Josh, I'm really looking forward to how JavaFX will evolve in the future. However, what the current demos already show very well is that deployment might be a showstopper for JavaFX! Lets take the video player as an example: - first of all the user gets confronted with a "Java" waiting thing (for all the flash players out there, have you ever seen a "Flash" splash?) - the user gets a security popup he/she will not understand (for all the flash players out there...) - let's assume he/she accepts it, it takes ages until the video starts playing (HW is recent dual core; flash players start instantly) - what the heck is that senseless Java tray icons good for??? (for all the flash players out there...) [- since I have the latest jre installed I can't comment on the user experience in case java is not installed at all / in the correct version; however, I have quite bad experiences here as well] For the webstart approach, the same points apply as well. Additionally there is one question which makes me really wonder: What is the reason that you don't use your own deployJava mechanism?? As soon as you ask your users to execute a "JNLP" file you will most certainly loose them. Kind regards, Hans

Is it possible to bind to any POJOs (without POJOs having to fire property listeners). If that is added, it would be really cool, as then I can use plain Java for business methods and "skin" those objects using JFX. This simplifies a lot and is one of the main reasons that I am interested in a JVM-based solution and not Flex.

Congratulations. This is fantastic. There is nothing to be ashamed of - I mean, I went to see some silverlight demos.. and, man, you guys did a great job. May I suggest to add a % (progress bar) when loading the code... ? It is a great user feedback to give while launching an app. Super!

Joshua, You mentioned in the final countdown post that you had snuck a few unexpected features into this release. I wont have time to look at 1.0 until next week so could you elaborate of what these features are?

yep, you will be able do that. i'll have a demo next week. just let me sleep for abit. :)

Hi Josh, yeah I saw the style/styleClass attributes(there are two) in the Node class. So, will I be able then, to create a .css file in my project and and somehow style my controls using it? How do I tell my fx application to use a certain css file? Thanks for your time. Mike

mikeazzi There is CSS support in the first release. My sample showing how it works didn't get into the site, though. It'll go into an update soon, plus a blog entry. I'll try to work on it on the plane. In short, look at the style attribute on nodes.

Hi Josh, congratulations on the JavaFX release, and great job on the website. I have one question for you though. In your first Javafx blog post you mentioned in passing something about CSS styling, and then you added: more on that later. Would it be possible for you to elaborate some more on this point, i.e. is this CSS support currently available in the 1.0 release? Are there any samples that shows how to use it? Or is this something that will come later? Because I'm really interested in taking advantage of this feature in my project. Thanks Josh, and keep up the great work. Mike

Linux is not currently supported. Please see my detailed blog here: http://blogs.sun.com/javafx/entry/a_word_on_linux_and We are working on it very hard.

I'm trying to watch the demoes, but I'm on Ubuntu 64. Is this supported? I think my browser plugin is based on IcedTea6. What can I do to get this to work?

carcour. Yes. all bugs we are feverishly working to fix in an update soon.

Congrats Josh on JavaFX it seems cool and the website is not ba but demoes are really slow to load. No pack200 was used can this be correct. Also the demoes are not signed and therefore don't provide a nice user experience. Why would someone need to click on something to accept a security dialog just to play video? Ex. http://www.javafx.com/samples/ExercisingSwing/index.html take more than 1min to load.

In the meantime, impatient Linuxers can tweak the Mac OS X installation as Weiqi Gao explained here: http://www.weiqigao.com/blog/2008/12/04/using_javafx_1_0_on_linux.html - of course, parts requiring native libraries won't work, but it's a start.

>>[some comments about splash screen, security popup, >>startup time, tray icon...] >@ nalte We are continuing to work on the install experience. Hi Josh, I would really appreciate if you could be more precise here! I definitely believe that you are further working on this. However, I'm absolutely convinced that smaller incremental improvements are simple not sufficient to get real acceptance on the desktop. What about this little exercise: What do you think is necessary to get Google to replace Flash with JavaFX on YouTube? (seriously!) Furthermore I would be really keen on understanding why you don't use your own deplayJava script to launch your webstart demos. Thanks for your time!