Aquarium’s Hidden Treasures. Part Two
01 February 2010
Aquarium 2010 has been released. In comparison to the initial Aquarium version, which was released last year, it is clear that progress has been very rapid, both in improvements to existing features and the addition of new features and stability. Its database feature started out with a limit of two open bases, but now the limit has been removed and database performance has been improved. Aquarium has also taken the lead on publishing iBooks and HTML content for web pages and blogs. That’s quite a change from the initial version, which didn’t even have a printing feature. Aquarium has been a leading analysis tool from the beginning; nevertheless, the new version shows huge improvements in this area, as you can see by reading last month’s column about IDeA. The new Aquarium also emphasizes analysis on networked computers; a new feature that can give a big boost to IdeA, as well as advanced infinite analysis.
This month I’ll continue with Aquarium’s hidden treasures, including some new features in Aquarium 2010 that have not received much attention yet.
Drag and Drop
Aquarium 2010 databases have extensive support for drag and drop operations. You can drag and drop individual games, a list of games, and even whole databases. Games can be dragged between different types of databases.
In many cases it is easiest to use the navigation tree in the sidebar for dragging and dropping. The graphic below shows the navigation tree with two open databases: elite2008 and hugebase. Each of them has one open game. The game Greco J. – Amateur in hugebase is being dragged into elite2008.
Drag and drop a single game
As a result of this operation, the game will be copied from hugebase and appended to elite2008.
When dragging games, the blue background highlights the source and the destination. The source has white letters on a blue background and the destination has dark-blue letters on a blue background.
In the next example, the same two databases are open, but this time we are looking at a subset of hugebase; a list of only three games instead of the full database. This list is being dragged into elite2008.
Drag and drop a list of games
The three games in the hugebase list will be copied and appended to elite2008. This same method can be used to update a database with games you download from the Internet. Normally, you would download a database in PGN format, open it in Aquarium and then drag the whole database into the destination database.
Drag and drop can also be used to merge games. In the example below, the game Greco J – Amateur is being dragged into the Karpov game.
Merging two games
As a result of this operation the Greco game will be merged into the Karpov game. After that the Karpov game will contain all moves, variations, and annotations from both of the original games.
It is also possible to merge several games by dragging a list of games into an existing game. In the next example, you see a list consisting of three hugebase games being dragged into the Karpov game.
Merging several games
The result is that the Karpov game will contain the moves, variations, and annotations from all four games.
If you want to create a new version of an open game, you can do so by dragging the game back into the same database as shown below.

Here, the Karpov game is dragged into the elite2008 database, the same database as the original game belongs to; this creates a new copy of the game in the database.
In some cases it is easier to drag and drop from the game list to the navigation tree. The next illustration shows how a game from hugebase is being dragged from the game list into elite2008.

Appending a game from the game list
There is no need to mark the game in the list before doing that. Simply drag it over to the navigation tree. The destination will be highlighted as elite2008 is in this case.
Marking games is useful if you want to drag several games in one operation After marking the games, you can drag them all into the destination database.
Appending marked games from the game list
In this example, the three marked Nigel Short games will be appended to elite2008.
Similar to what was described above you can also use this method to merge games, by dragging the marked games into an existing game, which is shown in the navigation tree.
Note that although you can drag a chess game into an EPD database, only the initial position will be stored. Also remember that CBH databases are read-only in Aquarium, so you cannot drag games into them.
Besides dragging and dropping, you can use other methods for the same purpose. The keyboard shortcuts Ctrl+C/Ctrl+V are also fast, but if you prefer to use the Copy/Paste buttons on the ribbon, you will find them in the leftmost tab (the home tab), as is customary in the new Fluid GUI.
Tree Views
I have often mentioned tree configurations in these columns. Many of Aquarium’s advantages can be attributed to its extensive use of trees, which are positional databases as opposed to game databases. Aquarium 2010 has several new features that make tree configurations easier to define, maintain, and use.
A tree configuration allows you to view data from several trees at the same time. The tree window displays the tree configuration in columns, and each column is connected to a tree. Some of the columns may be connected to the same tree or they can all come from different trees. It all depends on how the tree configuration is defined.
While viewing a game, select the Tree tab and click Options. The currently selected tree configuration will be displayed (Annotations, in my example). The “Tree configurations” dialog box shown below defines which tree is behind each column in the tree window.
Tree configuration with the new Quick column
The first three columns are familiar from the previous Aquarium version. “Name” is the column heading displayed in the tree window. “Tree” shows the tree that is connected to the column, and “Visible” allows you to switch the display of the column on or off. If it is marked as visible, it will be displayed in the tree window.
The new Quick column gives users a faster and easier way to select the trees that are displayed in the configuration, as you will see in the Quick Load section below. A new button has been added to the Configuration group in the Tree tab, allowing users to quickly load any trees they wish into the configuration. The Quick check boxes are used to mark the columns that users are allowed to change with the Quick Load button.
Another new feature supports the Quick Load function and also makes it easier to define and maintain a tree view. In the image below, I right-clicked over the Tree cell of the Total% line and selected Link from the menu and then Total from the sub-menu.
Linking columns: Change one to update all
What happens here is that I create a link from the Total% column to the Total column. This means that if I change the tree displayed in the Total column, the Total% column will be automatically updated to show the data from the same tree. This is what the tree configuration will look like after I have linked all the statistics columns together.
Linked columns
I have linked the following columns to the Total column as shown by the “&t”: Total%, Success, Rating, and Year. This means that whenever I change the tree for Total (currently statistics\d2m), the linked columns will automatically show data from the same tree.
I have also made Total a quick load column, as seen by the check mark in the Quick cell. The next section shows how this enables users to quickly switch to a new tree for all the linked columns above.
Quick Load
Quick Load is a new feature in Aquarium 2010. It allows users to quickly select trees that are displayed in a tree configuration. I’ll continue with the example above, where the Annotations configuration was modified by linking all statistics columns and changing Total into a quick load column.
The Quick Load button is located in the Configuration group on the Tree tab as shown below.
Loading a new tree for all statistics columns
If you are viewing a game, using the Annotations configuration as modified above, the Quick Load button becomes active. When you click it, a menu showing recently used trees is displayed, with the current tree highlighted with a check mark. Since this is the first time we open the menu after defining a quick load column, only the current tree is displayed in the list. Normally, after switching a few times between trees, you will find the tree you want in this list. If it isn’t, select Browse from the menu and locate the tree you want to load into the configuration.
If there are more than one quick load columns in the configuration, you will see one item in the Quick Load menu for each such column as shown below.
Two quick load columns
Here we see a menu with two quick load options: N and succ. The image shows the sub-menu for N and we see that there is a check mark next to ctg \test.ctg. This means that currently the data is read from that opening book. I can use this menu to select another tree (or opening book) for this column (and linked columns, if any). The list contains other recently used opening books: Balanced-16.ctg and Storm IV.ctg. I could either select one of them from the list or click Browse and locate some other opening book I have stored on my computer.
The addition of this new feature to Aquarium gives the user an easy way to change the data that is shown in the tree window without modifying the underlying configuration. Each configuration becomes a framework that users can tailor to their own needs, without a great deal of knowledge about the inner workings of tree configurations.
Lock Tree
Normally, the same tree configuration is displayed in the tree window of all open games, both database games and the Sandbox. If you switch to a different tree configuration when viewing a game, the new configuration will also show up in all other games.
Aquarium 2010 allows you to lock the tree configuration for individual database games, so it doesn’t change while the game is open, regardless of the configurations selected for other games.
Locked tree configuration
Right-click the game in the sidebar and select “Lock Tree” from the menu. After that the tree configuration for the current game will not change while the game is open.
Tree Variables
Besides the mechanism around Quick Load, another nice feature has been added to tree configurations. Now, instead of pointing directly to a specific tree you can specify a variable. Let’s start by seeing how it works. After that it will be easier to understand the advantages.
Like most things related to tree configurations, the place to define a new variable is the “Tree configurations” dialog box, which is brought up by clicking the Options button on the Tree tab.
Defining a tree variable
First click the Variables button (1). The “Setup Variables” dialog box will be displayed. Type the variable name, preceded by a “*” into the text box labeled
(2) in the image. In this example, I call the variable “*MyTree.” When you click the Add button (3), the variable will be created and added to the list above the button. Finally, type the path of the tree into the field labeled (4) in the image and click the OK button. Now the variable can be used in any tree configuration.
Using a variable in a tree configuration
The image above shows how you can use the newly defined variable. Right-click over the tree where you want to use the variable. From the menu, select Variable and then pick the variable you want to use. In this case, I chose *MyTree, the variable that was defined above. After that the tree used for the Total column, will be the tree that the *MyTree variable points to.
You can use the same variable in as many tree configurations as you like. One of the advantages is that later on you can change the variable to point to a different tree and all the tree configurations using the variable will be automatically updated to display the new tree. If you hadn’t used a variable, you would need to go into each tree configuration and modify it manually.
Insert Best Line from Tree
You can add moves one by one from a tree to the notation simply by browsing the tree (either by clicking through the moves or by using the arrow keys), but Aquarium also allows you to transfer whole variations from the tree to the notation with the click of a button.
Let’s say that we have been analyzing the following position for a while with IDeA.

We can look at the current status of the analysis by browsing the tree within IdeA, or switch to the original game in the database or the Sandbox and browse the tree from there. A faster way to get an overview of the best variations found so far is to select a position in the notation and then press the F4 key on the keyboard. In response, Aquarium adds the best variations from the tree to the notation as shown below.
Best variations automatically inserted
The tree window shows that IDeA currently sees two moves with an equal score of +2.38: 1.Qg4 and 1.Qg3. Consequently, the best variations beginning with these two moves have been added to the notation. The notation window was empty, so all the moves you see were added by Aquarium.
You can repeat this process for any position in the tree in order to see the best variations starting from the selected position. Of course you can also use it to see the best responses to sub-optimal moves and build a complex set of variations.
In most cases this is all you need to know; e.g., for a tree created with IDeA, but if you prefer to use the mouse instead of the keyboard, you can click the “Best Line From Tree 1” button on the Tree tab instead.
Insert best variations from tree
Many users probably wondered why there is both a “Best Line From Tree 1” and a “Best Line From Tree 2” button. The reason is that a single tree view can be based on several trees. The tool button (highlighted in the image above) allows you to choose two of them and assign to these buttons. Clicking the tool button opens the “Tree insert options” dialog box.

Here you see two boxes, each with a list of the trees in the tree view that contain evaluations. I have highlighted the “Eval” tree in the “Tree 1” list. This means that when I click “Best Line From Tree 1” the inserted variations will be based on the evaluations in the “Eval” tree. Similarly, I have selected the “CAP” tree in the “Tree 2” list. If I click the “Best Line From Tree 2” button, I will get the best variations based on the evaluations in the “CAP” tree.
Conclusion
In this article we examined two sets of Aquarium features: Drag and drop game manipulation and using trees. The first of these showed intuitive ways of performing a function that is well-known in graphical user interfaces and is therefore easy to understand by most users. The second one is designed for more advanced users who want to get as much as possible out of Aquarium’s tree features. These two different sets of features well illustrate that the design of Aquarium provides an easy access to common functions that are sufficient for most users, while also providing more advanced features. Some of them are unique to Aquarium and cannot be found in any other chess software, so there is no quick way to get around the learning curve – but the time invested is worth it.