Wednesday, 1 January 2014


I have been experimenting with the free IOS 7 version Smallfish chess app on both the iPhone and the iPad, and it is time to give it a short review. Smallfish is a modified version of the Stockfish app, which uses the very strong Stockfish engine. The Smallfish gives a much more attractive and clearer board than the Stockfish. I use the SFAlpha pieces and the brown colour scheme:

Smallfish inherits the Stockfish position set up pane, which I find easier to use than that on the Shredder app. I find it very convenient to use Smallfish to analyse positions on my iPhone. This is partly because of the small size of the iPhone, and partly because I cannot lose my position by accidentally touching another part of the screen when setting up the position. I prefer the grey colour scheme on the iPad:

Smallfish provides a graph of the progress of the Stockfish engine's evaluation of the position throughout the game, which is very useful. It is fiddly to select a precise point on the graph by touching it, but the left and right arrows allow the graph to be traversed a move at a time. (The left and right arrows are not available on the iPhone, but left and right swipes can be used instead.) It is possible to enter your games in "Play Both" mode, and use the graph function to find your mistakes.

Smallfish does have one very serious bug. [This bug was fixed on 17/1/2014.] When the user's pawn reaches the eighth rank, it is automatically promoted to a queen. The original Stockfish app correctly allows the user to under promote. Smallfish does allow the engine to under promote, so analysis is not affected. A new version of Smallfish has recently been released, it uses the new Stockfish DD engine, but the under promotion bug has not been fixed.

The number of nodes per second given by Smallfish is implausibly high. The number given by the original Stockfish application looks about right.  The number given by Chessbase Online, which also uses Stockfish, is implausibly low.

Changing the mode (Play White / Play Black / Play Both) is well hidden in Game Mode in the Options menu. It is more visible in the original Stockfish app, but a separate Mode menu would be helpful.

The user interface of Smallfish is more attractive than that of Stockfish. It is particularly impressive on the iPhone. There are some possible improvements though. It would be better if the A-H and 1-8 on the iPad were a touch larger. The last move indication is a little too bold for my liking and cannot be switched off.

Smallfish provides a choice of rather frenetic time limits. I tried game in 30 minutes. I expected the computer to respond very quickly at the level that I had chosen, and was surprised to find two clocks set to 30 minutes. The computer used most of the time on its clock. This is fine if you want to practice thinking on your opponent's time, but was not what I wanted. I tried a five minute game and found that my time counted down to zero and then stopped. It did not go negative, so I had no way of knowing how much time I had actually used.

I played a game between my iPhone and the iPad, which both have the same processor. The iPhone had 30 minutes on the clock and the iPad 5 minutes. The iPhone won. Some attempt appears to have been made to adjust the difficulty according to the time on the clock. Nonetheless, I have not been able to find any convincing research into human playing strength versus time on the clock, so I do not have much confidence in the rating levels offered.

I tried a time limit of 30 seconds per move, moving at about 1 minute per move. The computer took 30 seconds per move and accumulated my time reliably. The best approach appears to be to set a small fixed time per move and find the appropriate level of difficulty by experiment.

Overall, this a useful app, but the under promotion bug needs to be fixed. There are some other improvements that could be made, and a user guide would be helpful.


  1. A new update has implemented the under-promotion bug.

  2. Thank you for letting me know. I have put a note in the text.