Ted Nelson's Computer Paradigm Expressed as One-Liners (1999)
hyperland.com
hyperland.com
> What people call an “intuitive interface” is generally one which becomes obvious as soon as it is demonstrated. But before the demo there was no intuition of what it would be like. Therefore the real first sense of “intuitive” is retroactively obvious.
Programming languages often tout their “intuitive” this or that—syntax, semantics, whatever. It’s all crap written by a well-meaning designer who’s gotten so deep in their design that they can’t see how “obvious to me” does not mean “obvious to any equally intelligent person”.
Consider the kinds of interfaces which actually are intuitive, say, well-designed radio or temperature controls in a car. They afford experimentation, provide instant feedback, and need little to no labelling.
That’s how I think programming ought to be, at least at a beginner level. A text-based programming language is a great tool for power users, but it’s totally unapproachable for a new user because they don’t know the shibboleth. A blank slate is not friendly; in the rare event that the fledgling has a specific problem in mind already (“I want to make Mario!”) then they almost certainly don’t know even the most general form of what their solution would look like. Your beautiful, informative, 400-page manual does not make your language intuitive, just usable.
The end goal of my current language project—which is textual—is to serve as a basis for that kind of interface. If the system is designed from the beginning to support experimentation and play, and there is a 1:1 mapping to the “real thing” to avoid the disparity of “beginner mode” and “advanced mode”, then I think that would open up programming to a lot of people.
Essentially the opposite of COBOL: don’t try to make a system “easy for non-programmers”. Try to make a system that helps people become programmers so that they can realise their visions of games, applications, art pieces, and beyond.
He has a lot of ideas. They inspire people. He's been working on them for ages. (Xanadu was started in 1960.) But he never is satisfied, he's always changing it, he never releases (OK, an incomplete form of Xanadu was released in 1998...), and the key parts that people care about have been released elsewhere in a form that he doesn't like.
They didn't do the basic end to end work, so creating a client to display a Xanadu document was almost impossibly onerous. You had to grok and use around 6 different things, and, well, however nice the backend might be, it just wasn't practical.
Also an example of the perils of stealth mode, I found the above believable simply because they'd been in stealth mode for decades.
Ted Nelson futzed around and, mostly after the fact, other people discovered that the web was kinda sorta really close to Xanadu, but that it would be really awesome if it had been designed with that vision in mind.
Whereas Alan Kay followed through on predicting the future by inventing it.
I'm still astonished that, even with the backing of Autodesk, we don't even have transclusion as part of the web.
Genius.
The Unix model is a mess, the WOSA is a mess, personal computing hardware is a stack of hacks, programming environments are a poorly integrated mess, software 'engineering' is still back in the age of siege engineering rather than modern engineering discipline, and emacs still takes ages to boot.
Computers are marvelous productivity and life-enhancement tools, but following the easy path has led to stagnation in the mainstream.
I wonder though, is reckless advancement better than taking time to do it right? A lot of people are finding success with the fail-and-iterate model -- isn't that essentially what we've identified as a problem now?
There's a good reason for this, which is backwards compatibility, in terms of concepts, education, maintaining a skilled workforce, and retaining the value of prior investments in hardware and software.
Nelson's writings have a different sensibility from the mainstream of both his fellow computing pioneers of the 1970s and the hackers of today. An example of his thinking from before even UNIX was a household name is that Nelson decried hierarchy as a form of organization for data (e.g., in a computer's file system), instead emphasizing association [2], which he thought closer to how humans actually organize knowledge. He also argued that instead of dialogue-based computer instruction that was taking off at the time the best method to use a computer for learning would be to "motivate the user and let him loose in a wonderful place", that place being a hypertext knowledge base (see [1], p. 313).
It is disappointing that in spite of Nelson's books being incredibly influential (to the point where they were reprinted by Microsoft Press because of the company's fondness for the author) most of his ideas never saw a complete implementation in a popular product. I'd love to read a doctoral thesis/book on the history of Project Xanadu -- a hypertext Web project started in 1960 that was supposed to have content transclusion and microtransactions (!) -- with an in-depth analysis of the factors that led it to where it is now (i.e., still unfinished today). (Gary Wolf's article "The Curse of Xanadu" [3] is the closest we have to that but it has multiple problems, to the point where Nelson has published a refutation [4].)
Today Ted Nelson's background in art (the man has, among other things, a claim to writing the world's first rock musical [5]) and fondness for pure performance (which is what I believe his recent video "I Think I Know Who Satoshi Is" [6] to be) may be a factor that limits the appeal of his message to most "techies" (his term), preventing them from more deeply investigating his message.
[1] http://www.newmediareader.com/book_samples/nmr-21-nelson.pdf
[2] Nelson's alternative to the file hierarchy was associative "metadata" a-la the MEMEX (https://en.wikipedia.org/wiki/MEMEX#Associative_trails). With WinFS canned I'm still waiting for someone to implement something even close to that.
[3] http://www.wired.com/wired/archive/3.06/xanadu.html
[4] http://xanadu.com.au/ararat
[5] http://people.oii.ox.ac.uk/dutton/2007/12/10/the-first-rock-...
Nelson spent a lot of time refining many ideas that were not really viable before the availability of computers. Given the timeframe (growing up under the shadow of the Military Industrial Complex and then maturing during the Cold War/proxy wars) he hit a very ripe time for populist activists.
I do think Nelson is one of the most influential thinkers regarding information science, but not as much as he desperately reminds people that he was. I also do not think his limitation is his inability to program computers, as he had a number of well-funded people helping at different times.
I suspect that, if you were to sit down and force rank the 50 most important thinkers of the 20th century, you'd have to exclude Nelson. Had he realized his ideas in a timely fashion, or inspired anyone to realize and exceed his visions, then his place would be secured.
However, I think much of what he created, other than the specifics of a great potential implementation, would be classified as simultaneous invention. Semantic networks existed before hypertext and it's a pretty nominal step from there to the basics of hypermedia. The Mother of All Demos is probably the best example of his contemporaries realizing their ideas.
What he does have is charisma and an ability to communicate his ideas. He gets people fired up about his dreams of a better world, and yet it has not come to pass. No one has been inspired enough to implement Xanadu. It's appropriately named. It's an interrupted dream that is incomplete.
I suppose Nelson deserves some credit for being a visionary, but there are two definitions for visionary in the dictionary: (1) A person with unusual powers of foresight; (2) A person given to fanciful speculations and enthusiasms with little regard for what is actually possible.
Nelson is obviously much more the second than the first.
He's no more visionary than at least a thousand other people who ACTUALLY DID STUFF.
Some really smart individuals, like Nelson, get lost in their own private jungles. Here's an example of what I mean. Nelson inserted a note in this document in 2012 wherein he points to the rise of XPointer and XPath as validating something he said back in 1999. XPointer and XPath?! XPointer and XPath have had barely any impact on anything that's happened in computing since 1999.
Nelson is apparently in such a deep fog of irrelevance that he somehow perceives XPointer and XPath as being important in some way? It's bizarre. I think it illustrates why he never managed to accomplish anything or make any actual contributions beyond his "visionary" grenade-throwing.
Doesn't change the fact that he hasn't been very successful at turning his ideas into anything actually useful to people, and doesn't change the fact that he shits all over the amazing accomplishments of thousands of other people who have.