I'm glad to see Piotr updating some of the older articles @ supermemo.com.

For those not familiar with Piotr or SuperMemo: it was the first spaced repetition software, based on his research many years ago. An early version of his spaced-repetition algorithm has been released to the wild, and is being used in some form in some free spaced-repetition software such as Mnemosyne and Anki.

SuperMemo is written in Delphi, and the latest version is 15 (released last year -- I was a beta tester). It is notoriously complex, and has a very very steep learning curve. However, you can in fact start using it very quickly if you stick to the basic interface mode (you can change modes from Beginner to Professional).
Before I started using it, I'd spent weeks reading the articles @ supermemo.com and I learned a lot (I highly recommend reading his articles).
Note: the reason the UI of SM15 is horrendous is because Piotr is the one developing it (he's also a die-hard user), and he doesn't seem to care much about the UI since it seems to do exactly what he needs it to do ;-).

One of the more interesting features that SuperMemo has that other spaced-repetition apps don't is something called "Incremental Reading" (http://supermemo.com/help/read.htm#What_is_incremental_readi...). It lets you import articles (say, from Wikipedia), and read them in chunks, while extracting parts of the articles you want to "remember" further and furhter, this is how it works:

1. You import an article using the import tool.

2. The article comes up every once in a while as part of your spaced-repetition routine. You read a part of it and you may extract a paragraph that you believe contains information that you want to learn/remember. This paragraph gets colored (so you know in the future which ones you've extracted). Once you're bored, you skip the article and move on to the next repetition element.

3. Both the article (as long as you haven't dismissed it) and the bits you have extracted may come up in your daily spaced-reptition routine. This way you get to process the article itself (extracting more chunks, as needed), and work on the extracted chunks until there is no more to extract.

4. Ideally you should be left with a bunch of sentences, as simple as possible which you will probably have to rewrite (he gives tips on how to do it here: http://supermemo.com/articles/20rules.htm). At this point you will reformulate sentences into Q & A form. SuperMemo lets you select a word and choose "extract cloze" or something like that, it will automatically add a Q & A item where the question is the sentence with the missing word, and you have to complete it.

I have to be honest, I have used SuperMemo in the past with great success, but now as a busy University student, I really have no time to reformulate knowledge so that it's in proper form, nor do I have time to actually do the repetitions every day as it requires a lot of self-discipline. One more thing that I dislike about SuperMemo is the fact that all data elements are in HTML (it's based on an IE browser control), so it is very limited when it comes to making clozes of mathematical expressions (I get around some of the problems by using TTH [http://hutchinson.belmont.ma.us/tth/]).

Note that they also have another company which releases a product called SuperMemo UX (http://www.supermemo.eu/supermemo_ux) which uses .NET and the SM15 algorithm, but it is not developed by Piotr himself (SM15 is). It looks like UX much less flexible, and probably mostly geared to learning vocabulary using the pre-made packages they sell on their website.