You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@netbeans.apache.org by to...@eppleton.de on 2018/04/05 08:59:09 UTC

AW: Usability study was: Think Java, not Electron! was: Apache HTML/Java UI

Hi,

Working on solving these issues. I've created a PR to change the category and description as proposed here. I'm also trying to improve the "first contact" when somebody tries the wizard out of curiosity without knowing about the API. When the freshly created application is running  it now contains a footer with links to documentation, blogs, etc. . This latter change can be tried out immediately, as it only required updates to the archetypes hosted on Maven Central.

Regards

Toni


-----Ursprüngliche Nachricht-----
Von: Jaroslav Tulach <ja...@gmail.com> 
Gesendet: Donnerstag, 15. März 2018 21:09
An: Apache NetBeans <de...@netbeans.incubator.apache.org>
Betreff: Usability study was: Think Java, not Electron! was: Apache HTML/Java UI

Hello Dmitry,
thanks a lot for trying it out!

2018-03-15 2:50 GMT+01:00 Dmitry Avtonomov <dm...@gmail.com>:

> I find it incredible that Jaroslav is saying "... people aren't 
> willing to dedicate 10minutes of their personal time to try HTML/Java 
> API in action ...". How are they supposed to discover that?
>

To be fair, I also mentioned "... do you have recent version of NetBeans 9.0..." - e.g. the build time doesn't count.

Let's try it out with time logging:
>
> 15:33 - Setting out to search for NetBeans on google, landed on 
> https://netbeans.org/, latest version 8.2
> 15:34 - Search for "netbeans apache" (only did this because I knew 
> what to search for), landed on https://netbeans.apache.org/
> 15:34 - Go to downloads 
> (https://netbeans.apache.org/download/index.html)
> - no binaries
> 15:35 - I've already built v9 once, just deleting it took several 
> minutes
> 15:41 - Start clone `git clone https://github.com/apache/ 
> incubator-netbeans.git` 
> <https://github.com/apache/incubator-netbeans.git>
> 15:44 - Clone + checkout done
> 15:44 - `ant` (i had ant 1.10 installed, jdk - oracle 1.8, core i7 
> 6700hq) ...
> compilation took 24 minutes 29 seconds ...
> `ant tryme`. Popup message:
>
> "Java features limited":
> - install nb-javac library (highly recommended)
> - run NetBeans on JDK 9 or later
>
> Click button to install nb-javac plugin.
> Warnings about unsigned plugins.
> Restart IDE.
>

Alas, this is the nb-javac licensing problem, that will be hard to mitigate anytime soon.


> That's already quite some trouble that would stop 99.5% of people who 
> might have wanted to try it out.
>
>
> Select: File -> New Project -> JavaFX -> Java HTML5 Application 
> (again, only because I knew from this thread where to click) Read 
> description: "Generates a WebView based DukeScript application".
>
> DukeScript? WebView based?... huh...
>

Geertjan also suggested to make the wizard more prominent. I noticed that Toni is currently thinking of some adjustments... personally I would split the wizard into few: "Java Desktop App", "Java iOS App", "Java Android App", "Java SPA App", etc. That would promote that NetBeans does support development/deployment to all important platforms of these days.


> Click, wizard opens. Font is different, project type selector radio 
> buttons not aligned to text (image):
>
> Select "Visual HTML/Java example", project opens, immediately get 
> warning about project problems (Export-Package/Provate-Package 
> contains packages from dependencies) (image):
>
> It did run, but not that I understand the structure of 5 projects that 
> got created or how to use it. I can start "... Client for Web" project 
> from the IDE, but how do I build a runnable application? (image)
>

This is a great usability study. Toni has written a [getting started tutorial and a book](https://dukescript.com/documentation.html), but yes, it would be better if the system was usable without reading anything. I always advocate supporting "cluelessness" (and I hope I did support it when designing the HTML/Java API), but I never verified whether people building on top of it (e.g. Toni and his projects and wizards) do the same thing.


> So yeah, I totally understand people googling for "Java Vaadin 
> Electron tutorial". As a matter of fact I was one of those people just 
> 2 weeks ago, even though I have built NB 9 previously.
>
> The samples I was able to run were running either in my default 
> browser (so it depends on system browser) or in, presumably, javafx 
> webview window(?), which lacked significantly in performance (the 
> examples ran, judging visually, at 10-20fps, while in the browser it 
> was smooth, so I couldn't tell the frame rate). I guess something like 
> electron can be used, but I have no idea how to achieve this.
>
> It needs:
> - basic documentation
>

I am trying to make the Javadoc entertaining http://bits.netbeans.org/html+java/, but +1 - more is needed

- geertjan style tutorials
>

+10, Geertjan, do you hear it?

It needs examples of:
> - how to feed large amounts of data from Java to JS running the view
>

Yes, this is often needed and I and Toni did some experiments with it. In fact we even proposed a paper about it to ManLang conference. The trick to improve throughput of Java -> JS communication would be:
http://bits.netbeans.org/html+java/1.5/net/java/html/js/JavaScriptBody.html#wait4js()

Btw. how much data you are talking about?


> - how to communicate data back from the view into the java program
>

The low level API is here:
http://bits.netbeans.org/html+java/1.5/net/java/html/js/package-summary.html


> - how to build and run the application outside of the ide
>

I am not sure if Toni described that somewhere, but I remember there was a blog about "redeploys" done from outside of the IDE...

https://dukescript.com/best/practices/2015/04/12/no-redeploys.html
and maybe
https://dukescript.com/update/2017/01/14/trybuypresenter.html


> - preferably show how to create an application not from an archetype
>

That is easy: clone an existing one: https://github.com/jtulach/minesweeper

However I guess you mean from scratch. I am afraid that would be too complex. The configuration of various maven plugins to work in orchestration among each other on different platforms is something I admire on Toni's work the most. I wouldn't like to reproduce that from scratch myself. The best is to start with empty archetype and remove things that you don't want, at least that is what I do.


This project template does get close to being a nice starting point and
> it'd be great to see it grow, but it's a stretch to expect anyone to 
> know about it at this point.
>

That is too nice conclusion. However thanks for trying and providing your comments, they form an excellent usability study. I can try to improve the Javadoc & co. and Toni can improve the archetypes and wizards. Geertjan could start a tutorial (or series of tutorials), right ;-?

Thanks and please continue to push us forward!
-jt


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.incubator.apache.org
For additional commands, e-mail: dev-help@netbeans.incubator.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Re: Usability study was: Think Java, not Electron! was: Apache HTML/Java UI

Posted by Neil C Smith <ne...@apache.org>.
On Thu, 5 Apr 2018 at 11:55 <to...@eppleton.de> wrote:

> on platforms without javafx the project needs to be created using the
> maven -> Create from archetype wizard, as the regular wizard won't run
> here.
>

So, is the HTML-based wizard hidden or does it redirect somewhere else?
Sorry if I'm being clueless here.  The question I guess I'm really asking
is whether the user can end up with a UI option that breaks when JavaFX is
not available?

Regarding the presenters: I'm not planning to donate those at the moment.
>

Fair enough.  Time to start investigating replicating the server / base
presenters here then.

Best wishes,

Neil
-- 
Neil C Smith
Artist & Technologist
www.neilcsmith.net

Praxis LIVE - hybrid visual IDE for creative coding - www.praxislive.org

AW: Usability study was: Think Java, not Electron! was: Apache HTML/Java UI

Posted by to...@eppleton.de.
Hi Neil,

on platforms without javafx the project needs to be created using the maven -> Create from archetype wizard, as the regular wizard won't run here. We already discussed, that we'll need to replace that presenter with jcef/chromium or something similar, especially with the removal of JFX scheduled for jdk 11.

The project itself can run with the webkit/browser presenters on platforms.

Regarding the presenters: I'm not planning to donate those at the moment.

--Toni 



-----Ursprüngliche Nachricht-----
Von: Neil C Smith <ne...@apache.org> 
Gesendet: Donnerstag, 5. April 2018 11:41
An: dev@netbeans.incubator.apache.org
Betreff: Re: Usability study was: Think Java, not Electron! was: Apache HTML/Java UI

Hi Toni,

On Thu, 5 Apr 2018 at 09:59 <to...@eppleton.de> wrote:

> Working on solving these issues. I've created a PR to change the 
> category and description as proposed here. I'm also trying to improve 
> the "first contact" when somebody tries the wizard out of curiosity 
> without knowing about the API. When the freshly created application is 
> running  it now contains a footer with links to documentation, blogs, 
> etc. . This latter change can be tried out immediately, as it only 
> required updates to the archetypes hosted on Maven Central.
>
>
Out of interest (I didn't get a reply on the PR) how well does the wizard and project function on a system without access to JavaFX?

Also out of interest, do you have any plans to donate the server-based displayer?  Would love to look at backup alternatives to open the project in the user's browser and/or extend the server implementations with platform and nanohttpd support.  Something I believe we can't do with Apache code at the moment?

Quite understand if that's not on your agenda, but don't want to reinvent the wheel for the sake of it! :-)

Best wishes,

Neil
--
Neil C Smith
Artist & Technologist
www.neilcsmith.net

Praxis LIVE - hybrid visual IDE for creative coding - www.praxislive.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@netbeans.incubator.apache.org
For additional commands, e-mail: dev-help@netbeans.incubator.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists




Re: Usability study was: Think Java, not Electron! was: Apache HTML/Java UI

Posted by Neil C Smith <ne...@apache.org>.
Hi Toni,

On Thu, 5 Apr 2018 at 09:59 <to...@eppleton.de> wrote:

> Working on solving these issues. I've created a PR to change the category
> and description as proposed here. I'm also trying to improve the "first
> contact" when somebody tries the wizard out of curiosity without knowing
> about the API. When the freshly created application is running  it now
> contains a footer with links to documentation, blogs, etc. . This latter
> change can be tried out immediately, as it only required updates to the
> archetypes hosted on Maven Central.
>
>
Out of interest (I didn't get a reply on the PR) how well does the wizard
and project function on a system without access to JavaFX?

Also out of interest, do you have any plans to donate the server-based
displayer?  Would love to look at backup alternatives to open the project
in the user's browser and/or extend the server implementations with
platform and nanohttpd support.  Something I believe we can't do with
Apache code at the moment?

Quite understand if that's not on your agenda, but don't want to reinvent
the wheel for the sake of it! :-)

Best wishes,

Neil
-- 
Neil C Smith
Artist & Technologist
www.neilcsmith.net

Praxis LIVE - hybrid visual IDE for creative coding - www.praxislive.org