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 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.
I should note that even in its incomplete state I am a heavy user of the Docuplextron (I never think of it as Alph.js, that's just the GitLab project name). In my work as an illustrator, I use Docuplextron workspaces to arrange all of my photo references, and in my day-to-day life I use it to write notes, draft essays, pin-up interesting images, and so-on. I find it extremely useful – so I am personally invested in its continued development.
In June of 2019 the old IFRAME/postMessage() system was replaced with Shadow DOM in Alph.js. This does introduce some new challenges (namespace/path/domain issues mostly) but it makes programming the Nelson-document workspace so much simpler that it is well worth the trade-off.
In the past two weeks I've made a smattering of fixes and improvements on Alph.js, gearing my brain up for the impending retooling of the linking system. This is my highest priority at the moment, and I've been going through some of the linking code tonight to reacquaint myself with what already exists, find parts that can be adapted, and determine
what needs to be drawn-up from scratch.
After linking, I want to take a look at the way HTML editing works in the Docuplextron again. I've been looking at an old coding project of mine (the PROTODOCUPLEXTRON, believe it or not) and the rich-text editing is so fast and easy in it – it makes me wish it were so in Alph.js as well. When Ted and I were working on Hyperama in 2017 (Hyperama was to be a stripped-down/retooled version of the Docuplextron that loaded in a Web page and was used exclusively for plain-text editing; no transclusions, no links, etc.) I became entirely focused on plain-text composition and in the process degraded the rich-text editing capabilities of the system. While plain-text is still crucially important as a transclusible flat media source, I DO think we can make the Docuplextron a more capable rich-text editor that exports lovely plain-text with rich-text document markup alongside.
There are also a number of resource import/export features and fixes to be made, and of course Alph.py, the server-side stuff, which has been more-or-less untouched since 2017, needs to be updated and integrated with the Docuplextron once linking is ironed-out in the latter.
At that point, I'll have what I would consider a working system. Much aesthetic improvement will be needed from there, and a lot of usability/workflow testing and tweaking, but the ground will have been laid finally.
Before all of that happens, in the very near term, I would like to make a few more demonstration videos because I think they're probably the best way to communicate the intent of this project. For the uninitiated, transclusion, visible linking, and xanalogical structure are probably more easily seen than described. Also, the process of trying to make a demo always end-up exposing forgotten or unknown bugs and feature-fails, which is beneficial to my development efforts.
2. As Ted would say: parallel pages, visibly connected. "Nelson document" is a term proposed by Jason Scott for hypertexts with this kind of presentation, which is exactly what I'm going for with the Docuplextron.