Designers of consumer products usually try to address as wide a range of user needs as possible. Due to various design constraints, such as product size and a limited interface mechanism, only a portion of those needs can typically be supported. Furthermore, products are generally designed only to assist the user in terms of the product s features, or based on the last action the user performed with the product. This paper considers efforts to support the design of everyday consumer products which can collaborate with the user in terms of meeting the user s task goals. Additionally, some of the implications of embedding such capabilities in a consumer product are discussed.