1. A method for making recommendations to a user, the method comprising: storing data relating to usage patterns of the user, wherein the data includes information as to items which were used and the context in which they were used, wherein context includes a situation in which the user and device were operating when the items were used; constructing a correlation table, wherein each axis of the correlation table has both items that can be recommended and contexts, both extracted from the usage patterns; and storing a correlation value between each item and each context in the correlation table, wherein the correlations are used to recommend one or more of the items.