Hi,
Zeeshan is proposing a new table to store user preferences: http://zixan.info/2009/06/04/gsoc-week-two-progress/#comments
Michal answers in the blog that this does not scale. When looking at Zeeshan's proposal, I had the same idea for a moment. However, after some researches, I am tempted to reject Michal's proposal.
Michal's proposed solution (a table with key values) is also called the EAV (entity-attribute-value) model. http://en.wikipedia.org/wiki/Entity-attribute-value_model#Downsides
This is advocated as a design flaw by some experts, see the comments here: http://www.devshed.com/showblog/22280/Database-Design-Using-KeyValue-Tables/
http://decipherinfosys.wordpress.com/2007/01/29/name-value-pair-design/
Marc