CHEF is a hypermedia engineering framework for the cultural heritage domain that fosters the idea of end-user development. It aims to provide cultural heritage experts with appropriate tools that will enable them to act as hypermedia designers, and deliver the final application on different platforms, essentially outsourcing development efforts to the domain expert.
CHEF brings together two well-established software engineering techniques: the use of metamodels (referred to as enterprise or application models), providing abstract environment-independent constructs to describe the application domain, and the use of reusable design patterns, providing tested, proven development paradigms.
The CHEF hypermedia metamodel provides three sets of constructs, addressing hypermedia content, navigation, and layout concerns. A default instantiation of the CHEF cultural model that satisfies the requirements of cultural heritage hypermedia applications is also provided. Using CHEF conceptual models, the design activity can be regarded as an instantiation of the metamodel or a customization of the cultural model.
On the other hand, CHEF patterns (navigation and presentation patterns) assist the definition of navigable information spaces for a variety of output devices (Web-enabled desktops, personal digital assistants (PDAs), and CD-ROMs).
The CHEF framework is completed by a set of software tools that allow its users to instantiate or customize the CHEF conceptual models, and reuse the provided patterns, in order to define and dynamically deliver hypermedia applications for specific contexts and output devices.
Although CHEF has been tried by two teams of domain experts, participating in the Mediterranean by Internet Access (MEDINA) research project, the efficiency of the CHEF framework (in terms of learning burden, product quality, and cost), and how it compares to other hypermedia building applications, still requires further testing.
Furthermore, CHEF does not address some hypermedia development concerns, such as the accommodation of different user views or security-related issues. However, it does seem to provide a powerful set of tools for noncomputer experts, assisting them in focusing on the logical (design) aspects of interactive applications, rather than low-level implementation details; this is a key issue when the active involvement of domain experts during the design process is sought.