Introduction
HyperTalk (Hypertext in Smalltalk) is an object-oriented framework[ralph's paper on framework] for writing the runtime and within-component layer portion of a hypertext system and linking them to the storage layer of the Dexter Model[dexter first paper].
The design of HyperTalk achieves the following:
- Uses an object-oriented representation of hypertext documents that is flexible enough to represent text and graphics in a word processor.
- Decouples the structure of the hypertext document from its visual representations. This makes it possible to have two different views on the same document with different rendering effects.
- Can access the structural component from its visual representations.
- Makes it possible to link a hypertext application to other external objects. For example, a web browser can be linked to an english dictionary so that after a user clicks a word on the web browser, the view of the english dictionary displays the definition of that word.
- Makes it possible to retrieve different types of links from the same user's action. For example, if a user clicks on an anchor of a HTML document, both the URL and the word the user has clicked can be used as the link at the same time.
- Makes it possible to change the number of types of links retrieved dynamically. For example, two types of links, such as URL and spelling of a word, may be retrieved at the start of the program, and then only the URL is retrieved after a while.
- Makes it possible to retrieve links based on different user's actions. For example, a drag can be used to retrieve a link, and so can a Click. Again, they can be changed dynamically.
NetFish is a Web browser built on top of HyperTalk. It is neither the fastest nor the web browser with the most features but it is probably the most extensible. Anyone with VisualWorks 2.0 can modify NetFish as they like. If you don't like the GUI, you can change it with the Canvas Tool. If you want to add more menu options, you can add it through the Menu Editor. More importantly, if you find bugs, you don't need to wait for the next release of NetFish, you can correct it by yourself!