The Alph Project logo and logotype

Alph is a free software project to develop tools and techniques for xanalogical hypertext on the World Wide Web.

We take Project Xanadu® as our inspiration to create a hypertext system for authors, artists, poets, professors, tinkers, thinkers, hackers, and slackers, that is built on Web standards but employs xanalogical structure to create a kind-of web-within-the-Web of deeply intertwingled electronic literature.


We're doing as much as we can with established standards and recommendations so that as little additional tooling needs to be developed as possible. Alph is simply an application of:



Alph.js/DocuplextronThe Alph.js Web Extension adds tools to a Web browser which facilitate the exploration and creation of xanalogical hypertexts.

The Docuplextron is a component of Alph.js which provides a 2.5D zoomable workspace for viewing Alph-style xanalogical Web pages as Nelson Documents.

Alph.pyA couple of Python scripts are all we use to extend a garden variety Web server installation into a simple personal media server. The aim is easy installation and maintenance: no databases, no modules, just drop-in the scripts, configure 'em, and go!


´Alph Simple Fragment Selectors The glue that holds a xanalogical system together is a consistent method for addressing discrete fragments of media resources. Unfortunately, the world of fragment selectors on the Web is a corpse-strewn wasteland of motley dreck; as such, we've decided to go with our own minimalist scheme.

<x-text> The essential thing we need for doing xanalogical documents in XML/HTML is a wrapper for Text nodes, which allows us to indicate a source for the enclosed text. In Alph, we're using an element called X-TEXT (for [x]analogical text)...

XPointersFor addressing fragments of XML/HTML documents in Alph, we use the element() and range() XPointer schemes. These are some notes about our implementation.

Alph Link Documents — Alph uses JSON-LD for link interchange; we have a small LD vocabulary and import/export a flattened graph document.


Developer Notes

2021 (current; last update 2021-11-22)

[older notes...]

Alph Status Update 2020-12-16

What a year.

If you lived through 2020 with the rest of us, then I don't need to elaborate.

If you've checked the tracker on GitLab[1] then you will of course have seen that there was no activity on the project between June of 2019 and December of 2020. Yikes! This isn't entirely true however, as I did work on documentation, specifications, and design a little during that time – just no code. [...cont'd]