There are still being published printed books with diagrams showing tactical puzzles to solve on one's own and then look up the solutions on another page. The drawbacks of tactics books are serious making it hard to benefit from this learning practice: (1) it is hard to find the right level of difficulty, (2) it is hard to verify the correctness of one's solution, (3) it is very hard to organize a review routine.
In this article I am going to recommend a practical solution to these problems based on the tactics training section of ChessTempo.com, which is a multipurpose chess training website. A large database of human chess games has been scanned for tactical shots with a chess engine to produce a variety of tactical puzzles at each level of difficulty and covering the natural diversity and complexity of the game as it is really played and not as conceived by some author writing about tactics.
The right level of difficulty is guaranteed through assigning rating to both users and individual problems by analogy to the rating system based on playing games: the user gains or loses rating points depending on whether the problem was solved correctly or failed and the problem's rating is adjusted accordingly gaining points for each failure and losing points for each correct solution. Since thousands of problems are made available to a large group of users of all strengths it is actually possible to assign a reasonable rating to each problem that reflects its objective difficulty based on real-life statistics. Similarly, the tactical ability of each user is measured quite reliably.
Verifying the correctness of one's solution is easy for problems whose solution is a forced line rather than a tree of variations with essential tactical points on each branch. The user is prompted to play against just one line of defense and the success is determined based on this one line rather than making the user play out all the essential lines that make up the correct solution. It is left to the user to perform a postmortem analysis aided by (1) computer analysis lines for top four moves at each node of the given solution, (2) comments made by other users, (3) an interactive analysis board, (4) the option to start engine analysis and (5) to play against an engine.
A review routine is easy to set up because returning to failed problems can be made automatic. The system will decide which problem is scheduled for review on which particular day based on an algorithm developed by the Polish company SuperMemo. The burden of consciously going through accumulated failed problems is removed and the time interval in days between the next time a problem shows up for review is made longer with each successful attempt so that the focus is always on recently failed problems.
There are three official training modes: Standard, Blitz, Mixed. The difference between Standard and Blitz is that Blitz takes into account the time taken to solve the problem so that you may lose rating points for a correct solution that has taken considerably more time than the average. The Standard mode is by far the most popular choice but it is far from the natural experience of playing under time constraint in a real game. In my opinion the Blitz mode is much more valuable as a practical training exercise. Both Standard and Blitz have only problems where the task is to find a winning move. The Mixed mode, however, contains also problems where the task is to find the only saving move and the user never knows which kind of problem is on the board making the Mixed mode closer to the experience of playing a game. Solve time is taken into account in the Mixed mode but not as severely as in Blitz so that it is a rather slow experience similar to playing classical chess. Each official training mode has its own rating system so that a problem may have a low Standard rating but a very high Blitz rating showing that it is tricky under time constraint but easy to unravel given enough time.
It is also possible to restrict the set of problems according to various criteria. For example, one can focus on problems taken from miniature games starting with a particular opening line or simply focus on problems ending in forced mate in a given number of moves. A separate review routine can be set up for each custom set or the problems may be served at random or in order of increasing difficulty. The training is offered at all levels from zero beginner to master. There are problems with easy mates in one or two and trivial captures of hanging pieces or simple forks winning material for the beginners and very complex tactical situations including positions from top-level grandmaster games where the players have missed the tactics.
Keeping track of one's progress is essential. Beside the current rating in the three official modes and the separate ratings for each user-defined problem set the system also offers two independent estimates of the user's classical chess FIDE rating based on the Standard and the Blitz mode. One can also see one's rank on the list of all active users as an alternative measure of progress. The interface is user-friendly and can be configured in many different ways. For example, the board may be flipped so that the side to move is shown at the top of the board to practice thinking from the opponent's perspective. There is also a Mobile interface.
Coaches may design their own problem sets and assign them to their students, keeping track of performance statistics. Individial problems may be embedded as puzzles on web pages or simply bookmarked with hyperlinks.