Developing Web-aware Hypermedia Applications with Hush

Anton Eliëns

Nowadays there is a wealth of technology availabe to develop applications that have hypermedia functionality and Web-access integrated. The hush hypermedia toolkit combines many of these technologies in a unified fashion. It allows beginners to develop state-of-the-art applications quickly, yet it does not limit experienced programmers who wish to make full use of the underlying technology.

The hush toolkit supports a multi-paradigm approach, allowing software developers to build applications out of components written in C++, the scripting language Tcl/Tk, the distributed logic programming language DLP as well as Java. Applications can be developed as stand-alone programs, distributed objects in a CORBA environment or as Netscape plugins.

This books presents a hands-on introduction to programming in hush, and provides a wealth of examples of hush applications, including games, (discrete) event simulations, process models, multimedia, and computer music programs. It also provides an introduction to the technologies on which it is based, including programming in Tcl/Tk, GUI programming in C++, knowledge-based programming in DLP, the construction of Web browser applets and the development of Netscape plugins. In addition, the basic concepts and patterns underlying the architecture of object-oriented frameworks as applied in the hush toolkit are explained in detail.

This book addresses software developers that employ GUI-related and Web-based technology in their daily practice. It provides students of Computer Science with a step-by-step introduction to the area of GUI programming in Tcl/Tk and C++ along with a toolkit that has been well-tested in class exercises. It provides teachers of Computer Science with material for practical courses. It is a source of information for software engineers developing large multi-paradigm software frameworks. And finally, it presents the interested reader a detailed account of the development of a toolkit that is rich in functionality and fun to use.

The toolkit is the result of a mixture of serious research in applications of object-oriented technology and exploratory development in the hypermedia domain, with some excursions to Computer Music. The development of the hush toolkit has been driven by the curiosity and excitement of students and research assistents at the Vrije Universiteit, collectively called the DejaVu team. The development of hush has also been motivated by the frustration that many of the available technologies were often much more difficult to use than expected. The hush toolkit combines the functionality of existing technologies with an original non-pedantic approach of which the Leitmotiv may be phrased as "easy to use for beginners, yet not limiting for the expert programmer."


About the Form:

The book will be available both in a paper version as well as on CDROM and on the Web. The CDROM and Web versions will give access to related material, including software, manuals, tutorials and articles. The source code of the toolkit and of the examples in the book will be available.

Note: The author will do the typesetting. Programming assistence financed by the Publisher is welcome.

About the Contents:

The book is based on the work done in the DejaVu project under supervision by the author. See references below. It will include material from tutorials written for the Practicum Software Engineering and Object-Oriented Programming. The hush toolkit has been in use for the past three years for the Practicum Software Engineering which is a CS2 level course with yearly approx. 100 students.

About the Author:

The author has previously written two books: The present book will use material from those books where appropriate.

Provisional Contents:


  Part I: Multi-paradigm software development
  
  1. Introduction -- multiparadigm software development
  2. A gentle introduction to Tcl/Tk and C++ GUI programming
  3. Crossing the logic barrier -- Distributed Logic Programming
  4. Additional tools and techniques for application development
  
  Part II: The hush hypermedia framework
  
  5. Basic concepts and patterns underlying hush
  6. Connecting to the Web
  7. Simulation and process modeling
  8. Computer music support
  
  Part III: Applications with hush
  
  9. Games and other serious business
  10. IDA - an interior design assistant
  11. Distributed applications with CORBA
  12. Netscape plugin applications
  
  References
  
  Appendix:
  
  A System configuration for Solaris
  B Resources
  
References articles: Hush -- a C++ API for Tcl/Tk, Technology, Tools and Applications, April 10-14, 1995, Darmstadt Bradford, 17-18 April 1996, Britisch Computer Society The Web revolution, World Wide Web Journal, O'Reilly and Assoc., Inc., pp. 309-314, Also at www.w3.org/pub/Conferences/WWW4/Papers/143/ Also at www.cs.vu.nl/~martijn/chatting.html