A method for presenting, on a mobile computing device, at least one presentation in association with a real-world object in an environment, the method comprising: discovering, by a mobile computing device via communication with a second computing device, a set of data objects associated with objects present in an environment, each data object in the set supporting at least one presentation of a respective real-world object present in the environment; choosing a data object from the set of discovered data objects; choosing at least one presentation included in the chosen data object including: requesting, from the second computing device, a set of supported attributes of the chosen data object, each attribute associated with at least one presentation of the chosen data object; receiving, from the second computing device, the set of supported attributes of the chosen data object; determining, based on the set of supported attributes of the chosen data object received from the second computing device, a set of presentations of the chosen data object that are of interest to the mobile computing device; requesting, from the second computing device, the set of presentations of the chosen data object that are of interest to the mobile computing device; and receiving the set of presentations of interest from the second computing device; and presenting, on the mobile computing device, the chosen presentation of a respective object present in the environment. discovering, by a mobile computing device via communication with a second computing device, a set of data objects associated with objects present in an environment, each data object in the set supporting at least one presentation of a respective real-world object present in the environment; choosing a data object from the set of discovered data objects; choosing at least one presentation included in the chosen data object including: requesting, from the second computing device, a set of supported attributes of the chosen data object, each attribute associated with at least one presentation of the chosen data object; receiving, from the second computing device, the set of supported attributes of the chosen data object; determining, based on the set of supported attributes of the chosen data object received from the second computing device, a set of presentations of the chosen data object that are of interest to the mobile computing device; requesting, from the second computing device, the set of presentations of the chosen data object that are of interest to the mobile computing device; and receiving the set of presentations of interest from the second computing device; and requesting, from the second computing device, a set of supported attributes of the chosen data object, each attribute associated with at least one presentation of the chosen data object; receiving, from the second computing device, the set of supported attributes of the chosen data object; determining, based on the set of supported attributes of the chosen data object received from the second computing device, a set of presentations of the chosen data object that are of interest to the mobile computing device; requesting, from the second computing device, the set of presentations of the chosen data object that are of interest to the mobile computing device; and receiving the set of presentations of interest from the second computing device; and presenting, on the mobile computing device, the chosen presentation of a respective object present in the environment.