Skip to content

Roadmap

April 29, 2012

Clearly I am in one of my periodic (or is that persistent?) phases of low Tarrasch activity. I’ve probably explained this before, but if so it’s worth repeating: I am actually now comfortable with (very) slow progress. Before I delivered Tarrasch V2, I was never comfortable. I wasn’t comfortable because I felt that I hadn’t yet produced something really useful. Tarrasch V1 certainly never cut it, in my mind anyway. But now I can point at Tarrasch V2. It sits on my PC and I use it every day, for a range of simple chess activities. For those activities at least, I much prefer to use Tarrasch than the alternatives that I am familiar with. There are other people who feel the same way. So to some extent at least I am happy to sit on my laurels.

However. This doesn’t mean I don’t want to improve Tarrasch. It has plenty of weak spots and in many ways is really just one big “opportunity to improve”. So, where to start ? For now I will simply present a roadmap. This is a plan for future development. I am not going to commit to do any of this stuff in any kind of fixed time frame. But assuming I don’t lose interest in chess computing I do intend to get there eventually. There are some tiny things and some huge things. Enough introduction, let’s put some meat on the bones.

Fixes

  • Optimization to allow editing of much larger .pgn files
  • Use canonical std::vector deletion algorithm to speed up mass deletes on game dialog
  • Fix reported screen irregularity from a chess.com user on his unusual Dell setup
  • When kibitzing, if engine sends “bestmove”, show it, because the engine isn’t going to send anything more
  • In .pgn editing we only support comment text before a move for moves at the start of a variation, but we also need to support comment text before moves that come immediately after a nested variation, for example we need to be able to edit Text4a in the following;
    Text1a Move1 Text1b Move2 Text2b ( Text3a Move3 Text3b) Text4a Move4 Text4b
  • If pgn tags (players, date etc.) are pasted into the moves window they should be recognised and interpreted
  • Restore missing pixels on the right edge of the h file
  • Fix> Delete key no longer works on game dialog for some reason
  • Fix> Editing of game variations and comments slows down dramatically as game gets very large

New Features (small)

  • Click on piece to move for move menu, or instant move if only one move possible
  • Keep a list of recently accessed files available in the file menu
  • Generate ECO codes for new games
  • Allow user to hide the lines and just show the evaluation (number) in human v computer games
  • Chess 960 support
  • More UCI user parameters
  • More menu separators
  • Analyse/blundercheck file/game
  • File > Save Game As feature
  • All Save/Save as features ask “Do you want to replace or append ?” if the selected file already exists

New Features (large)

  • Animation, move arrows, play-stop (the humblest javascript web player seems to have these now – Tarrasch should too)
  • Revamped display system (customisable fonts, resizable graphics, more flexible layout and panel sizes, optional co-ordinates)
  • A proper engine management system, including persistent parameter discovery and editing (using the gui)

Package Enhancements

  • Ask for permission to incorporate Critter, Stockfish, Houdini

Development Changes

  • Break out the “chess API” into a static library, with improved naming, a test suite, chess960 support
  • No compiler warnings
  • More portable implementation of move tree
  • No use of Windows thread pause which is intended for debuggers only
  • Change from bitbucket to github
  • Split off a development branch, allow users to download “under development” intermediate versions

Possibilities for the Future

  • Publishing features
  • Mac version
  • Engine v Engine

Some of these points require further elaboration. I might edit that in later, or I could add follow up posts. In the meantime, if I promised you something that doesn’t show up in the roadmap above, please remind me in the comments and I’ll update it!

 

Maintenance Release

February 27, 2012

I quietly slipstreamed a “maintenance” release of Tarrasch V2 onto triplehappy.com a week or so ago. So anyone downloading Tarrasch recently has got this slight update. I try to avoid too many software releases, I find it really annoying when software is never stable and is constantly begging to be updated. Unfortunately though I couldn’t really rest easy whilst there were a couple of known and rather ugly bugs in the previous version.

This is not quite the V2.1 release I blogged about earlier. That was taking too much time and I wanted to get the most important bug fixes out there.

The new V2.01a is also now hosted on the Komodo and Rybka websites. Previously V2.00a was on triplehappy.com and rybkachess.com and V2.00b was on komodochess.com only. So it is nice to have only one version, all the same everywhere. Although having said that, all three packages now differ with respect to the engines included. And the Komodo version sets Komodo as the default engine, whereas the other two set Rybka as the default engine.

Here are some V2.01a release notes;

Bug fixes;

  • UCI “quit” command now proceeded by “stop”, “isready” if engine was thinking.
    (this is good practice in general and Houdini in particular would sometimes
    ignore the “quit” command because of this problem).
  • Directory selection for engine selection and document selection decoupled (this was partially implemented for V2.00b).
  • Keyboard (not just mouse) selection of disjoint games in games dialogs now
    works ok.
  • Restore to factory defaults now refreshes font, engine, language changes.
  • The 3rd and 4th Custom UCI parameters now work properly (thank you Ralph Moritz).
  • For completeness I will also note here a small bug sometimes affecting 4th line of kibitz text. This bug was present in V2.00a but fixed for V2.00b (the Komodo edition). So, this bug was fixed just before starting the source code repository.
  • For completeness I will note that something of a de-emphasis of the role of Rybka in Tarrasch,started with V2.00b, has been finished with this version. Tarrasch is now neutral and talks of “strong engines” rather than “Rybka” in help text.

New features;

  • Ctrl-A now selects all in games dialogs.
  • New button to save clipboard or session to a file.
  • New “no auto flip when playing black” general option.

Rough Edges

January 11, 2012

I’m in the middle of a mini burst of Tarrasch activity after quite a long lay-off. A few days ago I finally worked through the process of getting the Tarrasch source code onto a proper public repository. The last couple of days I have been working on Tarrasch’s main website (triplehappy.com). Hopefully it is now looking a lot more respectable and professional.

The other day I promised I would layout a plan for Tarrasch V2.1, based on fixing the rough edges that I’ve observed using Tarrasch V2.0 extensively. Here’s a list of the problems I want to fix, in rough order of priority (higher priority) first.

  • Houdini 1.5 works pretty well in Tarrasch, however for some reason it seems to be necessary to manually stop the engine in circumstances where other engines gracefully stop themselves. For example, before loading a new game, or quitting the program. Investigate this and fix this.
  • Changing engines a lot causes unnecessary pain because all the file selection dialogs in the program remember the last directory you accessed. The engine selection dialog should not start in the last place you opened a .pgn file. Conversely, the .pgn file open dialog should not start in the engine directory if you just changed engines.
  • Some extra file management commands are needed. The existing Save as… should be complemented by and Save as game. Save as game will always create a new .pgn with just the single game you are working on. The existing Save as… command creates a new file with all the games in the current file, sometimes that’s a curse not a convenience.
  • It would also be really nice and convenient if the Games -> Clipboard (and maybe Games -> Session) dialogs had a button that let me save these clipboard (and maybe session) games into a new file.
  • If you are in the habit of pasting text into an empty edit window, subsequently pressing “New game” will (always? sometimes?) resurrect that text instead of starting fresh.
  • There’s a bug in the “4th kibitz line” that stops V2.00a showing all 4 lines with Komodo. I fixed this bug for V2.00b (the Komodo special edition), but I worry about its presence in V2.00a
  • It would be nice if Ctrl-A selected all games in all Game > dialogs
  • There is a bug whereby if a file save fails (eg because ChessBase has opened your file too), then subsequent file saves will appear to work, but actually won’t.
  • I should really look at what happens if you try to use a 64 bit engine on a 32 bit system. I’ve never even tried this and have no idea if it fails gracefully or calamitously.
  • It would be nice if you could edit text before a move in those circumstances where a move is the first move after the end of a nested variation. (Silly me only took into account the possibility of wanting to use “text before move” in the first move of a variation).
  • I’d like to improve the up and down arrow functions so that you can move smoothly through a list of alternative variations.

I’m sure I’ll think of other things. That will have to do for now though!

It’s a few days work, but I don’t imagine I’ll get it done for several weeks.

 

Resting on my Laurels

January 8, 2012

As has happened a few times before in Tarrasch’s development history, I have been taking an unscheduled break. I won’t beat myself up too badly for this. I’ve been using Tarrasch V2 a lot, and basically I’ve found it to be “fit for purpose”. There are some rough edges, but it basically works very effectively as a simple computerised chess workbench, just as I intended it to.

An example of the kind of thing Tarrasch excels at; I help out in the production of the New Zealand Chess Magazine. For a long time the editor sent me all the material that went in the magazine, largely because he relied on me to make diagrams in our house style (An aside: we use the excellent Good Companions chess font, the same font as Tarrasch’s graphics). Consequently, it was easy for me to put all the games in the magazine on our website. But things changed when I wrote a little program for the editor that let him produce the diagrams easily himself. I no longer got to routinely see all the chess material, and slowly I allowed the website to fall behind. Volunteers do this sort of thing I’m afraid. Anyway, recently I made a bit of an effort, and I caught up, and Tarrasch was instrumental. Although I didn’t have all the source chess material, I did have print ready .pdf files for the missing issues. Tarrasch made it easy to copy and paste from .pdf to .pgn. Now admittedly, a bit of manual intervention is necessary. Tarrasch gets confused by comment text. When it gets confused it abandons translation to .pgn form (i.e. moves) and appends everything from the point of failure as one big comment. Typically the start of this big comment really is a comment, but then moves resume. So position the cursor where the moves resume, and go Edit > Promote rest of comment to variation. Then repeat at the next breakdown. Easy peasy.

In my recent “What now?” post, I sought feedback on where to take Tarrasch from here. I got some very good ideas and constructive criticism, particularly on how to promote Tarrasch to improve its visibility. Two of the many comments stick in my mind. One user “airborne82p” pointed out that googling “Free chess program” doesn’t find Tarrasch. And Ester Adler complained that going to triplehappy.com is confusing for someone who knows nothing about Tarrasch. Fixing these two issues is my priority now I’ve finally got around to open-sourcing Tarrasch V2.

Incidentally, don’t imagine I am happy about the “rough edges” I mentioned in the first paragraph. My next blog post will be about those rough edges and how I propose to eliminate them in Tarrasch V2.1, in the not too distant future!

Finally I’ll mention that there has been some Tarrasch news in recent months, despite the absence of blog posts or triplehappy.com updates. The authors of the excellent Komodo chess engine asked me to make a Komodo edition of Tarrasch V2. This version (V2.00b) is a tiny advance on the version hosted on triplehappy.com (V2.00a), and has been available for a couple of months now on the Komodo website. My apologies for not informing my audience about this before. I’ll add a little more detail in the next blog post.

Open Source Release

January 8, 2012

For a long time now I have been feeling guilty about my promises to open-source Tarrasch V2. In the last couple of days I finally overcame my inertia and doubts, and worked through the processes involved. I’d always planned to tidy up the code before this step, but in the end I have skipped that step for now. There’s no reason that I can’t make the improvements I wanted post-release, in a publically visible way.

Those of you who have been following Tarrasch for a while might be aware that I previously open-sourced Tarrasch V1. On that occasion I simply zipped up the source code and made it available as a download on triplehappy.com. This time around I wanted to do it properly. There are highly visible and successful sites which host collaborative open-source development in a more modern, transparent, traceable, effective way than you could ever hope to achieve by passing around .zip files. The most successful of these sites is Github, but I have decided to use a competitor, namely BitBucket. The main reason for that is that BitBucket supports Mercurial and Git (Github is strictly Git only). Mercurial and Git are both distributed version control tools [I know this is gobbledygook for non-programmers]. They both have pros and cons, but for the moment I prefer Mercurial mainly because I  have at least some prior experience with it and also because it is better supported on Windows (allegedly – Git was written by Linus Torvalds of Linux fame and for him Windows is a dirty word).

So from about one hour ago, anyone at all can go to bitbucket.com, search for “Tarrasch Chess GUI” (or my username, billforsternz) and begin collaborating with me on future Tarrasch developments.

What Now ?

September 15, 2011

Looking back I find I started this blog on September 24th 2010 just short of a year ago. The goal was to document the journey to Tarrasch V2. That journey is now at an end. What is more important, the journey or the destination ? For long periods of the journey I was exasperated with it, and worried it would never end. How could I ever finish this thing ? But now I have “arrived”. For a very short time I felt elated, but now I will admit to a feeling of flatness. What now ?

Initial reaction has certainly been muted. Not a lot of buzz in the comment section of this blog. Download stats show an initial burst leveling off fairly quickly. Just the same as for both beta versions. Just at the moment the danger is that Tarrasch V2 is just going to replace Tarrasch V1, without becoming significantly more popular (basically the background level of activity is around 30 V1 downloads a day).

I strongly suspect the problem here is promotion. Tarrasch V2 retains all the ease-of-use benefits of Tarrasch V1, and at the same time is vastly more functional. Objectively speaking, it seems a no-brainer that it should take Tarrasch to a new level in popularity. But for that to happen people need to know it exists, and there isn’t a mechanism for that in place.  Downloads tend to come from a set of existing links, none of which are  “V2 aware”, or from people googling for Tarrasch Chess GUI, i.e. they’ve already heard about Tarrasch. That is not likely to be a “V2 aware” source either.

I suppose I can choose to either “let nature take its course” and see whether Tarrasch V2 slowly picks up momentum (or not), or I can do some active promotion.

I started this post intending to write about the future of Tarrasch. Should I repeat the V1->V2 journey with a similar V2->V3 journey ? Or is it time to adopt a more mature process, making smaller, more incremental improvements, so V2.1, V2.2 etc. Or maybe I should simply declare victory and stop.

I will ruminate on these unanswered questions.

 

Tarrasch V2 Released

September 13, 2011

Tarrasch V2 has been released. It is now available at www.triplehappy.com. The new V2 has now replaced the old V1.

Thanks to everyone who has offered encouragement and suggestions. A big thanks to everyone who has donated to the project. Thanks to Iliya Kristoff for his recent testing efforts. Iliya is now crediteded as the official Tarrasch tester. No doubt there are still bugs in Tarrasch (it’s now a little too big and complicated for it to be otherwise), these are 100% my responsibility, not Iliya’s.

Since the last beta a few days ago, one more significant feature has been added (next game/previous game). A less significant new feature is the large font option. A few small bug fixes have been added.

Tarrasch V1 was released for many months before a maintenance release was required, but since a maintenance release is my fallback strategy if any serious bug emerges, make sure you check back soon if you are an “early adopter”.

Follow

Get every new post delivered to your Inbox.