{"id":1319,"date":"2019-06-30T00:21:09","date_gmt":"2019-06-30T07:21:09","guid":{"rendered":"https:\/\/dubinko.info\/blog\/?p=1319"},"modified":"2019-06-30T00:21:15","modified_gmt":"2019-06-30T07:21:15","slug":"xanadu-in-2019","status":"publish","type":"post","link":"https:\/\/dubinko.info\/blog\/2019\/06\/xanadu-in-2019\/","title":{"rendered":"Xanadu in 2019"},"content":{"rendered":"\n<p>If you haven&#8217;t been following Ted Nelson on YouTube, you&#8217;re missing out. Recently, he&#8217;s been posting a series of informational videos on the Xanadu architecture and concepts. Even more recently, he hosted a live Q&amp;A session, taking questions from Twitter.<\/p>\n\n\n\n<p><a href=\"https:\/\/www.youtube.com\/user\/TheTedNelson\">Ted Nelson&#8217;s Channel<\/a><\/p>\n\n\n\n<p>What&#8217;s Xanadu, you ask? It&#8217;s the original concept for a hypertext system, designed well before the web was a gleam in Tim BL&#8217;s eye. Nelson himself coined the term &#8216;hypertext&#8217;. It can be hard to wrap your head around a hypertext system <em>not<\/em> based on markup or HTML. For a brief technical overview, <a href=\"https:\/\/dubinko.info\/blog\/2009\/11\/22\/how-xanadu-works\/\">check out this article<\/a>, now nearly a decade old.<\/p>\n\n\n\n<p>One of the biggest points of contention between the &#8220;current web&#8221; and Xanadu is the de-facto security restrictions (such that they are) on browsers with the <strong><a href=\"https:\/\/en.wikipedia.org\/wiki\/Same-origin_policy\">Same Origin policy<\/a><\/strong>. With several loopholes, once your browser loads a page from xyzzy.com, other content, excluding images and other things, have to be loaded from the same site. [Yes, it&#8217;s possible, via preflights, to get around this, but the kind of per-site configuration needed flies against the notion of a global &#8220;docuverse&#8221;.] In contrast, the central construct of Xanadu is that documents consist of a central list of chunks of content and links to load.<\/p>\n\n\n\n<p>Because we&#8217;ve lived in a web-wide-world for so long, it&#8217;s hard to think clearly about this alternate reality. What role would something like JavaScript play in a Xanadu-docuverse? I haven&#8217;t been able to find any detailed studies about how security design on a web-scale Xanadu deployment. What would be the nearest equivalents to cookies or webapps? To web forms (or dare I say, XForms)? To untrusted content surreptitiously leaking personal information? To <a href=\"https:\/\/en.wikipedia.org\/wiki\/Cross-site_request_forgery\">CSRF<\/a> attacks? To the <a href=\"https:\/\/www.owasp.org\/index.php\/Category:OWASP_Top_Ten_Project\">OWASP<\/a> security checklist?<\/p>\n\n\n\n<p>It seems like Xanadu wants to consist of purely documents, and is less friendly toward other media types, and outright hostile to what we today call webapp technology. This makes for a clean and elegant design, but I can&#8217;t help wonder whether it&#8217;s also a factor in the takeover of one-ended &#8220;jumplinks&#8221; as seen in HTML, and the mountain of web architecture that came along with it.<\/p>\n\n\n\n<p>My gut says that not all hope is lost. Large chunks of web technology, including HTTP, could be hugely useful in a global docuverse. One way or another, the browser ship has sailed, so it would have to work with modern web browsers. So what can we do about the Same-origin problem? How can we design a docuverse on top of today&#8217;s web? -m<\/p>\n\n\n\n<p>P.S. I still have the same question from the earlier article: <\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>\u00e2\u20ac\u0153Our enfilade data structures and methods effectively refute Donald  Knuth\u00e2\u20ac\u2122s list of desirable features that he says you can\u00e2\u20ac\u2122t have all at  once (in his book <a href=\"http:\/\/www.amazon.com\/Art-Computer-Programming-Sorting-Searching\/dp\/0201896850\">Fundamental Algorithms: Sorting and Searching<\/a>)\u00e2\u20ac\u009d.  I\u00e2\u20ac\u2122m curious if anyone knows more about this, or if Knuth ever got to  know enough details to verify that claim, or revise his.<\/p><cite>Maybe Ted will comment about this on YouTube.<\/cite><\/blockquote>\n\n\n\n<p>P.S.2. Xanadu is a registered trademark, here used for specific identifying purpose.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you haven&#8217;t been following Ted Nelson on YouTube, you&#8217;re missing out. Recently, he&#8217;s been posting a series of informational videos on the Xanadu architecture and concepts. Even more recently, he hosted a live Q&amp;A session, taking questions from Twitter. Ted Nelson&#8217;s Channel What&#8217;s Xanadu, you ask? It&#8217;s the original concept for a hypertext system,&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[7,1],"tags":[1236,892,1237,173,891],"class_list":["post-1319","post","type-post","status-publish","format-standard","hentry","category-browsers","category-stuff","tag-csrf","tag-hypertext","tag-owasp","tag-security","tag-xanadu"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8eo8l-lh","_links":{"self":[{"href":"https:\/\/dubinko.info\/blog\/wp-json\/wp\/v2\/posts\/1319","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dubinko.info\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dubinko.info\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dubinko.info\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dubinko.info\/blog\/wp-json\/wp\/v2\/comments?post=1319"}],"version-history":[{"count":4,"href":"https:\/\/dubinko.info\/blog\/wp-json\/wp\/v2\/posts\/1319\/revisions"}],"predecessor-version":[{"id":1323,"href":"https:\/\/dubinko.info\/blog\/wp-json\/wp\/v2\/posts\/1319\/revisions\/1323"}],"wp:attachment":[{"href":"https:\/\/dubinko.info\/blog\/wp-json\/wp\/v2\/media?parent=1319"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dubinko.info\/blog\/wp-json\/wp\/v2\/categories?post=1319"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dubinko.info\/blog\/wp-json\/wp\/v2\/tags?post=1319"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}