JavaFX Sightings (forked from Re: Can JavaFX do CAD?)

John Smith John_Smith at
Mon Jul 29 14:04:27 PDT 2013

I think there are two kinds of sightings =>

 a) Small demo apps that show up on blogs.
 b) Commercial apps or significant A+ open-source projects.

I think a Sightings type site should not host both styles, or if it does, it should clearly delineate between the two, so that it is clear to people accessing the site what can be done in JavaFX with a team over a period, versus something quick done by an individual which does not demonstrate many capabilities of the platform.

There have been attempts to host JavaFX demo sites before, especially on the JavaFX 1.x days =>
  The demos that used to be hosted at the JavaFX 1.x site.
  Other sites which have since disappeared from the web.

Some of these sites (especially the ones that hosted applets), were (IMO) more harmful to JavaFX than they were helpful.
I'm sure Oracle received that feedback already many times over, hence why the JavaFX 2.x site is so different in the way it presents samples than the JavaFX 1.x site.
IMO, the JavaFX 2.x site handles samples and showcases in a better way than the JavaFX 1.x site did.

I think to be considered a showcase app, the app should exceed certain minimal quality checks and provide significant functionality.
It's nice for the showcase app to be usable in a full feature or demo form, so that somebody can actually try it out, but failing that, screenshots are ok.
The best showcase apps I have seen so far are all from Oracle or Oracle employees, (Scenebuilder, Scenicview, Henley Sales and Ensemble).
It would be nice to see more showcase style apps which are not sourced from Oracle or the JavaFX team.
There are some difficulties in easily trying out these showcases because you need to download and install them, but that is probably OK for somebody seriously investigating the platform, and it is probably better than hosting them as applets which may provide runtime difficulties and security issues for users.
For developers learning the platform, 50 little demos (like Ensemble) is fantastic, but in determining the full capabilities of the platform, five really great samples and one killer app is more impressive.

Hopefully, if another JavaFX Sightings site is started, it will prove a higher quality showcase of JavaFX capabilities than prior attempts.

Enhancing the existing community page might be an appropriate place for such a JavaFX Sightings site?
Maybe just adding more examples to what is already at community and having info on the really nice apps stay on the front page is enough?
Though I do get the feeling that fxexperience is more the true hub of the JavaFX community than the community page?


-----Original Message-----
From: openjfx-dev-bounces at [mailto:openjfx-dev-bounces at] On Behalf Of John C. Turnbull
Sent: Saturday, July 27, 2013 5:20 PM
To: 'Daniel Zwolenski'; 'Pedro Duque Vieira'
Cc: 'OpenJFX Mailing List'
Subject: RE: JavaFX Sightings (forked from Re: Can JavaFX do CAD?)


Such a site could be very useful.

-----Original Message-----
From: openjfx-dev-bounces at
[mailto:openjfx-dev-bounces at] On Behalf Of Daniel Zwolenski
Sent: Sunday, 28 July 2013 09:56
To: Pedro Duque Vieira
Cc: OpenJFX Mailing List
Subject: JavaFX Sightings (forked from Re: Can JavaFX do CAD?)

The idea of a JFX Sightings page (in the tradition of the Swing Sightings
page) has been raised before and I think is a good one.

It deserves it's own page though, that technet section isn't up to it in my opinion.

Personally I think this would be great under the fxexperience site as it partners nicely with the links of the week?

On 28/07/2013, at 4:17 AM, Pedro Duque Vieira <pedro.duquevieira at>

> I have an Swing/JavaFX app, the site is:
> How can I get it to be on that real world usecases section? Or does it
> not have the necessary requirements to be in it?
> Thanks, best regards,
> @John: On the JavaFx community site they have a section with
> references to
>> real world usecases.
>> On Sat, Jul 27, 2013 at 1:40 AM, John C. Turnbull
>> <ozemale at
>>> wrote:
>>> Like Daniel said, none of what we say is in any way a criticism of
>>> the JavaFX development team who, in my view and that of the entire
>>> community, are doing an awesome job.
>>> For mine, all the shortcomings of JavaFX (perceived or actual) can
>>> be
>> blown
>>> away if I could just demonstrate what JavaFX is really capable of.
>>> We have Ensemble from Oracle and also Ensemble from JFXtras (whose
>>> demo incidentally doesn't run since Java 7 Update 21).  With Oracle
>>> Ensemble
>> we
>>> can see that JavaFX has quite a nice set of basic controls and that
>>> it at least supports very simple animations.  With JFXtras Ensemble
>>> we can see that very nice controls are possible but unfortunately
>>> many of these are
>> of
>>> a rather "whimsical" nature and not the kind of control you would
>>> use in everyday business apps.
>>> What else is there?
>>> Of course we have rock stars like Gerrit Grunwald who frequently
>>> post awesome controls and code snippets but we really need something
>>> that
>> brings
>>> it altogether in a kick-arse showcase.  Preferably a whole suite of
>> killer
>>> apps that highlights everything JavaFX is capable of.
>>> Yes, that would require a lot of effort but IMHO it is absolutely
>>> worth
>> it.
>>> Without it, people like me really struggle to sell JavaFX or even
>>> get a handle on its true potential.  I can promise people that more
>>> advanced things are "possible" but given that they write the
>>> cheques, they need to see it for themselves.
>>> And how about a website of JavaFX reference sites?  There must be
>>> big companies out there using it right?
>>> In the end it doesn't matter if I personally see enormous potential
>>> for JavaFX if I cannot convince others to see what I see.
>>> -jct
>>> From: Daniel Zwolenski [mailto:zonski at]
>>> Sent: Saturday, 27 July 2013 09:12
>>> To: John C. Turnbull
>>> Cc: Richard Bair; openjfx-dev at
>>> Subject: Re: Can JavaFX do CAD?
>>> +1
>>> I've failed to convince multiple clients that they should use JFX
>>> because of
>>> a) lack of examples of what it can really do, and how to make it do
>>> that (e.g. in enterprise space we have
>>> b) lack of any big or notable players out there actually using it,
>>> or at least publicly saying they are using it
>>> c) the deployment hassles vs the ease of html app deployment and the
>>> true cross-platform-ness of html
>>> After actually getting one client to trust me on it and use it on a
>>> real, commercial app (startup), I hit problems with performance
>>> (broad interpretation of the term, not 'framerate'), crippling
>>> deployment and
>> auto
>>> updating issues, missing basic features (e.g. maximise button,
>>> coming in
>>> 2014 I believe?), unpredictability of CSS styling, and a lack of
>>> best practices for things like how to do CAD-like diagrams (not so
>>> much render performance but zooming, panning, mouse input, layering,
dragging, etc).
>>> Like John, I've been guilty of letting my frustration show in these
>> forums.
>>> Like John, it's because I want so badly for JavaFX to be the
>>> platform I develop on, it has the potential to be awesome, but
>>> things (that seem obvious and small to me) completely stop it from
>>> being usable in a real world situation for me.
>>> It's not that we think the JFX team aren't slogging their guts out,
>> clearly
>>> you are. It's just that in some key areas, there are small-ish
>>> blocks
>> that
>>> stop the whole rocket from launching. To then see a whole lot of
>>> effort
>> be
>>> poured into things like binary CSS/FXML compilation, Pi platform
>>> support (that's more important than iOS/Android, really?), web
>>> deployment
>> patches,
>>> or even 3D (as cool as that is), just knocks me about. Obviously
>>> your priorities are coming from somewhere different to ours, but the
>>> way you prioritise is unfathomable to me and that definitely adds to
>>> the frustration.
>>> At this stage, I am not suggesting my clients use JFX (I actively
>>> discourage them from it, in their interest). Mobile is the area that
>>> has the
>> potential
>>> to bring JFX back into usable for me as it can compete easier with
>>> the current technologies (which are all crap). Maybe if that ends up
>>> working
>> (a
>>> long, long road to go on that and very much an 'if') then it will
>>> seep
>> back
>>> into the desktop for me, but at a minimum the desktop deployment
>>> options will need to be improved before that's even a possibility.
>>> I've come to accept that I am not in the primary target audience for
>>> JavaFX, maybe a secondary target. I don't understand who the primary
>>> target is though, and knowing/accepting doesn't make it any less
>>> frustrating. I
>> keep
>>> involved in the hope that I might get a usable platform somewhere
>>> along
>> the
>>> way but it's more of a hope than a belief.
>>> So nothing really new above, but just adding my voice to John's.
>>> JavaFX
>> is
>>> definitely not production ready for me, my clients and the types of
>>> apps
>> I
>>> build (e.g. consumer facing online systems, enterprise/backoffice
>> systems,
>>> form/data systems, diagramming systems). One day I hope it will be,
>>> but it's moving extremely slowly or not at all in the areas that
>>> would make it so for me. Meanwhile the competitors (primarily
>>> JavaScript based solutions) are improving rapidly in the areas where
>>> they have traditionally been weak.
>>> On Sat, Jul 27, 2013 at 8:30 AM, John C. Turnbull <
>> ozemale at
>>> <mailto:ozemale at> > wrote:
>>> Hi Richard,
>>> I have to stop posting late at night, that one came across as really
>>> It's not anger, it's passion... and frustration.
>>> I am frustrated because I spend much of my day trying to convince my
>>> employer that we should be using JavaFX.  They ask me questions like:
>>> "What happens if Oracle abandons JavaFX just like Sun did with JMF,
>> Java3D,
>>> JOGL etc. ?"
>>> I say:
>>> "This is Oracle, not Sun."
>>> They say:
>>> "Can you show me what JavaFX can do? There must be examples out
>>> there right?"
>>> And I say:
>>> "Sure, here's Ensemble."
>>> They say:
>>> "OK, so it has a nice set of basic controls and can do simple
>>> animations but what about more complex things like Flash?"
>>> ...hence the dancing cat reference.
>>> It's not that my employer *needs* dancing cats, it's just that they
>>> need
>> to
>>> see that there is more to JavaFX than red circle transitions.  I
>>> can't
>> even
>>> prove to them that JavaFX is capable of dancing cats.  They don't
>>> have
>> the
>>> resources to fund me to develop something more sophisticated but
>>> they
>> tell
>>> me that if JavaFX truly was a "mature" technology (like I tell them)
>>> then where are all the examples?
>>> I am finding it difficult to convince them that JavaFX is production
>> ready
>>> and is not still in "experimental" mode because I am unable to
>> demonstrate
>>> its true capabilities or refer them to many examples of people (and
>>> I
>> mean
>>> big companies) actually using it.
>>> The main concerns of my employer and I think many companies in a
>>> similar situation is that JavaFX won't survive long term and that it
>>> is only
>> really
>>> suitable for form based applications.  Then of course there is the
>>> whole
>>> "HTML5 runs on all platforms" argument but that's another story...
>>> So this is why I think it's imperative that Oracle invests in
>>> developing
>> a
>>> true showcase application for JavaFX.  Something that non-technical
>> people
>>> (like managers who make decisions about where the money goes) can
>>> look at it and go "wow!".
>>> I am just not getting my managers to go "wow" at what I can show
>>> them
>> with
>>> JavaFX at the moment.
>>> Every comment or apparent criticism I post about JavaFX is from the
>>> perspective that I am trying to deal with real-world problems and
>>> people who require proof (such as demos, reference sites etc.) and
>>> not because I myself think JavaFX is not up to scratch.
>>> It's quite the opposite actually.
>>> I am a very, very strong believer and supporter of JavaFX and have
>>> many reasons both personal and professional as to why I want it to
>>> be a
>> massive
>>> success.  As I have said before, there are plenty of people who
>>> praise JavaFX and tend to avoid the very real issues that are
>>> restricting its adoption.  I just think we have to face these issues
>>> head on if we are to compete in what is a very cut-throat industry.
>>> -jct
>>> -----Original Message-----
>>> From: Richard Bair [mailto:richard.bair at
>>> <mailto:richard.bair at> ]
>>> Sent: Saturday, 27 July 2013 01:40
>>> To: John C. Turnbull
>>> Cc: 'Daniel Zwolenski'; openjfx-dev at
>>> <mailto:openjfx-dev at>
>>> Subject: Re: Can JavaFX do CAD?
>>>> For Flash, there are literally millions of examples of
>>>> fancy/complex/impressive graphics and animations out there that can
>>>> be really impressive at times.  I have not seen ONE such example in
>> JavaFX!
>>> Point to one?
>>> Have you seen any of the JavaOne examples? The movie wall or movies
>>> on a stack of 3D cubes was pretty good. But I guess you're not
>>> interested in
>> the
>>> 3D aspect? What is it you are looking for exactly? Different people
>>> (on this
>>> list) have had different perceptions on both (a) what's important
>>> and (b) what kind of graphics they're interested in. Most people
>>> would deride the dancing cat as being totally irrelevant to the
>>> types of applications they're trying to build (the basis for much of
>>> flash animations is shape
>> morphing,
>>> you can find some code here
>>> On the other hand, JavaFX is not a replacement for OpenGL. Drawing
>>> 25 million lines is just not something we can do right now,
>>> especially in a resource constrained environment. I've already
>>> commented on the memory overhead (which would continue to be an
>>> issue even if the drawing part of the problem were solved).
>>> I've pushed to graphics repo the StretchyGrid, which is about 300k
>>> line nodes (the actual amount is variable, see the javadoc
>>> comments). At 300k nodes the scene graph overhead is negligible on
>>> the FX side, dirty opts
>> is
>>> taking a long time to run, and painting is really slow.
>>> PULSE: 347 [122ms:222ms]
>>> T12 (8 +0ms): CSS Pass
>>> T12 (8 +0ms): Layout Pass
>>> T12 (47 +53ms): Waiting for previous rendering
>>> T12 (100 +1ms): Copy state to render graph
>>> T10 (101 +16ms): Dirty Opts Computed
>>> T10 (117 +105ms): Painted
>>> Counters:
>>>        Nodes rendered: 306565
>>>        Nodes visited during render: 306565
>>> If I were doing this by hand in open GL, I think the drawing would
>>> be essentially free, if I used LINES with GL anti-aliasing, I could
>>> send 'em all down to the card in a single shot (and if I had a
>>> modern GL I could
>> do
>>> LINES + FXAA or one of the other per-pixel AA algorithms available
>>> and it would turn out pretty nice). Because our shapes don't
>>> implement the
>> non-AA
>>> path, and our AA involves software rasterization and uploading of
>> pixels, I
>>> expect that to be the main source of the 105ms time being spent here.
>>> Also I noticed (by turning on prism.showdirty=true) that the entire
>>> grid
>> is
>>> being painted every time, even though visually it looks like only a
>>> small subset actually needs to be changed. But that's really a minor
>>> thing, as
>> I
>>> said, drawing this many lines should basically be free if I
>>> configure "smooth" to false in the app. Except that right now it is
>>> totally not implemented (in NGShape):
>>>    public void setAntialiased(boolean aa) {
>>>        // We don't support aliased shapes at this time
>>>    }
>>> The point of stretchy grid is not to say "wow look at this amazing
>>> The point is to say "what happens if I put in 300K nodes. Where does
>>> the system start to fall over?".
>>> Richard=
> --
> Pedro Duque Vieira

More information about the openjfx-dev mailing list