It is time to revolutionize chess GUIs

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

Moderator: Ras

User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: It is time to revolutionize chess GUIs

Post by Don »

It's possible to built a specialized application to do what you want. Or it could built in to a user interface. It would be easy to pick up on transpositions (and tell you where to find them if you choose) and it would be aware of the line YOU select to be in your repertoire.

When I first started playing tournament chess a master was helping me develop my own opening repertoire. Unfortunately I was not that interested in openings. I think most U.S. players tend to put their time and study on learning to play endings and other things for some reason. Because of this he encouraged me to specialize in order to save time so that I could focus on other things.

In other words, he wanted me to pick just 1 move that I would play from any position in my repertoire. So I did not have to learn how to play 1. d4 saving me a huge amount of time. Of course sometimes things transposed to queen pawn openings but this still save an enormous amount of work. He warned me that I might want to learn alternatives when I became strong enough that people would actually bother to prepare against me.

So software could easily be designed to handle this, showing JUST the move (or moves) you want to play from any given position.

bbbaro25us wrote:
hgm wrote:
I can't say I completely understand it. Are you talking about a specially prepared PGN file, where each 'main line' of a game is enormously dresseded up with variations, sub-variations, sub-sub-variations etc.? And if so, is the idea that each variation should then be complete to the end, even beyond the point where it runs into a transposition with a variation somewhere else in the file? Or would eah position only be continued in one unique place in the file, so that most lines would end pretty quickly in the tree that lists them, but the user should then use the search command to jump to another (unique) tree where that position is on the main line?

The latter is what the search-position command in WinBoard would do. You walk through one tree, reach the end of a variation that ends in a transposition, then press 'find position', get the game(s) listed in which thisposition occurred on the main line, (presumably only one), and then load that game to get to see the continuation (which can itself be a tree, etc.).

It would require a lot of designing to organize the PGN file so thatit works like this, though. It sounds that what you basically want is a smart viewer /tree-walker for a conventional opening book. Which constructs the PV from the book by following the moves with the largest weights, and optionally lists the sub-optimal moves as variations. The book would basically bethe index of positions you talk about, but there is no real need to store actual games. The games are implied by the book.
I added another example, hopefully more explicative.

Anyway I'm not asking anything so complex, not something linking separate PGNs in a database or book: the index-reference I was saying should be simply an automatically generated comment line of the assembled pgn (or whatever format: I speak about a sequence of moves, with variations and subvairiations, like the "dressed pgn" you say, I suppose).
The aim is reading a printed copy. And the possibility to keep ading stuff and having the program organizing it in a coherent readible way.

You see: if I open a number of game files from a database merging them together (or if I add lines to a "dressed pgn" with variations and subvariations), I keep adding caos on caos, and I cannot use the results as a repertoire.
This problem is especially relevant because of the transpositions, and the actual impossibility to sort out the repeated positions when the repertoire grows big and complex enough for me to not be able to spot them anymore. The program should not have my human search and memory problems: so I think there should be a way to have it reorganize it all in a sensitive way, in a way that could result in a decent printed repertoire.

If, for example, I add a pgn game to a "dressed pgn" (the repertoire), when a transposition happens after a different number of moves, or after a different sequence of moves, it gets added without me knowing of it. Similarly, if I'm adding a line manually to the "dressed pgn" and by chance i pass over a position which is already represented in there I cannot really know it. Hence the "dressed pgn" keeps growing in size and caos even when I'm not adding new informations to it.

So When a "transposition position" occurs, it would be helpful if the program would use it as a milestone of sort, writing every move/line happening before that position first (no matter how many move long it is: I suppose the move after the transposition would be numbered with the lower possible value coherently to the shortest possible path to it), and writing all the continuations, from that position on, after the "transposition position".
As there may well be many such "transposition position" in a repertoire which is coherent and easy to memorize, each one of these positions shoud have an index of ANY sort, the simpler the better, which the program could add as a comment at the end of all the trunkated lines which converge at a "transposition position": just a way for the HUMAN user to navigate through the final result!

I hope this time I was understandable, and sorry for the English: not my language.
bbbaro25us

Re: It is time to revolutionize chess GUIs

Post by bbbaro25us »

hgm wrote:Well, even with this explanation it still sounds to me like you want to have a good intellegible way to dump the contents of a traditional opening book on a print-out. An opening book has all the properties you say. You can add lines, and they are broken down in positions, and if these positions are already in the book because they were reached through a transposition, this will be recognized.
And which program does such a thing?
bbbaro25us

Re: It is time to revolutionize chess GUIs

Post by bbbaro25us »

Thaks for your answers, guys.
Hopefully this repertoire oriented organizing-printing options will be added in some program someday, and I think I'll not be the only one happy for it.
Vladimir Xern
Posts: 41
Joined: Wed Mar 08, 2006 8:30 pm

Re: It is time to revolutionize chess GUIs

Post by Vladimir Xern »

bbbaro25us wrote:
hgm wrote:Well, even with this explanation it still sounds to me like you want to have a good intellegible way to dump the contents of a traditional opening book on a print-out. An opening book has all the properties you say. You can add lines, and they are broken down in positions, and if these positions are already in the book because they were reached through a transposition, this will be recognized.
And which program does such a thing?
It seems something like this should roughly be possible using something like Chess Position Trainer to maintain the repertoire and catch transpositions, exporting to a PGN file, and using Scid's opening report feature on the PGN to make a theory table to print out. It's a little rigid and kludgy, but seems workable.
User avatar
Kempelen
Posts: 620
Joined: Fri Feb 08, 2008 10:44 am
Location: Madrid - Spain

Re: It is time to revolutionize chess GUIs

Post by Kempelen »

bbbaro25us wrote:Hi!
I'm completely new to this forum, and this is my 1st comment, so pardon if I'm not in line with some etiquette or something (tell me if this is the case: I'm not easily offended).

I searched around for this thing, but it seems to me it was not asked before, and this one looks like a fit enough general topic to ask.

I have a problem with chess GUIs, namely the complete lack of TRANSPOSITION MANAGEMENT.

One of the neat things I think should be featured in a chess GUI, when it does already mange databases to a degree, is the opportunity to build and print a personal opening repertoire.
Unfortunately this becomes impossible very fast because no pgn manager can manage transpositions in pgn (or analogue format) files: how many times when you build a coherent repertoire you have a repeated positon which appears through different move order and often with a different move number (when both sides have to waste the same number of tempi)? These repeated identical positions can be situated very far apart, in graphical terms, in a single pgn with multiple variations and subvariations!
A possible solution is an opening tree, but this one cannot be printed or reviewed efficiently (in order to use it for online practice and consequent memorization), and still the graphical result is not suitable for a complete repertoire, not even in a single "minor" sub-opening (space prblems due to visualization method, and still it "sees" transpositions due to a repeated identical position ONLY when you run through it on an interactive board).

Is it possible to have a gui suitable for condensing a repertoire, of a given opening, in a single pgn with variations and subvariations?
A pgn where the program, when a new line you're adding reaches a position which is already included in the repertoire, uses som sort of index message (something like "see line 1.1.2.3", for example), and consequently prevents the repertoire builder (poor user me) from repeated and wasted work? A pgn that does the same work on transpositions if it is fused with another pgn (possibly in a smarter and cleaner way then the messy thing I could poorly see done by the chessbase program)?

I think such a "repertoire oriented" pgn management would be VERY useful for any user, beside the main goal I have.
For example one could fuse many different games in interconnected-transposable openings and have a taste of the general play of the related positions "at glance", without having to build an "opening book" file and have to navigate back and forth in it (probably I'm not the only one who get lost pretty fast in this kind of breackdance among very similar positions...).
I think this would be a very good feature. While it arrives, I think the best method is what I do. I have a small database of opening lines with comments, then I study them and I have wrote my opening book in pdf. I write there ideas, patterns, tactics, transposition, a few need to learn variations and so on, all with printed diagrams that catch my eye. It is like a non-electronic book made by me with my own notes. The good thing is that when I need to remember my repertorie I dont study any database, but my pdf. I recommed this to any player as I have seen my opening game improved from I do this.
Fermin Serrano
Author of 'Rodin' engine
http://sites.google.com/site/clonfsp/
User avatar
hgm
Posts: 28519
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: It is time to revolutionize chess GUIs

Post by hgm »

bbbaro25us wrote:And which program does such a thing?
Not that I know, but I have zero experience in studying openings or creating books. I was just trying to imagine what would be a convenient user interface for a task like this, to see if it would be worthwhile to add that to WinBoard.

Currently WinBoard has a book-edit function, and if you have that opened, you will get a display of all the book moves from the current position (so you can add or delete moves, or change the book weights). This could easily be extended by not just print the moves, but print the principal variation for each move starting from the position. Then you would still have one line per move, but the lines would be longer. You would not see any variations that branched off later, though.

As a further extension one could display not only all main lines starting from the current position, but also list all variations that directly branch from it later. (Again, 1 line per variation.) I guess normally this would exhaust the available display space, leaving no room for displaying sub-variations. To get those, you would then have to move first onto the applicable variation, because the sub-variations on that would become visible.
User avatar
Kempelen
Posts: 620
Joined: Fri Feb 08, 2008 10:44 am
Location: Madrid - Spain

Re: It is time to revolutionize chess GUIs

Post by Kempelen »

One thing I would like to see more often in guis is tactical problem solving oriented interface. I mean, it shows a problem, try to solve, if wrong it tells you one or two tips, colored arrows or squared, elo progress, what exercises you wrong more often (i.e. pins), time presure (configurable), possibility to problems been showed in any order or random, even a way to show pieces for seconds, then hide them and show then agains (and so on). The only program I have seen it has many of the features of this is CT-ART. This I would like to see more often in new moderns guis.

Another idea is I think gui future is in mobile and tables. I play correspondence chess with Chesspresso for Android. It is improving a lot the interface and is very funny. I know chessbase for pc has some features around this, but never try them.

Last, it would be great to have an engine list with a (subjetive, voteable) comment field about playing style. That would put more adjetives, words and funny games to computer chess against humans. I.e. I have seen Rookie been a ferocious initiative seeker, or CSTal very agressive, other been defensive, tactics, and so on.... To write such a list would be a effort of all computer chess comunity.

More to see, but more relative to user experience than to gui, would be new digital boards (like dgt, or novag citrine), with new features, different sizes and interactivity like led or lcds, .... but this is more a problem of a company arraising than programing.....

Fermin
Fermin Serrano
Author of 'Rodin' engine
http://sites.google.com/site/clonfsp/
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: It is time to revolutionize chess GUIs

Post by Don »

hgm wrote:
bbbaro25us wrote:And which program does such a thing?
Not that I know, but I have zero experience in studying openings or creating books. I was just trying to imagine what would be a convenient user interface for a task like this, to see if it would be worthwhile to add that to WinBoard.

Currently WinBoard has a book-edit function, and if you have that opened, you will get a display of all the book moves from the current position (so you can add or delete moves, or change the book weights). This could easily be extended by not just print the moves, but print the principal variation for each move starting from the position. Then you would still have one line per move, but the lines would be longer. You would not see any variations that branched off later, though.

As a further extension one could display not only all main lines starting from the current position, but also list all variations that directly branch from it later. (Again, 1 line per variation.) I guess normally this would exhaust the available display space, leaving no room for displaying sub-variations. To get those, you would then have to move first onto the applicable variation, because the sub-variations on that would become visible.
Open book encyclopedia's can give some examples of how lines might be layed out on paper or on a screen. For interactive computer use of course the standard tree widgets can be used where you click to expand a node.

Maybe I am traditional but I would love to see a professional quality page layout presentation of opening systems.
bbbaro25us

Re: It is time to revolutionize chess GUIs

Post by bbbaro25us »

hgm wrote:
bbbaro25us wrote:And which program does such a thing?
Not that I know, but I have zero experience in studying openings or creating books. I was just trying to imagine what would be a convenient user interface for a task like this, to see if it would be worthwhile to add that to WinBoard.

Currently WinBoard has a book-edit function, and if you have that opened, you will get a display of all the book moves from the current position (so you can add or delete moves, or change the book weights). This could easily be extended by not just print the moves, but print the principal variation for each move starting from the position. Then you would still have one line per move, but the lines would be longer. You would not see any variations that branched off later, though.

As a further extension one could display not only all main lines starting from the current position, but also list all variations that directly branch from it later. (Again, 1 line per variation.) I guess normally this would exhaust the available display space, leaving no room for displaying sub-variations. To get those, you would then have to move first onto the applicable variation, because the sub-variations on that would become visible.
This constant widening of the tree is just the problem which ruins any hope of an efficient vizualization, beside the almost impossible task to understand where a position gets actually repeated when the number of subvariations grows beyond a manageble number.
That's why I'd like a program that uses the repeated positions, the transposition positions, as milestones, making their succession like the backbone of the tree, the main points from where variations spur: this way the tree should at least not look like a bush!