1. A method for delivering context-based content to a first user, the method comprising: receiving a set of contextual information with respect to the first user; processing the contextual information to determine a context or an activity being performed by the first user; and determining whether either or both the context and a current activity of the first user satisfy a trigger condition which has been previously defined by the first user or a second user, and if so: selecting content associated with the trigger condition from a content database to present to the first user; and presenting the selected content.