Elements of the ULTIMATE Chess GUI?

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

Moderators: hgm, Rebel, chrisw

tttony
Posts: 268
Joined: Sun Apr 24, 2011 12:33 am

Re: Elements of the ULTIMATE Chess GUI?

Post by tttony »

Recently I watched this video: https://www.youtube.com/watch?v=_4EuZI8Q8cs

Maybe you can use the code to start a new chess GUI :D
Modern Times
Posts: 3548
Joined: Thu Jun 07, 2012 11:02 pm

Re: Elements of the ULTIMATE Chess GUI?

Post by Modern Times »

Ability to run multiple instances of the GUI at the same time, either each running totally different matches/tournaments, or all working on the same one.
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Elements of the ULTIMATE Chess GUI?

Post by hgm »

Note that developing a GUI is about 100 times more work as developing a Chess engine (perhaps only 10 times if it is a top engine). So why start from scratch if there already exists open source that does almost everything you require, and what people request here. Just tweeking the existing code so that it does exactly what you want would be a hundred times easier.
giovanni
Posts: 142
Joined: Wed Jul 08, 2015 12:30 pm

Re: Elements of the ULTIMATE Chess GUI?

Post by giovanni »

hgm wrote:Note that developing a GUI is about 100 times more work as developing a Chess engine (perhaps only 10 times if it is a top engine). So why start from scratch if there already exists open source that does almost everything you require, and what people request here. Just tweeking the existing code so that it does exactly what you want would be a hundred times easier.
Thanks Heiko. How much work do you think would be needed to add to xboard the capability to do interactive position analysis, kind of what IDEA does' in Aquarium program? I know you don't have Windows, but it is a kind of analysis were the user goes back and forth from a given position recording the engine scores for any position being analyzed. Then, scores are backpropagated (minimaximized) to the root positions.
Ras
Posts: 2487
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Elements of the ULTIMATE Chess GUI?

Post by Ras »

Ferdy wrote:All you have to do is press the button and locate the engine file. What is your problem
All the stuff that is there and shouldn't even be necessary. Command line options? Special Winboard options? This is one of the reasons why UCI came around, because of this mess (the ini file hell is missing, but likely hidden elsewhere). The only thing worse than that is probably the Winboard startup dialogue.

Plus that even rudimentary GUI 101 is not being followed. Checkboxes for mutually exclusive options are nonsense.
Will you tell us how to install an engine according to your GUI?
The most user-friendly chess GUI I've used so far is the Shredder GUI:

- click Menu->Extras->Engines->Install Engine
- a dialogue box opens where a dropdown combo box allows to select UCI/WB
- after that, another dialogue box opens where you can either enter the path or click on a "..." button
- after that, another dialogue opens where name of the engine and autor (as derived from the engine itself) appears, but you can change them if you want
- a final confirmation "engine successfully installed" appears.

You don't have loads of stuff to enter that shouldn't even be necessary. The sequence ensures that the things that are really necessary are configured. One thing that is missing is some kind of progress indicator in that process, e.g. "step X of Y" or just a graphic progress bar at the bottom of each dialogue.

Afterwards, the engine can be configured via the general options (stuff like hash size etc) and the engine specific options as announced by the engine.

A proper GUI is way more than just a command line wrapper. It's about guiding the user through the tasks. The fundamental error in the screenshot you posted is that this GUI is not task-oriented, but feature-oriented. Programmers usually love this, and it makes for a consistently bad user experience for the 95% of users who are not programmers.

Note also that the Shredder GUI is following the concept of information scent. There are two places I'd expect engine installations, that's the file menu and the extras menu. Since the file menu is clearly about game related load/save, that leaves the extras - and once I click there, I immediately see an "engines" entry, so I know I have found a hot trace I just have to follow.
Krzysztof Grzelak
Posts: 1525
Joined: Tue Jul 15, 2014 12:47 pm

Re: GUI and features

Post by Krzysztof Grzelak »

Sorry but a bit of a bug appeared in this post.
User avatar
gbtami
Posts: 389
Joined: Wed Sep 26, 2012 1:29 pm
Location: Hungary

Re: GUI and features

Post by gbtami »

Krzysztof Grzelak wrote:Sorry but a bit of a bug appeared in this post.
?
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Elements of the ULTIMATE Chess GUI?

Post by hgm »

Ras wrote:All the stuff that is there and shouldn't even be necessary. Command line options? Special Winboard options? This is one of the reasons why UCI came around, because of this mess (the ini file hell is missing, but likely hidden elsewhere).
Uh? Some engines need command-line options, e.g. to specify you want to run them in a GUI, rather than in stand-alone (ASCII) mode. How do you run those engines in Shredder GUI?

How do you run a JavaScript UCI engine in Shredder GUI? (Or a Java engine? Or a Haskell engine?) In WinBoard you select Node.js as engine, and the .js file as command-line option.
The only thing worse than that is probably the Winboard startup dialogue.
What is bad there? You just select the engine from a combo-box...
Plus that even rudimentary GUI 101 is not being followed. Checkboxes for mutually exclusive options are nonsense.
In contrast to what you think, WB v1 and UCI are NOT mutually exclusive. 'UCI' invokes the protocol adapter. This could conceivably use WB v1 protocol.
The most user-friendly chess GUI I've used so far is the Shredder GUI:

- click Menu->Extras->Engines->Install Engine
Engine->Load 1st Engine in WinBoard is only 2 menu levels deep, so that is 3-2 in favor of WinBoard to start with...
- a dialogue box opens where a dropdown combo box allows to select UCI/WB
Tick 'UCI' or do nothing in WinBoard.
- after that, another dialogue box opens where you can either enter the path or click on a "..." button (4-2.5).
I WinBoard you could click that button straight away, without first selecting something to make something else open (5-3.5).
- after that, another dialogue opens where name of the engine and autor (as derived from the engine itself) appears, but you can change them if you want
- a final confirmation "engine successfully installed" appears.
Again, changing the name would already have been posible in the original dialog for WinBoard ('Nickname'). But usually you would not do that, so I won't count it. Also in WinBoard you now just 'confirm' by clicking 'OK' (6-4.5 for WinBoard...).
You don't have loads of stuff to enter that shouldn't even be necessary.
You also don't have to enter stuff that is not necessary in WinBoard. OTOH, it seems you cannot enter some stuff that sometimes is necessary in Shredder. E.g. explain us what you would have to do in addition when

- You want to make the engine use the opening book
- The engine can only play Crazyhouse, and you want Shredder to switch to Crazyhouse whenever you load it. (Ouch... OK, replace Crazyhouse by Chess960.)
- The engine is Java or JavaScript.
- Need to run an engine that requires "POS --io-mode xboard" as start command.
- You want to handicap the engine by a time-odds factor.

In WinBoard the first two would only require a single click, the third nothing special for Java, the fourth requires you to type "--io-mode xboard" for the command-line option, and the last one just to type the GUI option. (Because it is considered something only advanced users would ever want.)

Also note that in WinBoard you don't have to guess where to find a menu for handling the engine (File or Extra). It appears immediately on the main menu bar.

So by objective measure WinBoard is 25% more user-friendly than Shredder. Your comment seems to lack any kind of objectivity. In fact it is close to the worst bullshit I ever saw...
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Elements of the ULTIMATE Chess GUI?

Post by hgm »

giovanni wrote:Thanks Heiko. How much work do you think would be needed to add to xboard the capability to do interactive position analysis, kind of what IDEA does' in Aquarium program? I know you don't have Windows,
Where did you get that idea? :shock:
but it is a kind of analysis were the user goes back and forth from a given position recording the engine scores for any position being analyzed. Then, scores are backpropagated (minimaximized) to the root positions.
How does this differ from -mcBookMode in XBoard?

It is difficult to make an estimate of the required effort if I don't have the slightest idea of what exactly is requested. Is any kind of special output, or input controls needed for this feature? Would it just be like interactive analysis, showing one or more PVs in the Engine Output window? Would it produce a PGN tree that the user later can walk, annotated with score/depth information? Things like that would determine if it would take one day or three, once an exact specification is given.
Gusev
Posts: 1476
Joined: Mon Jan 28, 2013 2:51 pm

Re: Elements of the ULTIMATE Chess GUI?

Post by Gusev »

Graham Banks wrote:Knockout Tournaments

Ability to run TLCV broadcasts.

Adjustable adjudication settings.
Can TLCV broadcasts reach mobile devices, such as smartphones? We need ability to broadcast to all networked platforms!