about using winboard

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

Moderators: hgm, Rebel, chrisw

User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: about using winboard

Post by Evert »

phhnguyen wrote: To understand completely a GUI source I guess a new developer may need months of full time hard working. For a very simple modification I guess it may take few working days.
It's not that bad, actually. What you have to understand about XBoard is the distinction between the frontend and the backend. The backend handles all logic and is platform independent. The frontend is for the GUI itself.

I have to admit though, most things I ever hacked around with have been backend related.
For me the situation is worse since I’m a Mac user, I cannot compile XBoard straightaway thus I have never tried modifying its source.
I'm on a Mac too, what's the problem you run in to?
bnemias
Posts: 373
Joined: Thu Aug 14, 2008 3:21 am
Location: Albuquerque, NM

Re: about using winboard

Post by bnemias »

Ovyron wrote:It's telling that all the programmers I've seen with enough knowledge to have the capability of fixing Winboard to make it usable have chosen to instead, program their own GUI from scratch, with sound design choices, as if starting from a good foundation from scratch was easier than dealing with Winboard's mess.
You assume they all view it as unusable. You can count me among those with the capability of writing one from scratch, but not having done so. Ofc, I only use xboard these days as I no longer even have a windows partition.

I've thought about writing one from scratch, but it would be more of an interesting exercise than an serious need for something else. HGM and I haven't always seen 100% eye to eye, but when there have been problems, we worked well together to get them addressed.

And btw, the open source nature of the project, as someone already mentioned, means you can address whatever you want. I have a couple custom changes in the version I run. Nothing major, I just don't like how fat the target square circles are, so I shrunk them. Took 5 minutes.
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: about using winboard

Post by hgm »

Ras wrote:If I have to look up a manual of a chess GUI for editing a position, this is because it's a bad GUI, period.
Well, that could be your definition, but it is not mine. As I explained, when I say "is easily the best GUI", this pertains to how an average user would experience it after some minimal effort to get acquainted with it. That you don't agree with my statements when you use other basic definitions of the terms involved, is not really surprising, and isn't worth 20 pages of discussion.

Virtually all your gripes pertain to 'discoverability', which I consider an independent quantity, on which my statement didn't really claim anything. Combine that with a totally extreme attitude like the one quoted here, and it is no surprise that you passionately hate WinBoard.

If you would have started saying "You might think that, but the discoverability of WinBoard is total crap", it would still seem a gross exaggeration to me, but at least we would be on the same page, and could talk about the issues, rather than just past each other.

I would certainly be interested to improve the discoverability, provided that does not interfere with the ease of use for an average user. I think this should not be that hard, as the examples you give show that you really had to dig deep to find anything to bash, presenting the most unusual use case as if it was something one would do on a daily basis. E.g. editing a position using an MS- Paint backup, because you need to start from the opening position to have sufficient pieces available... Usually a game position that you would want to modify also contains all the pieces you need. It is hard for me to imagine a situation where I would want to add pieces to an existing game position. Edit Position is not intended for taking back moves. Of course I don't want to claim that this shouldn't be possible, (it actually is), or that it wouldn't be better if it were more easily discoverable how to do that. But focussing on unrealistic use cases is not likely to improve things a lot in the practical sense.
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: about using winboard

Post by hgm »

Ovyron wrote:It's telling that all the programmers I've seen with enough knowledge to have the capability of fixing Winboard to make it usable have chosen to instead, program their own GUI from scratch, with sound design choices, as if starting from a good foundation from scratch was easier than dealing with Winboard's mess.
I think this has more to do with the quality of the code itself than with the functionality. In any case it is always much more difficult to understand a code written by someone else, than code you write yourself. WinBoard uses the raw Windows API, which is one of the reasons it can be so compact and fast. But it makes for awful code, performing all kind of necessary low-level tasks. To change anything there requires very detailed understanding at a very primitive level. Nowadays there exist GUI 'toolkits' that perform these functions for you, which makes programming a GUI lot simpler.

I certainly count myself as being capable of writing a GUI from scratch. In fact I have sort of done that, as web-application (the 'Interactive Diagram'). Yet I have chosen to fix up WinBoard. Initially this was hard (as I had no prior experience with Windows API, or, for XBoard, the Athena Widget set), and I can fully understand why this would deter less tenacious programmers.

John Cheetham is another programmer who has developed a GUI from scratch (gShogi), and has done very valuable work for the conversion of XBoard from Athena Widgets to GTK.
User avatar
lantonov
Posts: 216
Joined: Sun Apr 13, 2014 5:19 pm

Re: about using winboard

Post by lantonov »

I agree with HGM that XBoard / Winboard is the best GUI. I would prefer Winboard over Arena any time. Engine installation has improved much and now it's a snap. I don't need any manual to set up a position but if I need one, it is there and in enough detail. If I have a problem with anything GUI-connected HGM is always available and kind enough to answer my gripes.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: about using winboard

Post by Evert »

hgm wrote:Usually a game position that you would want to modify also contains all the pieces you need. It is hard for me to imagine a situation where I would want to add pieces to an existing game position. Edit Position is not intended for taking back moves. Of course I don't want to claim that this shouldn't be possible, (it actually is), or that it wouldn't be better if it were more easily discoverable how to do that.
Count me among those who would vastly prefer a display with a palette to drag pieces from. I find any interface that requires me to do a secondary click+drag annoying, which probably has a lot to do with using a trackpad (primary click+drag is less annoying, probably having to do with using my right hand to operate the trackpad). I fully appreciate the complication of making this work with the vast number of pieces XBoard allows for.
Cycling through available pieces by clicking repeatedly is an acceptable alternative, provided there is a way to reverse the direction with a modifier key, and possibly another modifier key to switch sides.
My typical use case for setting up a position is for creating a test position to test something. As such, I usually don't want to edit an existing position.

A separate "edit position" dialog would probably be my preference, given that it solves issues with where you would put the window with position options (probably below the board, or flush to one of the sides unless the user has specified a position for the window) and it simplifies the interface in the sense that the board window doesn't change behaviour.

That being said, it's not at the top of the list of (minor) annoyances I have with XBoard. Addressing it also does nothing for WinBoard, which I personally don't care about (as an aside, have you considered releasing the GTK build of XBoard for Windows as an alternative to WinBoard proper?)
User avatar
Guenther
Posts: 4606
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: about using winboard

Post by Guenther »

One should add that WB besides CuteChess is also (which is for testing the absolute main factor) the most performant GUI.

It does no strange things like some other GUIs which make their results often unreliable, or are only seemingly easy to use,
but hundreds of examples from crappy games alone in this forum showed they are not.

It also has by far the most possible features and it is still light-weighted.
Of course you need to read the manual therefore, even if you are a programmer or a professional software tester.
(I am guilty of not reading it myself a few times and instead asked HGM)
https://rwbc-chess.de

trollwatch:
Chessqueen + chessica + AlexChess + Eduard + Sylwy
Ras
Posts: 2487
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: about using winboard

Post by Ras »

MikeB wrote:I cannot for the life of me understand why people complain when they had paid absolutely $0
I answered that one already, see the third posting of page 4 in this thread.
Ras
Posts: 2487
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: about using winboard

Post by Ras »

Evert wrote:A separate "edit position" dialog would probably be my preference
Like in Shredder:
http://www.maclife.de/testcenter/spiele ... dder-chess

Newer Shredder versions offer FRC as option in the editor, too, because the castling rights are different. For Winboard, it would probably make sense to add a combobox to select the chess variant because that decides which pieces are available.

The whole dialogue is modal, which is the easiest way to get around a lot of interdependencies to other features. It even works when the engine is analysing a position. When the position is modified, the analysis begins at depth 1 again. So probably, there is a position/go command behind the scenes.

A proper dialogue would also get around the "click clock" hack which has exactly one reason: the clocks occupy space in the main window that is never part of any square.
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: about using winboard

Post by hgm »

Evert wrote:Count me among those who would vastly prefer a display with a palette to drag pieces from. I find any interface that requires me to do a secondary click+drag annoying, which probably has a lot to do with using a trackpad (primary click+drag is less annoying, probably having to do with using my right hand to operate the trackpad).
What do you mean by 'primary' and 'secondary' click? Is that left and right mouse button?
A separate "edit position" dialog would probably be my preference, given that it solves issues with where you would put the window with position options (probably below the board, or flush to one of the sides unless the user has specified a position for the window) and it simplifies the interface in the sense that the board window doesn't change behaviour.
This is one of the (first) things I tried, and it did not work nice at all. Because of the problem you mention; the extra dialog tends to eclipse parts of the board where you want to place pieces. And even if a place can be found for it where it would not eclipse anything, this then tends to make the distance you have to travel between grabbing a piece and placing it unnecessarily large. It was really annoying.

This is what drove me to an 'internal' piece palette, where the pieces you want to select for placing are already on the board itself, much closer to were you actually want them. There of course is still some eclipsing in the sense that the pallette pieces are now on squares where you might want to place other pieces, but in practice this is very rare. The large majority of chess positions have pieces on the back rank only because they were never moved, and still in their original location. Except for (Q-side) castling, but it feels quite natural to just place the pieces that start between King and Rook first. It hardly ever happens that a group of pieces needs to be permuted cyclically from where they start initially.

Popping up a context menu or dialog after having indicated the square worked more conveniently that a static 'pallette dialog', as you don't care whether the board gets covered by it in that case. I still experienced that as annoying, because it cannot always appear in the same position relative to the mouse pointer, because of constraints by the edge of the screen.
I fully appreciate the complication of making this work with the vast number of pieces XBoard allows for.
Cycling through available pieces by clicking repeatedly is an acceptable alternative, provided there is a way to reverse the direction with a modifier key, and possibly another modifier key to switch sides.
Indeed, the sweep-selection mode was invented for efficient use with a (multi-button) mouse, and I had not given enough attention to how it would work on a touch pad. This is why I added the multi-click version as an alternative in v4.9.

The modifier key had not occurred to me yet, but sounds like a very good idea: Shift + rightClick (or middle click) to 'decrement' the piece type. Which with sweep selection is possible by sweeping in the upward direction, to immediately access the black pieces.

What do you mean by 'switch side'? Color-flip the clicked piece? Shift + right-click initially already places a black Pawn instead of a white one.

([Edit] Oh, and I nearly forgot about this. But for people that dislike using keyboard modifiers, a double-click on the piece you grab for moving will subsequently copy that piece, rather than move it)
My typical use case for setting up a position is for creating a test position to test something. As such, I usually don't want to edit an existing position.
Well, it depends on what kind of things you want to test. For middle-game positions the move and copy dragging of pieces from the pallette position is usually the fastest way for me by far. I only use the possibility to place new pieces when I want to set up late end-game positions, to try out mating potential. I wonder whether it wouldn't be better to leave on the Kings, in the case of 'Clear Board', as you would virtually always need those.


That being said, it's not at the top of the list of (minor) annoyances I have with XBoard. Addressing it also does nothing for WinBoard, which I personally don't care about
I am not sure why you make the destinction WinBoard/XBoard here. The sweep selection works the same in both. It is true that I never got to implement context menus in the GTK version, so that the -pieceMenu option would not work in XBoard to pop up the old-style context menu.
(as an aside, have you considered releasing the GTK build of XBoard for Windows as an alternative to WinBoard proper?)
Now that XBoard has reached, and perhaps even surpassed WinBoard, this is indeed not a totally crazy idea. One drawback is that to use GTK and the Cairo plot library on Windows you would need dozens of megabytes in libraries, killing the light-weight character for which I like WinBoard so much.
Last edited by hgm on Tue Feb 27, 2018 12:06 pm, edited 1 time in total.