Complete engine configuration

Discussion of anything and everything relating to chess playing software and machines.

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
User avatar
Ovyron
Posts: 4392
Joined: Tue Jul 03, 2007 2:30 am

Re: Complete engine configuration

Post by Ovyron » Tue May 19, 2020 1:18 am

(I'll just mention in passing that Winboard is the most terribly designed UI in the user-friendly department and that any input from one of his developers like hgm should be taken with a GIANT grain of salt because they're engineers that could never design a good GUI in the first place, so implementing anything they say could be harmful for future users of the implementation. XBoard took all the wrong decisions already and THAT's why people continue to make new freeware GUIs, because Winboard just didn't work. Any feature that it has can be compared with some other GUI that did it better)

User avatar
hgm
Posts: 24730
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: Complete engine configuration

Post by hgm » Tue May 19, 2020 7:19 am

Well, so you are just a WinBoard basher without being able to give any useful comment on the issue at hand. If you want to imply that it is a good idea to give every engine its own PV display options, it would be more helpful to just say that, and explain the use cases that often makes you do that.

People that do actually criticize WinBoard, however, usually complain that the dialogs are far too complicated, and that good design uses the "less is better" approach, and would only show the bare minimum the user frequently needs, and hide the things he will almost never need. There also is a thing called "maximum-flexibility, minimum-usefulness principle".

It seems to me that the proposed dialog for SCID goes exactly in the direction that make people say that engineers cannot design interfaces, showing everything that could possibly be changed at once.

It would be interesting to hear comments from users that actually have something to say on the matter at hand, rather than a desire to bash certain GUIs, their contributors, or programmers in general..

As to the free-format issue:

I guess by the time WinBoard came around, there were already too many chess engines that each printed the PV in a different way, and that in those days even parsing SAN was a significant load on the computer. Or that the GUI designers simply did not have presenting good PVs a priority. Analyze mode in engines was only invented decades later, and PVs were mainly considered technical output for debugging by the programmers. In 2001 WinBoard did not even have a window to display PVs, it could only display one line in the message field above the board (and only the first few moves would be visible).

But today PVs are the main output of an engine. The GUI must have a move parser that can understand a wide range of formats, including SAN, or you could never parse games. And the PV has to be parsed anyway, or features like variation boards would not work. So you might as well feed the PV to the game parser, and then convert it to the desired standard format. You can always make it a global setting to show the engine's PV verbatim, but I wouldn't expect anyone except perhaps the developer of a WB engine ever being interested in switching that on. If you suspect there is something wrong with the engine, you would turn to the log file, where you see its output anyway.

Geonerd
Posts: 72
Joined: Fri Mar 10, 2017 12:44 am

Re: Complete engine configuration

Post by Geonerd » Tue May 19, 2020 9:13 am

The ability to play two engines against one another with asymmetric time controls is handy.

Fulvio
Posts: 194
Joined: Fri Aug 12, 2016 6:43 pm

Re: Complete engine configuration

Post by Fulvio » Tue May 19, 2020 12:04 pm

hgm wrote:
Tue May 19, 2020 7:19 am
People that do actually criticize WinBoard, however, usually complain that the dialogs are far too complicated, and that good design uses the "less is better" approach, and would only show the bare minimum the user frequently needs, and hide the things he will almost never need. There also is a thing called "maximum-flexibility, minimum-usefulness principle".

It seems to me that the proposed dialog for SCID goes exactly in the direction that make people say that engineers cannot design interfaces, showing everything that could possibly be changed at once.
There are companies like Google or Apple that invest a lot of money to research what is user-friendly.
Just take an iPhone or open Chrome's settings to see that all the settings of a category are grouped in the same place. If necessary, an "advanced" button is added to show/hide the options reserved for advanced users. So I want all the settings for an engine to be in the same place, not scattered in various dialogs.
In SCID there has always been the ability to set options ​​such as threads, hash and even multiPV independently for each engine.
Of course this implies that it is also possible to set the same values ​​for all of them. But making it mandatory doesn't seem like a good idea and I'm not going to do it.

Ras
Posts: 1423
Joined: Tue Aug 30, 2016 6:19 pm
Full name: Rasmus Althoff
Contact:

Re: Complete engine configuration

Post by Ras » Tue May 19, 2020 3:03 pm

Maybe my suggestion for Banksia (automatic recognition of CECP engine scores) could also be something for your project?

See my posting in the other thread: viewtopic.php?f=2&t=72350&start=660#p843972

Also, with regard to hash size if you configure that for all engines: if a specific engine doesn't allow that hash size (e.g. it's too large), the GUI should instead set the hash size as closely as possible to the generic setting for this engine.

Example: 4 GB hash as general setting. My engine can only accept up to 1 GB and announces that in the "uci" response - the GUI would set 1 GB. For my engine, it wouldn't matter because I'm clipping the hash size anyway, so trying to set 4 GB would still only be 1 GB, but not all engines will do so. Similarly for the number of worker threads with multi-threaded engines.
Rasmus Althoff
https://www.ct800.net

User avatar
hgm
Posts: 24730
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: Complete engine configuration

Post by hgm » Tue May 19, 2020 3:08 pm

Well, that is your design choice to make, of course. But one must always be careful by making things 'user-friendly' by deleting features. Otherwise you run the risk of 'simplifying' a helicopter (awfully user unfriendly dashboard, takes years to master flying it) to a stone (anybody can use it, flies in the direction you throw it, almost unbreakable... really the ultimate in user-friendliness).

If I copied my Chess installation with SCID and 50 engines to my new computer with more memory, or to a laptop with less, I would not be very happy when I had to open all 50 engine configuration dialogs for adapting the hash sizes to the new environment. If someone told me I had to do that because it is more user-friendly, I would either punch him in the face or recommend him to apply for a job with MicroSoft.

I think the best solution would be to provide an option to globally apply a settings change of a parameter that is more system related than engine specific to all engines. There are many ways this can be implemented; there could be a dialog for global settings where you can optionally specify a value that would overrule the values for the individual engines (which would then get the corresponding control greyed out in their settings dialog). Or when you dislike distributing unrelated controls over multiple dialogs, you can just provide a button "Apply to all" for parameters for which the user would almost always want to do that.

User avatar
Ovyron
Posts: 4392
Joined: Tue Jul 03, 2007 2:30 am

Re: Complete engine configuration

Post by Ovyron » Wed May 20, 2020 6:46 am

hgm wrote:
Tue May 19, 2020 7:19 am
Well, so you are just a WinBoard basher without being able to give any useful comment on the issue at hand. If you want to imply that it is a good idea to give every engine its own PV display options, it would be more helpful to just say that, and explain the use cases that often makes you do that.
Well I have never known how to use MultiPV in an engine in Winboard anyway, and I'm pretty sure it's a feature it'd be impossible for me to learn how to use without searching some obscure guide or you telling me. So it already lost.
hgm wrote:
Tue May 19, 2020 7:19 am
It seems to me that the proposed dialog for SCID goes exactly in the direction that make people say that engineers cannot design interfaces, showing everything that could possibly be changed at once.
Actually I find SCID a very user-friendly interface and I learned how to do everything it can do by discovery (not reading guides, not asking a developer how to do something) in less than an hour. That's good design.

In this case, I hate how the Shredder GUI doesn't allow the user to set up MultiPV in engine options, and I've actually had to work around this by making my own compiles for engines that called this setting "MultiPW", so the GUI could get tricked and show it in options. But then I couldn't change it with the F5/F6 keys, it was a mess.

So the only input I can provide to Fulvio is "thumbs up, good decisions."

User avatar
hgm
Posts: 24730
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: Complete engine configuration

Post by hgm » Wed May 20, 2020 7:28 am

You are not able to discover that in order to change the MultiPV setting you would have to click on the words 'fewer' or 'more' shown beside it? :shock:

Image

You want to make us believe you thought these word were printed there just as random hickups, and it was totally beyond your grasp they could be there for a purpose? Well, try again. That you are 100% disingenious here already follows from the fact that WinBoard actually does always show the MultiPV option in the Engine Settings dialog as well, just were you claim you like to have it. So you are willing to compile your own engines just to make it appear in Shredder GUI, with loss of functionality (breaking F5/F6), but seeing that it is in WinBoard's Engine Settings dialog is beyond your capabilitys for 'discovery' without consulting obsure manuals???

Image

My advice to Fulvio is: ignore this guy. He is lying through his teeth about everything; his only agenda is to bash WinBoard, and he is willing to sacrifice SCID for that purpose.

User avatar
Ovyron
Posts: 4392
Joined: Tue Jul 03, 2007 2:30 am

Re: Complete engine configuration

Post by Ovyron » Thu May 21, 2020 3:42 am

hgm wrote:
Wed May 20, 2020 7:28 am
My advice to Fulvio is: ignore this guy. He is lying through his teeth about everything; his only agenda is to bash WinBoard, and he is willing to sacrifice SCID for that purpose.
Says the guy that finds putting "fewer / more" clickable text with no signal whatsoever that clicking it does anything (does clicking NPS do something? What about clicking the 15? Or +tail?), acceptable. So new users are expected to discover that by clicking randomly on their screen? Because I can't think of any other chess GUI that has text that looks like any other text, but this one does something when clicking.

I'm sure Fulvio wouldn't implement into SCID any function that is important but looks like text that does nothing when clicked (most text that does nothing when clicked in Winboard looks like the "fewer / more" text). I rest my case as this shows the kind of stuff following the "Winboard" way would give to users.

User avatar
hgm
Posts: 24730
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: Complete engine configuration

Post by hgm » Thu May 21, 2020 7:15 am

No, yes, and yes. Cliking the +tail does something: it excludes all unmentioned moves. Why do you think it would be printed there at all, after 'exclude:'? Clicking the 15 (or anywhere on the line, actually) would do something: it would ply out the corresponding PV on the board. Clicking the NPS doesn't do anything; it is outside any control element that can normally be clicked (button, combobox, text entry).

It is a universal function of the UIs of Windows and Linux alike: when you click in a window (as opposed to on text labels in its margins) something will either happen directly, or a context menu will pop up that allows you to select what will happen. It is obvious you did not even try. You were not even able to 'find' the MultiPV option in the Engine Settings dialogs. You did not even bother to open it. It makes one even wonder whether you ever ran WinBoard at all.

And again you show that your agenda is WinBoard bashing, as this all is totally off-topic w.r.t. SCID: no one suggested here that any of the proposed controls should be implemented as a text entry on which one could click, this was not a point of discussion at all.

But, come to think of it: it would be far more logical to be able to change the PV format by right-clicking in the window where the the PVs are displayed to call up a context menu, from which you then could select SAN, English SAN, long algebraic or raw, rather than hiding this function in an engine-configuration dialog.

Post Reply