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 <jaroslav.tul...@gmail.com> 
Gesendet: Donnerstag, 15. März 2018 21:09
An: Apache NetBeans <dev@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 <dmitriy.avtono...@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-unsubscr...@netbeans.incubator.apache.org
For additional commands, e-mail: dev-h...@netbeans.incubator.apache.org

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



Reply via email to