Developing Hypermedia Applications With Mozilla

Full-day tutorial

Participants will gain an understanding of how to develop and deploy hypermedia systems with the Mozilla.org technology suite. Using Mozilla for hypermedia systems enables maximum platform coverage and provides extensive support for standards-based technology including CSS, DOM, RDF, XML, RSS, and XPATH. In addition to covering the use of standards-based technology, the session will explore the XUL user interface toolkit, event monitoring, extending Mozilla Mail, interfacing with history and bookmark RDF, and XPCOM. Learn how the Mozilla.org community works and get a head start on developing hypermedia applications. The session will feature a wide array of examples from prior Hypertext work and we hope for lively discussion on the next generation of annotation, navigation support, and other hypertext systems.

An understanding of the Mozilla technology will be crafted through the exploration of a robust object-oriented event listening API. This demo will illustrate the process of extending Mozilla, interacting between languages, manipulating the DOM, and observing history. The afernoon will include examples of using the HTML Editor, extending Mail, and embedding SVG in scriptable objects with XBL as well as exploring scenarios and opportunities for hypermedia, collaboration, and browsing applications.

Format

Fifty percent lecture, 30% walkthrough, and 20% technical demonstrations designed to facilitate hands-on experience for the self-equipped. Participants will receive a CD with Mozilla software, code samples, and tutorial content.

Morning

An introduction to Mozilla technology focused around Web Standards: CSS, DOM, SOAP, XML, XPATH, SVG, and RDF. The tutorial will look at both how these technologies are used inside Mozilla and how to use the advanced features of Mozilla to develop better standards-based code. In addition, Mozilla specific features for interfacing between scripting languages (XPCOM), the XML-based language XUL, and a method for adding new tags and behaviors (XBL) will be explored.

Standards in
  • RDF
  • DOM & XML/XHTML
  • SVG
  • CSS2 & CSS3
  • Javascript
Mozilla Technologies
  • Bookmarks & History (inside Mozilla)
  • DOM Inspector (outside and inside Mozilla)
  • Compound Documents (inside Mozilla)
  • CSS Live Editing (outside Mozilla)
  • Javascript Debugger (inside and outside Mozilla)
  • XPCOM Fundamentals (in Mozilla)

Afternoon

An understanding of the Mozilla technology will be crafted through the exploration of a robust object-oriented event listening API. This demo will illustrate the process of extending Mozilla, interacting between languages, manipulating the DOM, and observing history. The afernoon will include examples of using the HTML Editor, extending Mail, and embedding SVG in scriptable objects with XBL and explore scenarios and opportunities for hypermedia, collaboration, and browsing applications.

Diagrams

This diagram shows how standards based technology are re-used in the Mozilla user interface. XPFE is the Mozilla UI toolkit and XUL is the xml-based language that is used to implement the Mozilla interface:
Venn diagrams of DHTML and XPFE showing how parts overlap.  DHTML is an interaction with HTML, Javascript, and CSS.  XPFE is the same, except that instead of HTML XUL is used.
Image courtesy of "Developing Applications with Mozilla", O'Reilly 2003

About The Presenters

Andy Edmonds has extensive experience teaching technology as a Macromedia certified instructor and is concluding his MS in Human Factors this summer at Clemson. He is the founder of two of the most popular add-on projects for Mozilla, optimoz gestures and the mozilla Google bar. His company, Uzilla LLC, offers tools for user-centered design based upon Mozilla. Andy will be joined by guest speakers heavily involved in the underlying Mozilla architecture:

  • Myk Melez will give a case study of extending Mozilla Mail.
  • Christopher A. Caillon is tentatively scheduled to speak about XPCOM, the DOM, and the DOM Inspector.
  • Other
    The course will draw heavily from the Open Publication Licensed Developing Applications with Mozilla from O'Reilly as well as materials contributed by former senior member of Netscape Technical Documentation Ian Oescheger and Andy's extensive codebase from 3 years of extending Mozilla. A featured application will be the Obzerver module created by Craig Soules for his dissertation on semantic file systems.