[HN Gopher] Project Xanadu ___________________________________________________________________ Project Xanadu Author : alokrai Score : 55 points Date : 2021-02-21 18:54 UTC (4 hours ago) (HTM) web link (en.wikipedia.org) (TXT) w3m dump (en.wikipedia.org) | mimixco wrote: | Getting to Xanadu: https://mimix.io/en/blog/xanadu | kristopolous wrote: | There's no GitHub because Ted doesn't believe in open source. | | He's not on board with open systems at all | | We don't talk anymore because of that disagreement. I tried to | convince him to blow the thing open and tried to explain how | that's how projects get accelerated. Nope, not happening. | DonHopkins wrote: | I wrote about this on HN a few years ago, and Dave Winer's | Userland Frontier discussion group a couple decades ago, | after Xanadu released some open source code, which was | actually the output of a Smalltalk=>C++ transpiler. (That | code was actually from a team Autodesk, not directed by Ted | Nelson -- see his reply below.) | | https://news.ycombinator.com/item?id=16224154 | | I think his biggest problem is that he refuses to collaborate | with other people, or build on top of current technology. | He's had a lot of great important inspirational ideas, but | his implementation of those ideas didn't go anywhere, he's | angry and bitter, and he hasn't bothered re-implementing them | with any of the "inferior technologies" that he rejects. | | Back in 1999, project Xanadu released their source code as | open source. It was a classic example of "open sourcing" | something that was never going to ship otherwise, and that | nobody could actually use or improve, just to get some | attention ("open source" was a huge fad at the time). | | http://www.theregister.co.uk/1999/08/27/web_precursor_xanadu. | .. | | >Register believe it or not factoid: Nelson's book Computer | Lib was at one point published by Microsoft Press. Oh yes. | (r) | | They originally wrote Xanadu in Smalltalk, then implemented a | Smalltalk to C++ compiler, and finally they released the | machine generated output of that compiler, which was | unreadable and practically useless. It completely missed the | point and purpose of "open source software". | | I looked at the code when it was released in 1999 and wrote | up some initial reactions that Dave Winer asked me to post to | his UserLand Frontier discussion group: | | http://static.userland.com/userlanddiscussarchive/msg010163.. | .. | | http://static.userland.com/userlanddiscussarchive/msg010164.. | .. | | http://static.userland.com/userlanddiscussarchive/msg010165.. | .. | | http://static.userland.com/userlanddiscussarchive/msg010166.. | .. | | http://static.userland.com/userlanddiscussarchive/msg010167.. | .. | | A few excerpts (remember I wrote this in 1999 so some of the | examples are dated): | | >Sheez. You don't actually believe anybody will be able to do | anything useful with all that source code, do you? Take a | look at the code. It's mostly uncommented glue gluing glue to | glue. Nothing reusable there. | | >Have you gotten it running? The documentation included was | not very helpful. Is there a web page that tells me how to | run Xanadu? Did you have to install Python, and run it in a | tty window? | | >What would be much more useful, would be some well written | design documents and port-mortems, comparisons with current | technologies like DHTML, XML, XLink, XPath, HyTime, XSL, etc, | and proposals for extending current technologies and using | them to capture the good ideas of Xanadu. | | >Has Xanadu been used to document its own source code? How | does it compare to, say, the browseable cross-referenced | mozilla source code? Or Knuth's classic Literate Programming | work with TeX? | | >Last time I saw Ted Nelson talk (a few years ago at Ted | Selker's NPUC workshop at IBM Almaden), he was quite bitter, | but he didn't have anything positive to contribute. He talked | about how he invented everything before anyone else, but | everyone thought he was crazy, and how the world wide web | totally sucks, but it's not his fault, if only they would | have listened to him. And he verbally attacked a nice guy | from Netscape (Martin Haeberli -- Paul's brother) for lame | reasons, when there were plenty of other perfectly valid | things to rag the poor guy about. | | >Don't get me wrong -- I've got my own old worn-out copy of | the double sided Dream Machines / Computer Lib, as well as | Literary Machines, which I enjoyed and found very inspiring. | I first met the Xanadu guys some time ago in the 80's, when | they were showing off Xanadu at the MIT AI lab. | | >I was a "random turist" high school kid visiting the AI lab | on a pilgrimage. That was when I first met Hugh Daniel: this | energetic excited big hairy hippie guy in a Xanadu baseball | cap with wings, who I worked with later, hacking NeWS. Hugh | and I worked together for two different companies porting | NeWS to the Mac. | | >I "got" the hypertext demo they were showing (presumably the | same code they've finally released -- that they were running | on an Ann Arbor Ambassador, of course). I thought Xanadu was | neat and important, but an obvious idea that had been around | in many forms, that a lot of people were working on. It | reminded me of the "info" documentation browser in emacs (but | it wasn't programmable). | | >The fact that Xanadu didn't have a built-in extension | language was a disappointment, since extensibility was an | essential ingredient to the success of Emacs, HyperCard, | Director, and the World Wide Web. | | >I would be much more interested in reading about why Xanadu | failed, and how it was found to be inadequate, than how great | it would have been if only it had taken over the world. | | >Anyway, my take on all this hyper-crap is that it's useless | without a good scripting language. I think that's why Emacs | was so successful, why HyperCard was so important, what made | NeWS so interesting, why HyperLook was so powerful, why | Director has been so successful, how it's possible for you to | read this discussion board served by Frontier, and what made | the World Wide Web what it is today: they all had extension | languages built into them. | | >So what's Xanadu's scripting language story? Later on, in | the second version, they obviously recognized the need for an | interactive programming language like Smalltalk, for | development. | | >But a real-world system like the World Wide Web is | CONSTANTLY in development (witness all the stupid "under | construction" icons), so the Xanadu back and front end | developers aren't the only people who need the flexibility | that only an extension language can provide. As JavaScript | and the World Wide Web have proven, authors (the many people | writing web pages) need extension languages at least as much | as developers (the few people writing browsers and servers). | | >Ideally, an extension language should be designed into the | system from day one. JavaScript kind of fits the bill, but | was really just nailed onto the side of HTML as an | afterthought, and is pretty kludgey compared to how it could | have been. | | >That's Xanadu's problem too -- it tries to explain the | entire universe from creation to collapse in terms of one | grand unified theory, when all we need now are some practical | techniques for rubbing sticks together to make fire, building | shelters over our heads to keep the rain out, and convincing | people to be nice and stop killing each other. The grandiose | theories of Xanadu were certainly ahead of their time. | | >It's the same old story of gross practicality winning out | over pure idealism. | | >Anyway, my point, as it relates to Xanadu, and is | illustrated by COM (which has its own, more down-to-earth set | of ideals), is that it's the interfaces, and the ideas and | protocols behind them, that are important. Not the | implementation. Code is (and should be) throw-away. | | >There's nothing wrong with publishing old code for | educational purposes, to learn from its successes and | mistakes, but don't waste your time trying to make it into | something it's not. | | Ted replied to the HN thread: | | >The 1999 "source code" referred to above is in two parts: | xu88, the design my group worked out in 1979, now called | "Xanadu Green", described in my book "Literary Machines"; and | a later design I repudiate, called "Udanax Gold", which the | team at XOC (not under direction of Roger Gregory or myself) | redesigned for four years until terminated by Autodesk. | That's the one with the dual implementation in Smalltalk. | They tried hard but not on my watch. Please distinguish | between these two endeavors. | dwohnitmok wrote: | I mean open systems would be fundamentally in tension with | the whole idea of paid, proprietary transclusion that's one | of the central pillars of Xanadu right? | kristopolous wrote: | Yeah sure. | | This is still pretty nascent distinction I'm thinking of | but I think there's at least 2 types of innovators. | | Those that can delegate and cede the process of new ideas | and fundamental control and know others will act in good | faith and shepherd things to the finish line. Examples are | TBL and Torvalds, who may be a tough cookie, but isn't | involved in everything; IBM, Nvidia and Google do their | thing. | | Then there is the other kind. There's not many kind words | for these folks. They'll never delegate creativity or | control, only tasks. | | Xanadu ideally, and at a previous time in actual documents, | was envisioned as a proprietary publishing empire, you know | as if you'd get a mythical Alan Kay Xanadu Dynabook that'd | have all the dreams manifest. | | Sometimes these people are also really good and can make it | happen, like Steve Jobs. But most of the time, they aren't | good at something and not willing to cede it, something | critical. Other times people aren't willing to do the work, | it's too much of a barrier. | | These types of people can succeed marvelously in smaller | ideas. The perfectionist restaurant where the all star chef | controls everything is basically every michelin star | restaurant explained. | | Same goes for great movies or music. Michael Jackson and | Hitchcock were supposedly like this. | | It's just a harder model to make work for big ideas. So | much harder it usually just can't be done. | | I really want a Nelson system but unless he can move | himself to the TBL column and give way on crucial tenants, | I really don't see it happening and having large adoption. | | These personality types seem distrustful of people like me, | as if I'm going to steal their valor. I have invariably | failed to explain that no, I want them to succeed, give me | 0 dollars and 0 credit. | | I usually recommend don't even cede to me, but to some | other, brilliant person, that I have no connection with. | However, that's not compatible with their model of human | motivation so their distrust becomes further entrenched, | usually with me AND the recommendation. It's ugly. | | I don't know how to work with these brilliant people. | | For instance, Ted's micropayment system is essentially what | Eich achieved using his BAT cryptocurrency in the Brave | browser. He ceded massive controls to make it happen. Now | places like Wikipedia and the Internet Archive are | accepting BATs. | | A true Nelsonite would debate with me how Eich's BATs are | no true Scotsman, and that's the problem. They're close | enough damn it, let it go. You aren't always going to get a | bull's-eye on the dart board of life. Make it a stepping | stone, a pipeline to the true life, whatever, just don't | dismiss the good as the enemy of the perfect. I'm sure the | first iphone and first ipod wasn't all of Steve's ideas | made manifest. Heck, if he didn't have a perfect favorable | storm with Microsoft floating Apple during their late 90s | antitrust, none of Apple's second spring would've happened | either. | | Nelson's ideas work, that's what TBL proved with the w3, he | just needs to structure them for success. | anotheryou wrote: | I'd say to make transclusions with the micro transactions | work it _has_ to be an open standard. It needs browser | support and people willing to use it encoding their work. | dwohnitmok wrote: | Ah sorry I don't mean the mechanism itself, I was | referring to the content. | | Although even in the case of the standard, leaving aside | whether this would make Xanadu feasible or not, I'm not | sure given Xanadu's history whether it was ever conceived | of being "open" in the same way, say HTML is. | | There are plenty of standards that are effectively closed | and require payment to access and read (see e.g. ISO | standards as well as, in the U.S. the state of Georgia | very nearly getting away with putting legally-binding | annotations behind a paywall: | https://arstechnica.com/tech-policy/2020/04/supreme- | court-ru...). I think Xanadu's philosophy would've lent | it to a similar approach, independent of what this would | mean for its survival. | tannhaeuser wrote: | That you've got to pay for a copy of many (but not all | [1]) ISO standards doesn't make them closed. Lack of | funding for standardization work and the expectation that | everything must be had at no cost is what gets you | monopolies and dominating players, such as with so-called | web standards. Nothing new really; citing from a post by | Paul Prescod from 1997 in the context of subsetting XML | from SGML [2]: | | > _Are you happy with the process for developing and | improving HTML? Do you feel that the results are of high | quality? Do you think that you 've had sufficient input? | [...]_ | | > _In order to influence ISO standards you need only be | recognized as an expert in your country. Unless your | country is an oligarchy or dictatorship, this will cost | you very little or nothing at all [...]_ | | [1]: https://standards.iso.org/ittf/PubliclyAvailableStan | dards/in... (beware comically broken page on mobile) | | [2]: http://lists.xml.org/archives/xml- | dev/199710/msg00189.html | DonHopkins wrote: | Here's another comment I wrote in the HN discussion from | a couple years ago about "Ted Nelson on What Modern | Programmers Can Learn from the Past [video] (ieee.org)", | in which James Clark talked about his role in the | transition from SGML to XML, and the value of standards | being sufficiently simple to have multiple interoperable | implementations: | | IEEE Article and video about "Ted Nelson on What Modern | Programmers Can Learn from the Past": | | https://spectrum.ieee.org/video/geek-life/profiles/ted- | nelso... | | HN discussion: | | https://news.ycombinator.com/item?id=16222520 | | My comment and quotes from the DDJ interview of James | Clark, "The Triumph of Simplicity": | | https://news.ycombinator.com/item?id=16227249 | | In the ideal world we would all be using s-expressions | and Lisp, but now XML and JSON fill the need of language- | independent data formats. | | >Not trying to defend XSLT (which I find to be a mixed | bag), but you're aware that it's precursor was DSSSL | (Scheme), with pretty much a one-to-one correspondence of | language constructs and symbol names, aren't you? | | The mighty programmer James Clark wrote the de-facto | reference SGML parser and DSSSL implementation, was | technical lead of the XML working group, and also helped | design and implement XSLT and XPath (not to mention | expat, Trex / RELAX NG, etc)! It was totally flexible and | incredibly powerful, but massively complicated, and you | had to know scheme, which blew a lot of people's minds. | But the major factor that killed SGML and DSSSL was the | emergence of HTML, XML and XSLT, which were orders of | magnitude simpler. | | James Clark: | | http://www.jclark.com/ | | https://en.wikipedia.org/wiki/James_Clark_(programmer) | | There's a wonderful DDJ interview with James Clark called | "A Triumph of Simplicity: James Clark on Markup Languages | and XML" where he explains how a standard has failed if | everyone just uses the reference implementation, because | the point of a standard is to be crisp and simple enough | that many different implementations can interoperate | perfectly. | | A Triumph of Simplicity: James Clark on Markup Languages | and XML: | | http://www.drdobbs.com/a-triumph-of-simplicity-james- | clark-o... | | I think it's safe to say that SGML and DSSSL fell short | of that sought-after simplicity, and XML and XSLT were | the answer to that. | | "The standard has to be sufficiently simple that it makes | sense to have multiple implementations." -James Clark | | My (completely imaginary) impression of the XSLT | committee is that there must have been representatives of | several different programming languages (Lisp, Prolog, | C++, RPG, Brainfuck, etc) sitting around the conference | table facing off with each other, and each managed to get | a caricature of their language's cliche cool programming | technique hammered into XSLT, but without the other | context and support it needed to actually be useful. So | nobody was happy! | | Then Microsoft came out with MSXML, with an XSL processor | that let you include <script> tags in your XSLT documents | to do all kinds of magic stuff by dynamically accessing | the DOM and performing arbitrary computation (in | VBScript, JavaScript, C#, or any IScriptingEngine | compatible language). Once you hit a wall with XSLT you | could drop down to JavaScript and actually get some work | done. But after you got used to manipulating the DOM in | JavaScript with XPath, you being to wonder what you ever | needed XSLT for in the first place, and why you don't | just write a nice flexible XML transformation library in | JavaScript, and forget about XSLT. | | XSLT Stylesheet Scripting Using <msxsl:script>: | | https://docs.microsoft.com/en- | us/dotnet/standard/data/xml/xs... | | Excerpts from the DDJ interview (it's fascinating -- read | the whole thing!): | | >DDJ: You're well known for writing very good reference | implementations for SGML and XML Standards. How important | is it for these reference implementations to be good | implementations as opposed to just something that works? | | >JC: Having a reference implementation that's too good | can actually be a negative in some ways. | | >DDJ: Why is that? | | >JC: Well, because it discourages other people from | implementing it. If you've got a standard, and you have | only one real implementation, then you might as well not | have bothered having a standard. You could have just | defined the language by its implementation. The point of | standards is that you can have multiple implementations, | and they can all interoperate. | | >You want to make the standard sufficiently easy to | implement so that it's not so much work to do an | implementation that people are discouraged by the | presence of a good reference implementation from doing | their own implementation. | | >DDJ: Is that necessarily a bad thing? If you have a | single implementation that's good enough so that other | people don't feel like they have to write another | implementation, don't you achieve what you want with a | standard in that all implementations -- in this case, | there's only one of them -- work the same? | | >JC: For any standard that's really useful, there are | different kinds of usage scenarios and different classes | of users, and you can't have one implementation that fits | all. Take SGML, for example. Sometimes you want a really | heavy-weight implementation that does validation and | provides lots of information about a document. Sometimes | you'd like a much lighter weight implementation that just | runs as fast as possible, doesn't validate, and doesn't | provide much information about a document apart from | elements and attributes and data. But because it's so | much work to write an SGML parser, you end up having one | SGML parser that supports everything needed for a huge | variety of applications, which makes it a lot more | complicated. It would be much nicer if you had one SGML | parser that is perfect for this application, and another | SGML parser that is perfect for this other application. | To make that possible, the standard has to be | sufficiently simple that it makes sense to have multiple | implementations. | | >DDJ: Is there any markup software out there that you | like to use and that you haven't written yourself? | | >JC: The software I probably use most often that I | haven't written myself is Microsoft's XML parser and XSLT | implementation. Their current version does a pretty | credible job of doing both XML and XSLT. It's remarkable, | really. If you said, back when I was doing SGML and | DSSSL, that one day, you'd find as a standard part of | Windows this DLL that did pretty much the same thing as | SGML and DSSSL, I'd think you were dreaming. That's one | thing I feel very happy about, that this formerly niche | thing is now available to everybody. | [deleted] | ahmedfromtunis wrote: | Ted Nelson, in his own words, in a video by Notion: | https://www.youtube.com/watch?v=JN1IBkAcJ1E | duckfang wrote: | I completely reject Project Xanadu, for one primary reason: it | turns an open web into a per-page paywall DRM horror. And where | money comes, user tracking and anti-privacy tech follows. | | Right now, it takes time and effort to paywall stuff. It's not | super hard, but is not a seamless flip-a-switch-on paywall. | | With Xanadu, that paywall is built in at the core - request a | page, pay the cost, get the page and hope its what you want. And | I can only imagine the level of scrape-scams at that level - spam | would be not only viable but make money per click. | | Sure, I could imagine useful tools to prevent hemorrhaging money, | but the threat of clicking links and owing 1-10$ for that is | horrifying. | | Hard pass. It does deserve a study in its technology and closed- | sourceness when it was devised. But it needs to stay in the | scrap-bin of history. | Rochus wrote: | Transclusion is a great concept which I first time saw and used | in Jacobson's Objectory software engineering tool. It's also | available in the CrossLine information manager (see | https://github.com/rochus-keller/CrossLine). | 5cents wrote: | Transclusions are great indeed! With proper filer mechanisms | it's amazing what you can do. Have a look a TiddlyWiki | (https://tiddlywiki.com/), which is open source and essentially | built on transclusions. It's a bit hard to explain, but when | one gets one's head around the concept, it's _extremely_ | powerful and flexible! | anotheryou wrote: | Roam Research also has them. | jaakl wrote: | Yep, and RR gives nice preview what web would look like with | two-way links. | anotheryou wrote: | Just too bad it's also no open standard and for now in the | cloud. | | I tried in for a little product review I did of a friends | app. Once I was done I found out there is no good way to | export any of it to anything readable... | | My choices where broken markdown or css-hacks for clean | screenshots. | joe_the_user wrote: | Transclusion is an appealing and beautiful seeming idea but | it's an extremely difficult thing to implement. Even more, it's | not at all evident in the end if it's desirable. Transclusion | involves effectively conditionally including text or other | fragments within documents. | | It's easy for schemes of this sort to become fragile | constructs. Moreover, the primary motivation for such an | approach is copyright management - IE, fighting the | "information wants to be free" tendency. | anotherhue wrote: | Not only is the Xanadu system fascinating, but the odyssey of its | on-and-off development should be required reading for any | software professional. | dang wrote: | If curious, past threads: | | _Xanadu Basics - Visible Connection (2018) [video]_ - | https://news.ycombinator.com/item?id=20258942 - June 2019 (25 | comments) | | _"Xanadu Hypertext Documents" architecture and data structures, | 2019 edition_ - https://news.ycombinator.com/item?id=19745517 - | April 2019 (1 comment) | | _Project Xanadu_ - https://news.ycombinator.com/item?id=19710142 | - April 2019 (32 comments) | | _Ted Nelson 's Pre-Final Reply to "The Curse of Xanadu" by Gary | Wolf / Gory Jackal_ - | https://news.ycombinator.com/item?id=19672373 - April 2019 (1 | comment) | | _Getting to Xanadu_ - | https://news.ycombinator.com/item?id=18635123 - Dec 2018 (55 | comments) | | _Xanadu_ - https://news.ycombinator.com/item?id=15269827 - Sept | 2017 (86 comments) | | _Ted Nelson presents a working prototype version of Xanadu_ - | https://news.ycombinator.com/item?id=12386339 - Aug 2016 (1 | comment) | | _Roads to Xanadu_ - | https://news.ycombinator.com/item?id=10642143 - Nov 2015 (6 | comments) | | _The Xanadu Parallel Universe_ - | https://news.ycombinator.com/item?id=10470068 - Oct 2015 (2 | comments) | | _Xanadu: we have a working deliverable_ - | https://news.ycombinator.com/item?id=7849389 - June 2014 (99 | comments) | | _The Curse of Xanadu (1995)_ - | https://news.ycombinator.com/item?id=4160525 - June 2012 (2 | comments) | | _The Curse of Xanadu (1995)_ - | https://news.ycombinator.com/item?id=1583311 - Aug 2010 (6 | comments) | | _How Xanadu Works: technical overview_ - | https://news.ycombinator.com/item?id=962315 - Nov 2009 (5 | comments) | | _The Xanadu Dream_ - https://news.ycombinator.com/item?id=876469 | - Oct 2009 (15 comments) | | _The Curse of Xanadu_ - | https://news.ycombinator.com/item?id=795155 - Aug 2009 (18 | comments) | | Others? | qwerty456127 wrote: | Isn't this something like Roam/Obsidian, just more | complicated&academic to the point of unimplementability? | aeturnum wrote: | Ah Xanadu! I always think of the 1995 "The Curse of Xanadu" in | wired[1], both because it's good and because it's from an age | when the idea of universal connection felt much further away. | | [1] https://www.wired.com/1995/06/xanadu/ | LeonB wrote: | Ted Nelson's response to wired is an interesting read: | http://web.archive.org/web/20001101230424/http://www2.educ.k... | johnchristopher wrote: | So, last time I mentioned that article on HN (and with the same | enthusiasm you display) a nice fellow completed my post | (https://news.ycombinator.com/item?id=15270358) with this: | | > If that's the case could you please post Nelson's responses | http://web.archive.org/web/20001101230424/http://www2.educ.k... | http://web.archive.org/web/20001003011753/http://xanadu.com.... | along with it.j | | :) | aeturnum wrote: | Oh thanks! I didn't know that he'd responded. | karlicoss wrote: | Nelson's "Computers for Cynics" is also an interesting take | https://www.youtube.com/playlist?list=PLTI2Kz0V2OFlgbkROVmzk... | 7thaccount wrote: | There is an amazing indy video game called "Kentucky Route Zero" | which is an adventure esque game where you explore a mysterious | magical road in Kentucky and meet all sorts of fantastical people | and creatures. It is bizarre and the genre is probably best | described as magical surrealism. | | Anyway _Spoilers_ when going through one of the caves, you meat | these bizarre computer science researchers who have an old | mainframe named Xanadu. It 's all a reference to the actual | project that shot for the moon and just kinda got left behind. | Interesting historical tidbits shoved in the game. | thih9 wrote: | OpenXanadu demo (2014): | https://www.youtube.com/watch?v=KIOuRuvQ10c | gumby wrote: | It was clear that the WWW was a good idea but it clearly wouldn't | succeed because of the foolish decision not to have back links. | But it might gain a bit of traction and make people receptive for | the real thing. I attended more than one significant academic | conference in the early 90s where this belief was uttered to | general agreement. People had even already experienced broken | links and yet couldn't put 2 and 2 together. | | I also wanted bidirectional links even though I was a Lisp | programmer! In case it's not clear, one way links was an inspired | decision. | | Another belief, in the latter part of the 90s, was that decent | web search was basically impossible as someone would have to | store a copy of the whole thing, which is clearly impossible. ___________________________________________________________________ (page generated 2021-02-21 23:00 UTC)