I want to tell you about an application I have recently released in the Iphone app market: it is called Chess Trainer.
The principle is simple: random problems adapted to your strength are displayed and you have to solve them in a limited amount of time. In the end, your Elo is updated according to your performance.
Also, some additional position packs are also available, giving you the opportunity to focus your training on a particular area, such as openings, middlegames or endgames.
Here are some screenshots:

a video
the website
I will regularly check the answers to this post and therefore will be happy to answer any comment or question you may have : )
have fun!