Chapter 5: Realizing a Metadata Framework 153 5.4.3 Preparing for the Future Application-specifi c metadata management has one particular advan- tage compared to centralized system-level metadata services. Since application-specifi c metadata management systems are designed solely for the application needs, they automatically take care of any new types of metadata that is needed, and they also support new ways of using this metadata. Dealing with previously unknown metadata on a system level is more challenging. With a system-wide framework, things are different. No matter how hard we try, we cannot defi ne every possible metadata attribute in the world. Obviously, we can forever try and be proactive, and anticipate all possible new metadata types there will ever exist, and ways to use them, at least until the next software release. However, probably most of these inventions will never be used, just overfi lling the framework instead. Therefore, our framework must be designed to be extensible – but without breaking old applications. It is even better if the old applications can use new metadata extensions automatically. Also, the extension process must be as easy as possible, without any central body to solve confl icts like using the same metadata attribute name for dif- ferent purposes. Our architecture fulfi ls these requirements, extending all metadata defi nitions and their semantics at runtime, without changing the exist- ing applications. Old applications may even, in many cases, use new extensions automatically. Suppose that an image gallery needs to list all images that the underlying operating system supports, perhaps with metadata fi elds such as location and title displayed under it. When a new image format (say, a 3D stereo image) is added, the new format will have its own metadata attributes specifi c to 3D stereo images. The old image gallery using our metadata framework can still fi nd all new stereo images, their location, and title metadata attributes without any changes in code. This is because 3D stereo images are more specialized than regular 2D images, and share many common attributes besides introducing new ones. However, the image gallery does not know anything about the new attributes or what they mean, and probably will not access them, as it is unaware of their existence. How this can be achieved is described later in section 5.7. Obviously, for every positive feature there is some cost to pay. One of the most signifi cant costs our framework has is due to its nature of being as fl exible as possible. In order to support every possible meta- data and application, it cannot be optimized for any single application. A single application using its own optimized metadata management
Personal Content Experience Page 176 Page 178