Live data from Hacker News

A plan to rescue the Web from the Internet

staltz.com

171–180 of 220 posts

Re: A plan to rescue the Web from the Internet

#171
post #122

Earlier quoted context omitted.

And this is important because the author misses the point as to why people get value from the "middlemen" -- to find stuff. Even with a content-centered web, there will be a need to find content and people, and new discovery engines and aggregators will emerge.

It's hard to imagine how things could be different, but for many services you don't need a middleman. For a long time, banking was thought to be a necessary middleman because you "have to" trust at least some actor to verify the transactions. Turns out you don't need to, with distributed ledgers (Bitcoin, etc). When it comes to search engines, two things shake the centralized assumption: (1) you can crawl DHTs like h…

> Turns out you don't need to, with distributed ledgers (Bitcoin, etc).

The distributed network is the middleman in fact. The entire thing doesn't function without that middleman. To get to the end result, you have to go through that network. It fits perfectly as a middleman concept.

The notion that crypto-currencies can exist without middlemen, couldn't be further from the truth. They're entirely built on and dependent upon middlemen. The distributed ledger is one of the greatest middleman technologies ever devised.

Re: A plan to rescue the Web from the Internet

#172
post #61

Earlier quoted context omitted.

The vision of these three posts (tannhaeuser, ashark and JohnStrange) are incompatible. This thread is a tiny (but complete) clinic in why the web is such a mess.

I submit that Tannhaeuser's vision is what can replace the current web in its cross-platform-app-distribution role, leaving the document-browsing side to mine :-) That addresses the core problem, as I see it, which is that when I want to browse some damn HTML I'm subjected to a ton of actual user-hostile behavior and lots more potential hostile behavior that I have to worry about, all while paying for it in disk spac…

So under that model, would Wikipedia, which uses javascript, be in the sandboxed-app client, and would you would be perfectly happy viewing it with javascript on, in that case?

I'm curious which sites you actually frequent which wouldn't count as "apps," but which still use javascript, and which would actually run in the static-only client you seem to prefer?

Re: A plan to rescue the Web from the Internet

#173
post #53

Here’s the problem with IP addresses: there aren’t enough of them.... As a consequence, the Internet has allowed intermediate computers to rule. These are like parasites that have grown too large to remove without killing the host. The technical flaw that favored intermediate computers prefigured a world where middlemen business models thrive. The handwave is the word "prefigure". How did IPv4 and NAT play any role i…

> How did IPv4 and NAT play any role in the dominance of Facebook, Airbnb et cetera? This is an analogy masquerading as an argument. Because it made peer-to-peer no longer an option. Keep in mind that NAT is a poor man's firewall and once NAT'd systems were common peer-to-peer firewall transition became a real problem. https://www.fourmilab.ch/documents/digital-imprimatur/ (2003, still as relevant today as when it wa…

so, that means going with IPv6 will bring back p2p networking? or do you see it's already too late?

p/s: it's more than relevant, it's eerily accurate in predicting our current situation

Re: A plan to rescue the Web from the Internet

#174

Earlier quoted context omitted.

There is no rule in HTTP that mandates the user-agent must navigate away from what it's currently displaying to show you the payload of an HTTP error. It simply says [1] that the error "SHOULD" (in the RFC 2219 meaning of SHOULD [2]) be displayed to the user. Because of this, most browsers display the payload, but some show a built-in "friendly" error page if the payload is under a certain size. Because of the langua…

None of this is necessary if you have JavaScript to control the error handling exactly the way you want. If it's a critical problem, you can display an error message. You can retry behind the scenes and succeed without even having to inform the user of a failure. Again, I make the point that a pure declarative solution only works if you know every possible use-case. You can add all kinds of new tags and attributes th…

Completely agree. Declarative approaches define the palette of available options ahead of time, but if wish to do something out-of-scope, it's back to the drawing board. Imperative approaches instead give you a low-level computation environment, and hooks into manipulating the outside world.

Most facets of the original Web are declarative: HTTP is a complex state machine, HTML is a declarative language, hyperlinks are declarative ways of specifying outgoing edges of a node in a graph. Javascript enhanced that with imperativeness, which is why it's been leveraged to extend the Web in new ways -- ways that are ad-hoc reimplementations of behaviors that have not (yet) been otherwise codified.

Re: A plan to rescue the Web from the Internet

#176
post #10

The reason the Web needs rescuing is because it's not a particularly well-designed system that has been patched over and over again for the last quarter century. And now it has been degraded to a delivery layer for JavaScript apps, a poor RPC protocol and an overly complex UI rendering toolkit. It should have had protocol-level technologies for preserving historic data, for search, for offline use, for authoring and…

The web is heavily abused because many developers are not aware of its misguided history or even what the web is for. To be extremely clear the web is a document (markup) delivery/rendering application. The design goal of the web is to deliver documents that contain hyperlinks, where those hyperlinks address content extension. The web had no intention to be anything else. That said the web was hijacked, for lack of a…

> That said the web was hijacked, for lack of a better term, by early web browsers that intended to do things that the web was never intended to do. This is how we got JavaScript.

I'm not sure that this is accurate. Tim Berners-Lee in his 1989 proposal for the World Wide Web [1] contemplates usage that is compatible (or at least not incompatible) with the JavaScript we have today. Excerpts from his proposal:

> "Hypertext" is a term coined in the 1950s by Ted Nelson [...], which has become popular for these systems, although it is used to embrace two different ideas. One idea is the concept: "Hypertext": Human-readable information linked together in an unconstrained way.

> The other idea, which is independent and largely a question of technology and time, is of multimedia documents which include graphics, speech and video. I will not discuss this latter aspect further here, although I will use the word "Hypermedia" to indicate that one is not bound to text. [...]

> The data to which a link (or a hot spot) refers may be very static, or it may be temporary. In many cases at CERN information about the state of systems is changing all the time. Hypertext allows documents to be linked into "live" data so that every time the link is followed, the information is retrieved. If one sacrifices portability, it is possible so make following a link fire up a special application, so that diagnostic programs, for example, could be linked directly into the maintenance guide. [...]

> Many systems have been put together with little or no regard for portability, unfortunately[]. However, there are several interesting projects and more are appearing all the time. Digital's "Compound Document Architecture" (CDA) , for example, is a data model which may be extendible into a hypermedia model, and there are rumours that this is a way Digital would like to go. ['Compound document' refers to a document that combines text with non-text such as spreadsheets, pictures, video and audio, etc.]

Burners-Lee goes on to sketch out what such a system might look like, and characterizes the current browser/server architecture, emphasizing the separation between display logic and server logic, and anticipating the evolution of those display programs:

> Let us see what components a hypertext system at CERN must have. The only way in which sufficient flexibility can be incorporated is to separate the information storage software from the information display software, with a well defined interface between them. Given the requirement for network access, it is natural to let this clean interface coincide with the physical division between the user and the remote database machine.

> Therefore, an important phase in the design of the system is to define this interface. After that, the development of various forms of display program and of database server can proceed in parallel. This will have been done well if many different information sources, past, present and future, can be mapped onto the definition, and if many different human interface programs can be written over the years to take advantage of new technology and standards.

I read Burners-Lee's writing as very much anticipating the modern browser, JavaScript included.

It's also worth mentioning that Roy Fielding, one of the principal authors of the HTTP specification (along with Burners-Lee), characterized Code-on-Demand (that is, scripting/VMs, e.g. Java and JavaScript) as a core constraint of Representational State Transfer (REST) [2]. The REST architectural style, as described in Fielding's thesis published in 2000, is intended to characterize the architecture of the Web.

> A distributed hypermedia architect has only three fundamental options: 1) render the data where it is located and send a fixed-format image to the recipient; 2) encapsulate the data with a rendering engine and send both to the recipient; or, 3) send the raw data to the recipient along with metadata that describes the data type, so that the recipient can choose their own rendering engine. [...]

> REST provides a hybrid of all three options by focusing on a shared understanding of data types with metadata, but limiting the scope of what is revealed to a standardized interface. REST components communicate by transferring a representation of a resource in a format matching one of an evolving set of standard data types, selected dynamically based on the capabilities or desires of the recipient and the nature of the resource. Whether the representation is in the same format as the raw source, or is derived from the source, remains hidden behind the interface. The benefits of the mobile object style are approximated by sending a representation that consists of instructions in the standard data format of an encapsulated rendering engine (e.g., Java [45]). REST therefore gains the separation of concerns of the client-server style without the server scalability problem, allows information hiding through a generic interface to enable encapsulation and evolution of services, and provides for a diverse set of functionality through downloadable feature-engines. [...]

> The final addition to our constraint set for REST comes from the code-on-demand style of Section 3.5.3. REST allows client functionality to be extended by downloading and executing code in the form of applets or scripts. This simplifies clients by reducing the number of features required to be pre-implemented. Allowing features to be downloaded after deployment improves system extensibility.

So my take on history is that key designers of the modern Web always envisioned it as being capable of delivering and displaying dynamic content with an evolving set of capabilities.

Lastly, an excerpt from an interview with a Wired interview of Burners-Lee from 2014, characterizing JavaScript as part of the web's "fabric" and emphasizing its ability to evolve [3]:

> The good news is that the web has openness and flexibility woven into its fabric. The protocols and programming languages under the hood – including URLs, HTTP, HTML, JavaScript and many others – have nearly all been designed for evolution, so we can upgrade them as new needs, new devices and new business models expose current limitations.

[1] https://www.w3.org/History/1989/proposal.html

[2] https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm

[3] http://www.wired.co.uk/article/tim-berners-lee

Re: A plan to rescue the Web from the Internet

#177
After reading the FCC Chairman's idea of "the Internet" in his Notice of Proposed Rulemaking (below), I think maybe a better plan would be to rescue the internet from the web. Every example he references of internet usage is web usage or email. He does mention "DNS and caching" but in the context of the potential effect of removing these from the services available to users. (para. 37)

The general tone of the NPRM seems to be that an ISP can and will block or throttle any non-web or non-email traffic. That could include any peer-to-peer innovations that seek to restore the original functionality of the internet, such as those mentioned by the author.

On the contrary, the dissent by Commissioner Clyburn specifically mentions Skype as an example of internet usage. He believes the traditional notion of "permission-less innovation" is under threat from the Chairman's proposed approach.

https://apps.fcc.gov/edocs_public/attachmatch/FCC-17-60A1.pd...

The author highlights the importance of distinguishing "the web" from the internet. Perhaps nothing is more important. The internet has more value than the web. The web is severely limited in functionality. The internet, still underexploited in its potential, does not suffer from the same limitations.

Re: A plan to rescue the Web from the Internet

#179

Earlier quoted context omitted.

The barrier is from the tools, not NAT. Maintaining your own server is prohibitively difficult for pretty much anyone besides niche technology enthusiasts or IT professionals. > Were it not for NAT, I would have expected an explosion in tiny self-hosted personal sites around the time that dialup was replaced by always-on cable connections NAT never stopped you from port forwarding 80 to your local server and many peo…

Maintaining your own server might be hard because there's no incentive to make it easy for technophobes to do. If there were software that was dead easy to use, there'd still be roadblocks: NAT, $ for a domain, ISPs blocking port 80, etc.

also the computer must always be on, it can't interfere with your ability to use your own computer (QoS, throttling), and backups.

Re: A plan to rescue the Web from the Internet

#180
For us "old" people who remember the internet before the web -- one of the things that's really different about the modern internet is the very limited set of protocols and applications that the average user interacts with. It really used to be that every different service type mapped to a different protocol and HTTP (and HTTPS) has just sort of subsumed everything. Back in the old days to minimally use the internet you'd have to know at least telnet, ftp, nntp, gopher (maybe), smtp, pop and maybe a handful of others.

(okay, maybe modern users use more protocols than I'm admitting to, but it's very obscured these days but so many different applications just ride on HTTP(S) anyways).

There's really nothing preventing some motivated group to just spin up an entirely new kind of service that "fixes" all that's wrong with the web, custom protocol and application stack.

"But the network effect!"

And that's something us old timers remember, we remember lots of great services spinning up and down and even when the web was just a handful of sites. The web earned its network by having better general utility than other things that were attempted, but why can't a new better service eventually earn it?

(In the meanwhile us hacker types will enjoy having a cool new playground to muck around on for a few years).

Post reply on HN