Read some comments at the end of this article about "fine-grained treats" where it says: The best example I can think of is Quicken - Enter a little bit of data and the application gives you more information than you thought you could use. What happens next is that you start entering more data, and Quicken gives you more treats. What makes it work for me is the initial ease for a user to begin using the application. http://headrush.typepad.com/creating_passionate_users/2005/05/finegrained_tre.html It struck me that this has much in common with Rails and Ruby development. For example, define <=> and you get ==, >, and < for free, or you scaffold :something, and you get list, add, edit and templates for free. Any other ideas for putting "treats" in Ruby software? Douglas