Active Hypertext

The combination of cookies and scripting, in browsers capable of history navigation, opens up the potential for a more dynamic way of doing hypertext, in which an author develops a network of related ideas, expressing the parts of them as quite small pages, each ending by offering the reader a choice of where to go next, but with the links here being dynamic, tking into account what the reader has already seen. The site can use cookies to keep track of which parts of the whole the reader has seen, enabling scripts to adapt these links at the end of each page (and potentially any links in its body) to move the reader forward through the network of ideas.

The crucial idea is that the cookies enable the script to adapt each page to fit with what the reader has already seen. If I know you have already read my work on the redefinition of of the group in terms of cancellation and completion, a page which passingly exercises these concepts need not belabour the point. It might, however, link to where I explain that change (mostly) of perspective; which, in turn, would adapt itself to being a reminder rather than a first introduction to the ideas.

One complication to this would be the value of having the scripts pay attention to how long the reader spends on a page. A reader who follows a link to a page and promptly returns from it, or immediately follows another link out from it, should not be understood as having read it, although it may be worth remembering that they have seen it (and maybe weren't very interested in it). Likewise, what a reader read long ago is likely not as fresh in the mind as what the reader has just come from; cookies have an expiry-time, but that is too crude for this, it would be necessary to keep track not only of what the reader has read but also of how long ago. (That need not be to any greater precision than the minute, so JavaScript Date's millisecond precision is more than we need; and it would make sense for a cookie containing many time-stamps to have a base time-stamp relative to which all others are offsets in minutes; this will keep these others to small numbers, with few enough digits to not bloat the data payload of the cookies.) So the cookies's data on what the reader has seen would need also to track when they saw it.

Care must also be taken to ensure that readers can find the way back to what they read earlier. To this end I would take care to distinguish between history navigation (using the browser's Back button) and links as a way of arriving at a page (a trip back in history should get you to the page you saw when you were there, albeit now with some fresh cookies reconfiguring where some of its links, that you didn't follow, might point); and, among links, between the ones at the foot of the page, those in the body of the page and a third category, that I would put at the start of the page, of links to take you back through this topic's levels of development, ignoring some of the cookies that have been set since you got to them.

This would, of course, require significant work by authors to consider enough of the states in which a reader might come to a particular topic – and to write the diverse treatments of the topic, suited to each of those states. Yet this extra work would enable a more powerful way of developing ideas and presenting them to readers; let the author decide whether it is worth it.

As to privacy concerns, this could all be done in scripts within pages, so that the server need never actually process cookies at all; indeed, rather than cookies, the web storage that modern web standards provide for in the browser may be a better solution. I suppose what I have described in terms of cookies might be tidily encoded in JSON and stored locally instead.

Valid CSSValid HTML 5 Written by Eddy.