Innovation again (was Re: Text classes)

Michael Paus mp at jugs.org
Fri Dec 15 13:42:33 UTC 2017


Hi,
first of all I would like to say that I fully agree with everything that 
has been
said so far in this thread and I am glad that someone is pushing this long
overdue discussion. Please find my comments inline.

Am 15.12.17 um 10:09 schrieb John-Val Rose:
> [...]
>
> This initiative/team/group should not be "hidden" either - it should be
> completely transparent and open to enable anyone to follow the thought
> processes, the progress and the results and also to comment, constructively
> criticise, make suggestions and even make small contributions. This team is
> not operating in competition with Oracle - quite the opposite in fact.
> It's there to complement the already great efforts of the Oracle JavaFX
> team.
>
> I am familiar with "The Java EE Guardians" and while I am not proposing
> that we do something with exactly the same model, their results speak for
> themselves.  I am open to suggestions and ideas about how such a group/team
> should be structured and the governance and actually hope that as many
> people as possible chime-in with their own "2 cents".
>
> I'm just offering to be the central contact point for now and then the
> consensus can determine how we proceed.
A lot has already been discussed on this list and elsewhere but my 
impression
is that all these ideas are forgotten faster than they are written up 
because
there is no place to collect them and no person to organize and 
administer such
a place. If such a place existed I would be more than happy to share my 
ideas
with others.
> Yes, Chris is absolutely spot-on about the build issues.  For the broader
> community to be able to contribute or be motivated to contribute, the
> process must be as simple as possible and first-things-first, we have to be
> able to reliably build OpenJFX on all supported platforms.  No developer
> wants to waste time with build issues; they just want to code.  I would
> suggest that this is something Oracle prioritise ahead of perhaps
> everything else with OpenJFX 9/10 (and that anyone who has advanced
> knowledge of the tools or the DevOps pipeline try to help as well).
Yes, I see this as a big stumbling stone as well. I would like to add 
that it would
also be necessary to advertise the use of such builds and to harmonize the
handling of version numbers of such builds. I currently have a lot of 
problems
using my own builds as well as the EA builds from Oracle with the existing
build tools and IDEs. Many of them get a hick-up if they encounter build 
versions
beyond the current/official versions.
>
> As you can see, Chris has basically given us his feature/fix "wish list"
> and I have received the wish lists of many others and, of course, I have my
> own.
>
> One thing that I have often referred to is the *competitors* of JavaFX
> (like Qt and Xamarin) and how we are lagging behind them and that the "gap"
> is growing.  But one could argue that from another perspective, JavaFX is
> actually itself its only real competitor being the official Java GUI
> toolkit (having supplanted Swing).  I like this idea because we all know
> there are about 11 million Java developers in the world and I am sure most
> agree that Java (or the JVM) should have a first-class graphics toolkit so
> all of us who love Java and who eat, breathe & live Java don't have to
> "turn to the dark side" and learn or relearn languages like C++ or (dare I
> say it) C# (aka "Microsoft Java").
>
> We can observe what is happening with other toolkits and also keep our
> fingers on the pulse of graphics toolkit technology directions/advancements
> in general and use these as inspirations for how we decide to enhance
> JavaFX.  I think I was probably wrong or at least misguided to think that
> we need to try to make JavaFX "a Java version of Qt" for example.  Perhaps
> we just need JavaFX to meet the major requirements of Java GUI developers
> and be able to use it to produce *modern* commercial applications that look
> great, work well and hold their own against other products, all the while
> we are not having to drift away from Java or the JVM.
In order for this to become true JavaFX first needs to get some basics 
right.
My keyword here would be:
- Platform integration (e.g. Mac menu bar.)
- Working packager on all platforms
- An automatic update mechanism for applications (not WebStart)
>
> So to summarise (while you are hopefully still awake), I am not suggesting
> that I try to tell others what to do or what JavaFX should or shouldn't be
> but rather that I am simply offering to be the central contact who
> coordinates the ideas, the efforts and the team in general and also to act
> as a liaison with Oracle or any other company that can be involved.  I can
> also try to set-up any infrastructure required such as a website, a mailing
> list, Google group, GitHub project etc.
For collecting and structuring of ideas something like GitHub and its Wiki
seem to be a better suited than a mailing list (which we already have.).
>
> If the community feels I am not the best person for this role then that's
> perfectly OK!  I am more than happy to just to burn the midnight oil and
> contribute in any way I can.
Go for it. Someone has to make the first step.
>
> After all, this is not about "me" at all - it's all about JavaFX.  I
> strongly suspect that such luminaries as mentioned by Chris (and Chris
> himself) are light years ahead of me in knowledge and skills with both Java
> and JavaFX (and they are all my heroes!).  Maybe if I can find an eye patch
> I can be Nick Fury and the others can be The Avengers? (Sorry if you're
> more of a DC fan).
>
> Please feel free to reach out to me at any time to (privately and
> confidentially) discuss any of these issues, or even better, post on this
> list.
>
> P.S. I'd like to especially praise the efforts and outstanding achievements
> of Johan Vos and Gluon. All JavaFX developers owe them enormous gratitude.
> And, they are already doing much of what I am proposing (though mainly in
> the mobile space).
>
> ​​
> Graciously,
>
> John-Val Rose
> Chief Scientist/Architect
> Rosethorn Technology
>
>
> On 15 December 2017 at 18:26, Chris Newland <cnewland at chrisnewland.com>
> wrote:
>
>> Hi John,
>>
>> Here's my $0.02 on JavaFX as someone who's used it for over 4 years in the
>> JITWatch project (https://github.com/AdoptOpenJDK/jitwatch) and also for
>> fun with my DemoFX benchmarks (https://github.com/chriswhocodes/DemoFX).
>>
>> On the whole I think the API is very good. Event handling, layout, choice
>> of components give me 99% of what I need.
>>
>> The CSS approach to styling feels a bit clunky when I want to change
>> fine-grained appearance programatically without defining new CSS classes.
>> Proper font metrics would be nice too (already discussed recently).
>>
>> The Canvas/GraphicsContext API provides a decent entry point into "old
>> school" 2D programming and a way to avoid the scenegraph which does suffer
>> with scale when you push it too hard. You can do fun things with
>> PixelReader/Writer.
>>
>> Personally I'd like an even lower level API to framebuffers as the current
>> implementation looks a bit copy-heavy (my opinion from just the source
>> code, I've not had time to see how much the JIT saves us here). I'd really
>> like the video frame grabber API for MediaPlayer (deprecated after 8)
>> added back but I'm probably alone here. I can always go off-heap here or
>> just implement a video decoder in pure Java.
>>
>> For 3D I think a component that provides a surface usable by an existing
>> OpenGL library is probably better than trying to replicate in pure OpenJFX
>> but this isn't really my area.
>>
>> I was disappointed when Oracle decided to drop support for ARM / IoT but
>> that's no reflection on the JavaFX team, just a commercial decision by a
>> cloud-focused company. I've tried to keep IoT support going via community
>> builds of JavaFX 8 at https://www.chriswhocodes.com but I never really
>> cracked getting Windows builds working. I'm hoping to find some time next
>> year to work with the AdoptOpenJDK group (CC'd) and Laurent Borges
>> (Marlin/MarlinFX) to improve early access testing and cross-platform
>> support of OpenJFX builds. This got a lot harder since the modular JDK9
>> where you can no longer simply modify OpenJFX, rebuild, and drop an
>> overlay onto your JRE.
>>
>> There are a few companies doing great work (Canoo, Gluon etc.) and a long
>> list of community individuals (Gerrit, Carl, Sean, Almas, Johan, Alessio,
>> Sven, Andres, Dirk, Dierk, Michael, Jens, Jose, ... actually the more I
>> think about it the longer this list gets) who showcase what is possible.
>>
>> The Gluon mobile stuff looks really interesting and I've just started
>> trying to rewrite an iOS native app into a cross-platform app using their
>> Eclipse plugin.
>>
>> In summary I'm very happy with JavaFX and I think the community, while
>> small, contains a lot of talent and energy.
>>
>> The "official" OpenJFX devs are responsive to the community while being
>> realistic about what can be achieved outside their sanctioned roadmap.
>>
>> If there's 1 single thing I'd like to ask for it's an updated set of build
>> instructions for each platform. That's the biggest barrier to getting more
>> community patches submitted in my opinion.
>>
>> Just the $0.02 of one JavaFX user ;)
>>
>> Cheers,
>>
>> Chris
>> --
>> @chriswhocodes
>>
>>
>>
>> On Wed, December 13, 2017 02:28, John-Val Rose wrote:
>>> I posted this over a week ago:
>>>
>>>
>>>> I am willing to work with *anyone* (within Oracle or not) on the
>>>> features
>>> that the community craves,
>>>> such as those I listed (and any others). Not just because “many hands
>>> make light work” but because
>>>> I don’t know everything (or even close) and I need the knowledge and
>>>>
>>> skills of others to assist me. Not
>>>> to mention that I have only 24 hours in a day like everyone else and,
>>> also like everyone else, some of
>>>> that time has to be devoted to earning an income.
>>>>
>>>> So, if there’s anyone reading this who has the time, the skills, the
>>>>
>>> commitment and the passion to work hard (in your own time) to get these
>>> tasks done then please contact me privately.
>>>
>>> To my significant disappointment, only one person has contacted me since
>>> then in relation to this proposal.
>>>
>>> I'm beginning to think that I am completely out of touch with the JavaFX
>>> community, what they actually want and also with exactly *what* JavaFX is
>>> or is meant to be.
>>>
>>> I have reached out on this list and via Twitter in the hope that an
>>> inspired and passionate group of developers could come together, pool
>>> their resources and collaborate on taking JavaFX as far is it can
>> possibly
>>> go as a fully-fledged hardware-accelerated graphics toolkit for the JVM.
>>>
>>> But... it seem that my "vision" for JavaFX is unique to me and I have to
>>> say that I really don't understand why that is.
>>>
>>> Is it that the JavaFX community see it as merely a Swing replacement or
>>> "upgrade" and that there just aren't people out there who want to do more
>>> sophisticated things with a Java-based toolkit or at least see
>> performance
>>>   increase dramatically?
>>>
>>> Or, do people feel that the kind of features you can find in say Qt
>>> cannot be added to JavaFX because it's a "Java thing": well all know how
>>> slow Java is and that if you want to do real animations, visualisations
>>> etc. then you have to use C++?
>>>
>>> Well, it's not the 1990s anymore.  Java is NOT the problem.
>>>
>>>
>>> So, what IS the problem?
>>>
>>>
>>> I have to say that as chief architect for my company, if the JavaFX
>>> community (and I include Oracle as a big part of that) simply don't want
>>> to see innovation in JavaFX, won't support or contribute to making it
>>> happen or feel they don't need it, causing JavaFX to lag further and
>>> further behind other graphic toolkits and never be capable of supporting
>>> such features as advanced animations, visualisations, games, 3D, VR, AR
>>> and have proper HTML5 support etc. then, despite being a huge Java fan
>> and
>>> advocate, JavaFX simply can't even be on the table of technologies to
>>> choose from when I'm developing a technological strategy.
>>>
>>> So, I'd like to ask this multi-part question in the hope that as many
>>> people reply as possible:
>>>
>>> *** For *your* siutation, what is JavaFX, how do you want it to evolve
>>> and what does it mean to you? ***
>>>
>>> Maybe I really am "Robinson Crusoe"...
>>>
>>>
>>> ​​
>>> Graciously,
>>>
>>>
>>> John-Val Rose
>>> Chief Scientist/Architect
>>> Rosethorn Technology
>>>
>>>
>>>
>>> On 6 December 2017 at 17:16, John-Val Rose <johnvalrose at gmail.com>
>> wrote:
>>>
>>>> Absolutely - there needs to be a viable community that is not just
>>>> Oracle.
>>>>
>>>>
>>>> So, is there one? If not, how do we build one?
>>>>
>>>>
>>>> OK, so let me rephrase my earlier email:
>>>>
>>>>
>>>> I am willing to work with *anyone* (within Oracle or not) on the
>>>> features that the community craves, such as those I listed (and any
>>>> others). Not just because “many hands make light work” but because I
>>>> don’t know everything (or even close) and I need the knowledge and
>>>> skills of others to assist me. Not to mention that I have only 24 hours
>>>> in a day like everyone else and, also like everyone else, some of that
>>>> time has to be devoted to earning an income.
>>>>
>>>> So, if there’s anyone reading this who has the time, the skills, the
>>>> commitment and the passion to work hard (in your own time) to get these
>>>> tasks done then please contact me privately.
>>>>
>>>>> On 6 Dec 2017, at 16:50, Philip Race <philip.race at oracle.com> wrote:
>>>>>
>>>>>
>>>>> There needs to be a viable community that is not just Oracle to
>>>>> support
>>>> you here ..
>>>>> I think everyone has come to be dependent on Oracle to "be there".
>>>>> But if there is a specific community need that Oracle doesn't see as
>>>>>
>>>> essential, then the community should help out.
>>>>> -phil.
>>>>>
>>>>>
>>>>>> On 12/5/17, 9:27 PM, John-Val Rose wrote:
>>>>>> Well, that’s all fine but you didn’t address the issue of working
>>>>>> with
>>>> someone within Oracle to get these innovations done.
>>>>>> Sure, I could just toil away by myself but clearly it would be
>>>>>> better
>>>> all around if there was someone with much more extensive knowledge of
>>>> JavaFX and its internals who was accessible when required.
>>>>
>>>>>> I would assume that a member of the Oracle JavaFX team would be
>>>>>> such a
>>>> person. If not, then who?
>>>>>>> On 6 Dec 2017, at 15:53, Philip Race<philip.race at oracle.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>
>>>>>>> I think looking at it as an Oracle-owned and controlled project
>>>>>>> maybe
>>>> the first mistake here.
>>>>>>> Yes it was closed source and then Oracle controlled, but not any
>>>>>>> more,
>>>> OCA requirements aside.
>>>>
>>>>>>> It is not even a "java specification". It can be evolved at an
>>>>>>> API
>>>>>>>
>>>> level without a JSR.
>>>>>>> The JEP process is the main thing to be followed, although we
>>>>>>> also use
>>>> CSRs too to track API.
>>>>
>>>>>>> Consider it that anyone who is a contributor owns (not the right
>>>>>>> word
>>>> ?) a piece of it too.
>>>>
>>>>>>> So standing on the project is what matters. Not the company who
>>>>>>> pays
>>>> you to work on it.
>>>>>>> -phil.
>>>>>>>
>>>>>>>
>>>>>>>> On 12/5/17, 8:21 PM, John-Val Rose wrote:
>>>>>>>> Phil et. al.,
>>>>>>>>
>>>>>>>>
>>>>>>>> Whilst I’m not going to be quite as “passionate” as some on
>>>>>>>> this
>>>> issue (although I do understand the frustration), I would like to point
>>>> out again that this is indeed a huge gap and it is critical that it is
>>>> filled ASAP.
>>>>
>>>>>>>> Obviously a solution where every word in a text document is a
>>>>>>>> Node
>>>>>>>>
>>>> would be unworkable so it would need to be architected from the ground
>>>> up.
>>>>>>>> I would be happy to work on such as feature, just as I was
>>>>>>>> happy to
>>>> work on implementing WebGL, but my hesitation is concern over the
>>>> assistance and involvement from Oracle.
>>>>>>>> If I am going to have to spend months working on something
>>>>>>>> without
>>>> any or only minimal involvement from Oracle, only to find at the end
>>>> that Oracle either doesn’t like the design, implementation or something
>>>> else then it is wasted time I’ll never get back.
>>>>>>>> There are lots of other innovations too that I would like to
>>>>>>>> see in
>>>> JavaFX but I just don’t “feel the enthusiasm” from Oracle.
>>>>
>>>>>>>> If there is someone on the JavaFX team who would be willing to
>>>>>>>> work
>>>> with me (at least in some capacity), please have them contact me
>>>> privately via email.
>>>>>>>> The innovations I could work on and contribute include:
>>>>>>>>
>>>>>>>>
>>>>>>>> 1. WebGL support in WebView
>>>>>>>> 2. Better text support including text documents&   rich text
>>>>>>>> editors
>>>> etc.
>>>>>>>> 3. Significant improvements in scene graph rendering speed
>>>>>>>> using
>>>> modern game-engine style structures and algorithms
>>>>>>>> JavaFX cannot survive without innovation and I am keen to see
>>>>>>>> it
>>>> happen and contribute as much as possible.
>>>>>>>> Graciously,
>>>>>>>>
>>>>>>>>
>>>>>>>> John-Val Rose
>>>>>>>> Rosethorn Technology
>>>>>>>>
>>>>>>>>
>>>>>>>>> On 6 Dec 2017, at 11:36, javafx at use.startmail.com wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Sorry about all the typos previously.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Question- why not use the code in awt ? I am not totally up
>>>>>>>>> on
>>>> what's going on with the platforms' native rendering engines ( meaning,
>>>> I
>>>> have no idea whatsoever) or how they have changed, but golly it sure
>>>> does still work pretty well.
>>>>>>>>> At least it seems to me looking at awt that a smallish number
>>>>>>>>> of
>>>> things are 1) well defined by the native platofrm and 2) would more or
>>>> less translate directly to an Java API and 3) from those small number of
>>>>   building blocks, (Font and Glyph metrics and this kind of thing)
>>>> text line layout algorithms can be written by ordinary civilians along
>>>> with all the other stuff that goes into a text editor.
>>>>>>>>> And yes, everything does look easy when someone else is going
>>>>>>>>> to do
>>>> it.
>>>>>>>>>
>>
>>



More information about the openjfx-dev mailing list