(Adding to what you wrote.) Since you mention that it's not just for vocab, here's an extensive article on how to formulate knowledge in general that goes into a spaced repetition system. (There is also a summary at the bottom.) http://www.supermemo.com/articles/20rules.htm
It's part of a site for a closed-source client, but Anki[1] is a good open-source one.
It's part of a site for a closed-source client, but Anki[1] is a good open-source one.
[1] http://ankisrs.net/