1. A computerized method for searching for objects comprising the steps of: (a) assigning a plurality of Attributes to each of a plurality of objects in a collection; (b) assigning each of the Attributes to a Kind; (c) receiving a search query including at least one Attribute specified by a user; (d) displaying a list of Kinds associated with Attributes specified by the user if a number of objects having Attributes specified by the user is greater than a predetermined object list length; (e) receiving a specification of a Kind from the list of Kinds displayed in the previous step from the user; (f) displaying a list of Attributes assigned to the Kind specified by the user; (g) repeating steps (d)-(f) until the number of objects having Attributes specified by the user is less than the predetermined object list length; and (h) displaying a list of objects having Attributes specified by the user.