Testing new network client 
Szymon Ulatowski's picture

First impressions:

  • in the 'could not connect' case, there is no reaction at all. Closer inspection showed the "connection refused" exception logged to the console, which is not visible when the jar is started with console hidden.
  • no "refresh" function?
  • list-type nodes do not show any information (could display a listview or, for start, the item count)
  • "disconnect" leaves the application in unusable state (NullPointerException in com.framsticks.view.FncTreeSelectionListener.valueChanged and then there is no option to log in again)

A new version is available here.

Maciej Komosinski's picture

A few more recommendations to make the client useful and conforming with the server protocol specs:

  • start/step/stop buttons (alike win gui) and synchronized simulation (2:1, 1:1, 1:2, 50fps etc, alike win gui)
  • favorite fields (not just views/nodes), selected with right click or drag&drop – these fields can constitute a single "favourites" node
  • icons in the tree view should correspond to classes (like in the former prototype python client)
  • last meeting follow up: better support for "p" parameters (arguments, names, types), and support for file send/receive
  • handling various visualization modes – three for now: param, listview, and 3d (more can be added in the future, like NN view etc.) – these should be shown as tabs and the following rules can be assumed (not hardcoded, but configured by default):
    • "list" objects only have the list view. Users can select columns they wish to see, and only those columns are queried by the client, and user preference is stored in client's config file.
    • world/creature/genotype objects have param view and 3d view (thus two tabs); for the genotype object, the server will provide creature-like 3d coordinates,
    • all other objects only have the param view.
  • tiny client features: start/step/stop, number of groups and number of objects in groups (i.e. gene pools and populations), plus configurable, preselected parameters (these can make up a node just like the "favorites" node described above).