WebCHM is an ongoing effort to implement the CHM specification. A first version of the proposed framework has been proposed, and further developments are underway. We describe in the next paragraphs the technological choices used to develop the framework libraries.
CHM specification is implemented through a declarative language as an extension above the HTML language. This permits authors to create a high-level description that explains what should happen rather than how the effect is to be achieved, as promoted by the W3C language standards for complex document manipulations, which ensures document readability, reusability, maintenance and accessibility.
We mainly make use of the HTML5 <video> element to embed video in webpages natively. Our implementation however makes uses of plugins when the user browser can not display the audiovisual content natively.
The time-independent nature of the current Web that hampers a wider use of timed content motivates many efforts towards defining synchronization mechanisms for the Web. SMIL allows great complexity and sophistication in time-based scheduling of multimedia components and documents. SMIL Timesheets is an interesting addition to SMIL 3.0 that makes SMIL 3.0 timing and synchronization available in other XML-based markup languages, including a-temporal ones such as HTML.
HTML+TIME was the attempt from Microsoft, Compaq/DEC and Macromedia to integrate SMIL semantics with HTML and CSS. The proposed specification was modified by W3C working groups and emerged as the W3C XHTML+SMIL. Nevertheless, the proposed solutions have not been followed by concrete implementation at a large scale and thus, there is no established standard way to add temporal behavior to Web-based multimedia documents. Although HTML5 multimedia elements implicitly define a temporal scope for media objects, the specification provides a very restricted scope of time that only applies to media and captions and not to the document.
Support for temporal behavior in structured documents leads to such documents gaining temporal semantics. The development of a Web-based hypervideo tools needs these semantics; however, as the Web is a-temporal, alternatives to add time to the rendered content are needed.
A CHM hypervideo document is published using the WebCHM syntax with any HTML editor. The generation of the presentation uses a set of libraries that instantiate the modules of the rendering engine. The figure summarizes the design stages of hypervideo, distinguishing three main phases:
We aim to enhance the syntax support by providing a DOM Application Programming Interface rather than libraries that perform content transformation. The authoring process may be eased by a graphic user interface (GUI) environment; this is one of the future development stages. We also want to rely on cognitive theories to propose more meaningful rendering libraries. The interaction possibilities can be enriched by more advanced features like offering additional mechanisms to end-users, readers, annotations.