Practice works well, once you've had both theory, and examples. For the theory on tactical elements, many sources work well. If you feel you know and can recognize all of the basic tactical elements, such as the x-ray, double attack, discovered check, and such, then I would recommend a collection of tactics, organized by theme.
The best ones I know of are available in software, because you can go through them so quickly, and repeat the ones you have trouble with, without having to set up the pieces every time.
I like the CD CT Art 3.0 (self-contained with a reader program plus an analysis engine from Convekta Software), but many of the tactics problems are pretty hard. An easier starting point is Ivashenko's CD 'Tactics for beginners'. The most thorough collection may be Georg Renko's "Intensive Chess Tactics Course" (in Chessbase format, with a free Chessbase reader (also downloadable at chessbase.com). It has 4,226 problems, in 32 direct and 14 indirect tactical categories.
Using a collection like this _by theme_ provides you the EXAMPLE portion of your study. You can just read through the solutions to build up your recognition of the patterns.
Once you've become familiar with the patterns, you need to be more experienced in recognizing the patterns when you see them, and applying them. You can go through the same problems, or you can pick up a randomly-organized tactics collection.
For short money, I like Fred Reinfeld's 1001 Winning Chess Tactics and Combinations (which you can get for under $10, e.g. on Amazon at
http://tinyurl.com/2oa5ab (I made this URL smaller for convenience).) For the big money, I love Lazslo Polgar's "5334 Chess Problems, Combinations and Games", (
http://tinyurl.com/37dopm) though there are many others available.
Practice Attacking: One of the classics in attack is Vukovic's "The Art of Attack in Chess", with its compendium of common mating positions. Attacking is fun, and you need the theory if you don't have it.
Finally, to improve your vision, I would recommend two activities:
1. Practice tactical vision.
1a. Find your actual depth of vision by keeping track of how well you can visualize the final position when reading through problem solutions. For this, each move of each side counts as 1 "ply". So, one move by White and a reply by Black is 2 "ply".
You should be able to identify where all the pieces that have moved or been captured are located (or are missing) at the end of the sequence.
You can say that your vision is 6 ply deep (3 moves each) if you can reliably (with almost no exceptions) recreate the final position on the board in your head. Test yourself (if you're not sure) by using two boards; one with the starting position, and one for you to set up the final position. This step is actually cheating a bit, because you get to handle the pieces, and the laws of physics prevent you from a) having 2 pieces on the same square, and b) having extra pieces when you know one is captured and count it as won/lost material, but also forget to remove it from its square, and c) allow you to recognize incorrect elements of the final position as you set it up that reveal you've made a visualization error. Of course, these don't happen when you do it without a second board, so the latter is harder.
1b. Once you know that you can see 6 ply, but not 7 very well, then look for problems that have solutions with 7 ply, and just play through the solution in your head, trying to visualize the final position again.
A new book that I've just learned about is organized this way - the problems are grouped by tactical category, and then by sequence length. You get the initial position and the move sequence to visualize. You must then determine the final material balance. The solution gives the final position (this is unusual as well), so you can check your mental picture of the position readily. The book's available at the URL
http://www.chessvisualization.com.
2. Play through at least the first 5 moves (10 ply) of a variety of different games in your head. Choose games with openings that you don't normally play, to make the positions unfamiliar, and the work harder. Check with a board only when you're confident you got it right, to make sure. Once you can do that, go 6 moves deep, and so on.
3. Practice recognizing attributes of the squares on the board from their coordinates by asking yourself simple questions about them. E.g. "Is c5 a light square, or a dark one?" and "Are d4 and f7 on the same diagonal?" You can find a web site that offers this kind of training at
http://chesseye.alexander-fleischer.de/o/#.
4. Do _endgames_. The value of endgames in visualization is that there's less clutter, but you have long but fairly simple sequences (usually), so your chess vision capability is stretched. Plus, you'll greatly appreciate the tactical power of the pieces alone and in concert much faster and more easily than in middlegame or opening positions. Finally, you'll be better at endgames than opponents in your rating class (this I can guarantee), so you'll win more games.
Of course, ChessTempo is valuable to test your progress, once Theory and Example have been dealt with.
Oh, and it's useful to know when to look for tactics, and when not to. Angrypirate mentioned looking for your opponent's threat, but that's only part of the overall effort. You need to know how to figure out what kind of thinking is needed. For that, I recommend Andrew Soltis' "How to Choose a Chess Move", which deals with all kinds of chess thinking, especially tactics, but also when other considerations make senes.
There's also a Chess Improvement group at Yahoo, at
http://games.groups.yahoo.com/group/Chess_Improvement.
You can join for free, and get a digest of the posts. Some of the posts are like yours; you'll have a friendly community to help you.
Hope this is helpful.
