Skip to main content

Thoughts on the JavaFX Launch Event

Posted by richunger on December 4, 2008 at 10:02 PM PST

I just got back from the JavaFX launch event in San Francisco. It was just a few blocks from my office, so I figured, why not? Jonathan Schwartz was presenting, as well as the VP in charge of Java (I forget his name), and the had a pretty impressive set of demos.

There were also demos being presented by Sun folks and a few partners. I spoke for a while with Jeff Martin, from a small shop called ReportMill:
http://www.reportmill.com/company/jeff-martin.html

They've built a very impressive gui builder for FX:
http://www.reportmill.com/jfx/

It struck me as something like a cross between Matisse and InDesign, with some whiz-bang animation and video thrown into the mix. It had fully functional data binding, as well. I didn't ask him if it was a 2-way editor, though I kind of doubt it, for the same reasons Matisse is not.

It seems everyone demoing was fond of doing things like rotating widgets at odd angles to each other, putting in gratuitous animation, etc. Of course, they all said it was just to show what the platform could do, and is not considered best practice :)

It got me thinking about this separation between designer and developer workflow. The intention is to allow good graphic artists to create impressive looking and unique interfaces, without being hampered by the constraints of, well, whatever you need to do to create a Java L&F, for example.

It may do that for some successful deployments. I think that in the rank and file development houses that cannot afford (or are not interested in) designers, we'll see two other outcomes. In some cases, we'll see horrors like you can only find when developers try to do design. It will be the blink tag all over again. In other cases, we'll see standardization on a few L&F sets, just like we do now. Only this time, those sets will be easier for good designers to create. Furthermore, I think that this will finally settle the platform fidelity issue for Swing. It will be much easier to mimic XP, Vista, OSX, Gnome, and KDE.

Anyway, I don't really have a point to this entry. Just some random thoughts. I'm excited about the technical improvements to the base JDK that make this all possible. I'm excited about the unified deployment model. I think that separating designer and developer workflow is a good thing (and I spent a great deal of time thinking about those issues when I worked on Nuance V-Builder). I haven't delved too far into the technical details of how this is accomplished, so I haven't made up my mind completely about FX Script.

They seem to be heading in a good direction, and upping the ante in a few areas against Flash and Silverlight. I think if they can manage to get the browser penetration that Flash has, they've got a pretty good shot. Certainly the legions of Java EE developers will find it a more familiar platform than Flex.

One thing that's absolutely clear to me from the launch party, though, is that Java FX is not complete. This 1.0 release feels more like a .9 release. The engineers were still holding their breaths during the demos. The tool offerings are incomplete, and they're leveraging their major competitor's tool stack. They don't even support Solaris yet! I think this "release date" is pretty arbitrary.

But, I'm more confident than I was yesterday that it will be really nice when it's done.

Related Topics >>

Comments

I totally agree with the idea of separation from Design and code developing. I saw some of the javaFX mobile source code, they are just mix the fancy animations with the application logic, which is very hard to maintain in future. THE PRESENTATION LAYERS SHOULD BE SEPARATED FROM THE APPLICATION LOGIC!!! We need Sun to provide code practices for JavaFX developing.

>The new MS-Office doesn't look at all like the rest of Windows. Neither >does MSN Messenger. Firefox is also not 100% native-platform- >visually-compliant (maybe even 0% with themes). I don't agree, I think you're prejudging the office issue - you're just seeing and early glimpse of Microsofts new HCI here, don't worry you'll soon be seeing ribbons everywhere: http://www.pushing-pixels.org/?p=787 It's not just different for the hell of it, its a deliverable and thought out attempt at having a nicer HCI more like Apples. Gestures seem like a new trend here too (maybe driven by an increase in touch-sensitive devices). I think the Mozilla guys would be upset at your allegations that it's not platform compliant - they've delibrarly put a lot of effort into default themes for both XP and Vista (and Linux, OSX). Don't mistake a skin for a look and feel, if you dip down into say the options dialog look at how the widgets works, how the focus moves, what is the default button and when, comboxes, keyboard navigation.. It's all here. A skin is just a grown-up version of changing your wallpaper or background colour, its about being able to customize your environment to make you feel comfortable and express yourself to some degree. The Feel is often where the HCI bits really kick in. We appear to agree in that JavaFX dosen't appear to be the right place for worrying about different OS Look & Feels (yet). But you can't just decide to throw out basic HCI principals either. Finding that balance is one of the things this magical rich ui renaissance developer will have to master.

> I think that this will finally settle the platform fidelity issue for Swing. It > will be much easier to mimic XP, Vista, OSX, Gnome, and KDE. I think it's quite the opposite. They consider it as a non-issue. The new MS-Office doesn't look at all like the rest of Windows. Neither does MSN Messenger. Firefox is also not 100% native-platform-visually-compliant (maybe even 0% with themes). Think of JavaFX as 'Flash4j', 'SilverJight' or 'jAIR', not your common everyday-VB-like-internal-enterprise-application-with-standard-components.

Given any thought as to how a designer might supply a brief to a JavaFX developer? Photoshop mock-ups re pretty common for web developers and Kirillcool did a nice series not so long ago about turning a static mockup into an rich Swing app. What about dynamic animating effects? is that like going from an art director to a special effects director, how do you capture briefs for widgets that can be ripped out of the browser and onto the desktop? or animation effects and triggers?

> That is the intention. I'm saying that things don't always work out the way Sun intends Oh sure - I'm sure the desire to create HIG compliant apps will still exist. esp the Apple crowd how have a much nicer HIG to jealousy protect in the first place. But don't think JavaFX would be the most natural way to approach this. I'd reimplement the offending L&F via the Synth improvements developed alongside Nimbus. JavaFx may be geared towards the Look, but the Feel the real devil-in-the-details I fear would need much lower level tweaking than JavaFX offers, binding obfuscates much of the event and update details Swing deals with. Not that this is too likely because OS fidelity would be a major, major piece of work. Did wonder if the entrenched opponents of JavaFX (of which I'm often counted as one) might consider forking Swing. But at the end of the day I fear client-side developers are too small a niche group to pull that kind of undertaking off.

That is the intention. I'm saying that things don't always work out the way Sun intends, and the same tools that allow that precise consistency will also allow people who are interested in platform fidelity to make it really happen. People targeting the OSX platform, for instance, generally have a design goal of following Apple's HIG. FX may allow them to do that more easily than they could with the old Swing L&F API.

> I think that this will finally settle the platform fidelity issue for Swing. It > will be much easier to mimic XP, Vista, OSX, Gnome, and KDE. Really? I thought JavaFX was more about ubiquity. Presenting the same interface on all devices. Clearly emulating Vista or KDE on a mobile doesn't make much sense. I thought JavaFX was more about reducing the effort involved in going from an idea to a working widget not considering all the intricacies of individual look & feels.

Have though similar things about developers not being the best graphic artists, designers or even capable of basic color choices. I'm not sure of what kind of renaissance developer you're going to need to balance all the UX variables to built usable rich apps that don't make you feel queasy or your eyes bleed. Not sure we're seeing that separation of concerns with JavaFX script yet. Declarative syntax seems to merge logic, layout and animation in the same script - which isn't something I cant see the designer types manipulating directly. Have a distance to go before we see the equivalents of Abode Creative Suite or Microsoft Expressions studio. Not convinced you can turn a J2EE developer into a client side developer or that they'd want to. > This 1.0 release feels more like a .9 release. Hmm yeah clearly not yet. From the potential users perspective I'd say JavaFX won't be really ready until it's part of the platform in Java 7.0. Adding it to the tail end of the JRE 6.0 lifecycle is messy, but it does give developers the best part of a year to kick the tires. Would be informative to see upgrades to the runtime detection scripts to keep a check on the spread of u10/u11 good reliable figures will help convince developers. http://forums.java.net/jive/thread.jspa?threadID=53140&tstart=0 . Most people who actually got a JRE preinstalled with their new computer won't update as Java update was broken under Vista until u10.. also lots of people (the more sensible ones or intranet workers) wont be logged in with the necessary admin rights. A Good many users panic and end up blocking Java net access accidentally when it first pops up a prompt about allowing firewall access. Users tend to be knee-jerk trained to click no - cancel to most web pop-ups these days esp those asking you to trust somebody else.