HACKER Q&A
📣 lowercasename

You have one shot to redesign the Internet – what do you change?


This was just an idle conversation we were having at work. Imagine that one day you wake up and you've been sent back in time, where you are now a researcher at DARPA in the early 1960s. You've got the influence to effect fundamental changes in the next sixty years of the Internet's history, and can make your changes any time in the next sixty years - but you know that as soon as you change one thing in history, you'll be sent back to 2021, to continue living in the world you have wrought.

How are you going to make the Internet better?


  👤 Animats Accepted Answer ✓
Changes I would have made in the early days:

- 48-bit static IP addresses. 70 trillion should be enough. 128 bits was overkill.

- Nodes, not interfaces, have IP addresses, so you can use multiple paths.

- IPSEC available but initially optional.

- Explicit congestion notification, so packet loss and congestion loss can be distinguished.

- Everything on the wire is little-endian, byte oriented, and twos complement.

- You can validate a source IP address by pinging it with a random number. If you don't get a valid reply, the IP address is fake. Routers do this the first time they hear from a new address, as a form of egress filtering. This contains DDOS attacks.

- Routers will accept a "shut up" request. If A wants to block B, it sends to a router on the path, the router pings A to validate the source, and then blocks traffic from B to A for a few minutes. This also contains DDOS attacks. Routers can forward "shut up" requests to the next router in the path, for further containment.

- Fair queuing at choke points where bandwidth out is much less than bandwidth in.

- Explicit quality of service. At a higher quality of service, your packets get through faster, but you can't send as many per unit time.

- No delayed ACKs in TCP.

- Fast connection reuse in TCP.

- Mail is not forwarded. Mail is done with an end to end connection. Mail to offline nodes may be resent later, but the sender handles that. Mail, instant messaging, and notifications are the same thing. Spam is still possible but hard to anonymize. If you want your mail buffered, use an IMAP server at the receive end.

- One to many messaging uses a combination of RSS and notifications.

- Something like Gopher should be available early. The Web would not have fit in early machines. but Gopher would.


👤 abecedarius
The most basic problems seem to be:

1. Everything being 'free' by default drives us to ad-supported centralized services. Economics aren't a separable concern.

2. Too few IP addresses. (At least one of the pioneers, I forget which, said he pushed for longer addresses but was overruled. So the technical constraints probably did not force this.)

I'm not sure how to fix #1, but here's an approach from the 90s: https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.16....


👤 jjav
Honestly, just one thing, and I only need to go back to the early 90s.

Just before the Internet was opened to commercial use in the mid 90s, would've made a perpetual prohibition of advertising over the Internet. Ads are what have ruined everything.

Take just about anything unpleasant about the Internet today and it is either directly a consequence of ads, or an indirect consequence of someone trying hard to make you see ads.


👤 tunesmith
Does this include laws about the internet? Because I think if the Computer Fraud and Abuse Act were altered somehow sufficiently that aaronsw hadn't been arrested, I'd prefer that future.

👤 _huayra_
Honestly most of it is pretty great. Folks who want to give it better, more reliable performance end up reinventing circuit switching, and anything involving security is difficult to solve at the IP layer.

The last big things to secure are DNS (can be done with DNSSEC), and possibly somehow mandate TLS for connections (although you definitely don't want that all the time).

One big glaring problem is BGP, which we don't really have an answer for. Whereas "just use DNSSEC" pretty much solve the last big security hole above, BGP is still difficult because you have to basically have a system to attest the path for each BGP node. AS1 can't say "I have a path of length 5 through AS2 AS3 AS4 AS5 AS6 to AS6" unless that message can be attested to by each node, but then this comes into a bootstrapping problem (e.g. how do you reach those ASes to get some sort of key without going through AS2 first?) or trusting some authority as we do for ssl certs. God knows the first thing I do on any fresh install is uninstall those root certs from any sketchy government I don't trust.

Having worked on SDN in its heyday for some of the big players in the space, there are definitely good ideas in the space, but getting to adoption is damn difficult, bordering on impossible. I don't know what it will take to oust BGP, so we're kinda stuck with it for the foreseeable future.


👤 onion2k
I'd make payments a prominent, application-native, easy to use feature from Day 1, right down in the network protocol level. 100% of the transaction would be transferred from the user to the service owner without a middle-man service taking a cut (payment gateway fees not withstanding). That way there wouldn't be any need to rely on advertising, app stores, or external subscriptions to run something on the internet.

👤 notamy
Javascript. Not to remove it, but to make it better from the start. Current JS feels painful to me because it feels like piling hacks on top of a poorly-designed language to make it palatable. Doing it better from the start sounds amazing.

👤 d--b
Honestly I think it couldn’t have gone a lot better...

The worst that happened to the internet is Google becoming evil. The internet circa 2000 was mind blowing.


👤 geocrasher
I'd advocate to build DARPANET for an untrusted environment with the expectation that DARPANET would be unleashed on the masses at some later point.

👤 jedberg
TL;DR: Constants shouldn't be hard coded in the software, they should always be in a separate config

The problem is that it's the 60s. My first thought was "security", but unless you an also teach them about elliptic curves, they're going to use the security of the 1960s, which as we now know isn't very secure.

Maybe at least having security baked in would help make it easier to switch to better security later, like how ssh can use different protocols as old ones are broken. But you'd have to make sure that you were very clever about how it was implemented so that it could be switched without major changes.

Another thought is "more IP addresses", but again you are in the 60s. The computers don't have enough memory to deal with IPv6 length addresses. So again the best you can do is try to set them up with easy upgrades.

Which makes me think the best suggestion would be to teach them about Moore's Law, which of course would have a different name, and try to push for every protocol being extensible as technology grows -- make sure that more octets can be added to IP addresses without them breaking, that security is baked into everything but everything has a way of negating a protocol so that they can be upgraded, that there are no hard upper limits that are assumed and can always be changed.

Basically, teach them what we now know are software best practices -- constants shouldn't be hard coded in the software, they should always be in a separate config.


👤 karaterobot
Not sure how to accomplish it, but advertisements should be captured in a semantically distinct way in markup. I hate ads, but I'm not saying you can't have them if you want, you just have to wrap them in the equivalent ../ tags, so that there is no question about what content contains an advertisement and what doesn't. That way, it's trivial for me to block them. The flip side of the coin is that my browser will tell you if I'm blocking ads, and you can decide if you want me as a viewer or not.

👤 denton-scratch
DNS.

Others here seem to be redesigning the entire intarwebs. I'll just pick one thing I might have been able to digest.

DNS is brilliant - but insecure, and centralised. The dependence on registrars was a huge mistake. The competition for names is an unintended consequence; the DNS created artificial scarcity, which resulted in commercial businesses that produce nothing of value.

So something like GNS, I guess. https://tools.ietf.org/id/draft-schanzen-gns-01.html


👤 YossarianFrPrez
What a great question. One of two things:

A) Establish the expectation that websites "close" in the middle of the night for ~5-6 hours, local time / for each timezone. I don't know if would best be done via cultural influence -- giving talks, writing essays, personal communication, testifying / making inroads with politicians -- or via creating some sort of protocol. The idea is to prevent the unhealthier aspects of internet binging and screen addiction.

B) Establish the expectation that internet comments are transcriptions of voice recordings. I.e. to leave a comment, you have to call a phone number and leave a message which then gets transcribed as "the comment." In order to respond or reply to a post or a thread, you have to listen to the message and tone of voice of the person you are replying to. I don't think this would solve every internet dialogue, but it'd promote healthier interactions and less division.

In my book, the largest problems with the internet are techno-cultural, not technological.


👤 8bitsrule
At least one domain where NO commercial activity is allowed. No buying, selling, advertising, trading. Companies who are convicted of mens rea transgression (along with whichever employees are guilty) lose ALL access to the internet in perpetuity.

👤 musicale
Here are a few things off the top of my head (and trying not to duplicate too many things):

- Get rid of ARP - just append the LAN address to the network address like other networks. By default LAN addresses are random. (Note IPv6 enables this basically.)

- Support encrypted DNS and authenticated BGP.

- Let DNS return other metadata including the port as well as the IP address.

- Let DNS caching work. Don't misuse short DNS timeouts for load balancing.

- Ingress traffic filtering - reject source IP addresses from outside the current prefix.

- Not IP per se, but let multipath work in the LAN (and give Ethernet a TTL so that packets don't loop forever if things go bad.)

- Eliminate (or minimize) broadcasts. Use unicast/multicast for DHCP, service lookup, etc..

- Support relocation/forwarding of TCP connections so they don't break when your IP address changes.

- Fix TCP congestion control so that the data rate doesn't decrease as latency increases.

- Second adding congestion notification to TCP to differentiate between packet loss and congestion.

- Encrypt the host name in SSL/TLS.


👤 selfsimilar
Wider IP address space at the beginning could have led to static IP deployment to the home, allowing for self-hosted websites and email service that would have obviated the need for ad-supported websites and web services. We still would have had the issue of asymmetrical home connections but that’s a separate issue.

👤 thrower123
Brendan Eich gets to actually use Scheme for Netscape. It never takes off, because everyone hates Lisps, instead VBScript becomes standardized through IE, which is then phased out in favor of a C#-based script in the early 2000s, and we have a massively better web development enviroment.

👤 petermcneeley
Adam Curtis provides some historical context on what went wrong with the internet https://thoughtmaybe.com/all-watched-over-by-machines-of-lov...

👤 brundolf
IPv6 from the beginning.

I have a theory that NAT killed the open web. There was this idea at the beginning that everyone could host their own website, email, etc. But when you're behind a router, you suddenly have to be quite technical in order to set all that up on the computer in your room. So only (bored) technical people bother. It's possible this is the reason platforms came to dominate.


👤 nickdothutton
There is no need to put IP stacks on non-server endpoints unless you know what you are doing and the implications. Each non-server device could establish a context with the network as and when needed to send and receive traffic, as you did in the dial-up age. Removes a huge raft of security problems, IP address shortages, DDoS, privacy/tracking.

👤 an_opabinia
The most toxic part of the Internet today is identity. Some of the IP address space should have worked like mobile phone numbers - paid for by subscribers and representing single identities. Even better, after the invention of RSA, the government should have backed ISPs or states issuing signing identities for a protocol level identity standard - sort of like SIM cards that would “represent” you on a single, authoritative device without the possibility of delegation.

👤 joemaller1
The internet actually works really well. Its problems are human.

👤 muxxa
Decentralisation in that you'd preferentially download 'web' content via your friends. Every house has an always-on server and networking hardware to enable selected local connections (long range WiFi?) across town with no reliance on an ISP. Think Wikipedia content living in tens of millions of locations around the world, with updates being pushed out with versioning and flagging if your extended network lacks consensus on a change.

👤 dbingham
Find a way to better decentralize it, so that it doesn't rely on single hosts(and later sites) as the source of truth for any particular function.

The original idea was that protocols would allow any one to participate by simply making their own webpage. But dynamic IP addresses, the DNS system, and even just HTML design were out of reach for most people so that got lost and monsterous websites under centralized control became the mediators for most people.

So if we could find a way to bake that decentralization into the protocols even more strongly while making them accessible to non-technical people, that's the change I would make.

The aim is to create a world where central platforms are not dominant, but any user can easily participate in the communication protocols with out there being a central point to collect all the data or force changes from.

...of course, I have no idea how one would go about doing that, and there in lies the rub.


👤 DLA
3 things: Security, Security and Security. BGP security, DNSSEC, TLS by default, etc.

👤 sa1
Decouple IP addresses from locations, to make it harder to balkanize the internet.

👤 michaelbrave
Replace HTML with something closer to hypercard - it would give simple interactions, database management and user interface that you need.

Failing that, Flash should have become open source and part of the W3 web standards, but opened up such that we could observe the code that's running.


👤 renewiltord
Oh, something minor. I’d make both domains and paths go from least significant to most significant, so com.google.mail/u/0/html

👤 seltzered_
backlinks.

(see http://www.youtube.com/watch?v=bpdDtK5bVKk&feature=youtu.be&... by Jaron Lanier, also see Ted Nelson)


👤 pmontra
> How are you going to make the Internet better?

Anything that allows me to send files to a device of a person I know on a direct connection without a service in between and regardless of our locations in the world. Still an unsolved problem AFAIK.


👤 lmilcin
Very easy choice. All services paid explicitly.

Having thing given for free to be then exploited for various purposes is reason why these services are shit - because you are not the client, the guy who pays for your data or advertising space is.


👤 aliasEli
Security should have been been a top priority right from the start. It is very strange that ARPA, a DOD agency that sponsored most of the Internet technology, cared so little about security.

👤 streamofdigits
Its a darn difficult question. The "internet" is the first time humanity got a technology for information exchange that can scale arbitrarily. It creates a complete graph that can enable data exchange between any two individuals (and of course an arbitrary additional number of devices).

How this increadible technical potential got translated into social reality says more about society than the technology[0]. If the stack of applications that has been built on top of it has become dystopic it is because society had dystopia in its dna. The technology simply allowed it to be expressed, so to speak.

By the same token, any technical tweak that maintained or improved this scalability would simply have led to an alternate dystopia. It may be counterintuitive but maybe the only internet that would actually be "better" would have been a more local / less scaling version. A more gradual transition might have given society time to adapt, develop some defense mechanisms and not be dominated by the lowest common denominator

[0] Keep in mind that all communication technologies of the 20th century (phone, radio, TV) quickly degenerated and never delivered the utopia initially projected


👤 janci
1. Prevent protocols to cross layer boundaries. FTP, SIP, etc. are application protocols, yet they use ports and IP addresses for identification of endpoints. They break if the transport layer does something they did not anticipate (e.g. NAT). NAT is not evil, nor broken. Protocols not respecting layer boundaries are broken.

2. Make use of DNS SRV records for all services. Why HTTP must be on port 80? Why not consult DNS to resolve the port too? Pretty much related to my first point.


👤 seph-reed
Separate data and views.

Basically: servers focus on serving their data, and then it's up to the user to figure out which "renderer" they want to use to display it. Ofc defaults would be provided.

But, say, you wanted to view tweets in a table form: no problem.

Or maybe, you want to have a really wacky "whip the llamas ass" UI for podcasts: go for it.

-----

The big benefit of this is that it would allow for artistry in websites, rather than the boring old blue, black, white, grey material design.


👤 JohnBooty
I pick the year 1995, right as the web starts to hit the mainstream.

I'd add some kind of built-in, frictionless, privacy-respecting, user-friendly, transparent payment/micropayment system. Built on open standards so we could have multiple competing UX's and the best one(s) would win.

Basically, think about how Patreon and Kickstarter (which are not without their flaws) have allowed people to support creators more or less directly. Now, imagine if we'd somehow baked something like that in to the internet itself.

The web is 99.9999% garbage and one of the biggest reasons is because we spent nearly two decades training people that everything on the interwebs was free which meant that it had to be ad-supported which means that nearly everything has been forced to pander to the absolute lowest common mass-market denominator.

Even with some kind of "good" micropayment system, sure, most stuff would still be free/ad-supported lowest common denominator crap. I have no illusions. Just look at every other form of media that has ever existed.

However, just imagine how books or movies or whatever would look they were de facto forced to be free for the earliest part of their existence.


👤 softwaredoug
Accepting but regulating centralization of the Web

I think we failed to appreciate how much the average user would need centralized services (Search & Social) to use the Web. Both of these services are around discoverability of content. Humans want a water cooler to visit and chit-chat, or an organized library to look for information.

Additionally, because accessing the Web was seen at first as "free" (outside your ISP), people would gravitate towards "free" centralized services like Facebook and Google.

This created a recipe for what we see today with the incredible power of these companies over so many aspects of our lives.

So what would I think should be different? I would have been more thoughtful about regulating these centralized services in the way the FCC regulates the airwaves & media companies. Which is even more proactive than antitrust law. It's OK that they're profitable. That's good! But we ought to avoid single companies owning the entire search / social space.


👤 lurker137
I don’t know how it would be implemented but I always thought it would have been better if there was more meaningful separation of domains, and that you need a different browser to connect to a different domain. That way the net could be divided. There could be a domain for only verified information. A domain for public use. A domain for only educational content, etc. I have no idea how it would be moderated though

👤 PicassoCTs
Add a fallback protocol, that allows for onion-protected mesh-net-routing. All that is ever revealed for routing a package, is the next human-supra-organism you want that package to be handed over. Imagine you write a reply: "This is not a good idea" and hit send, but some benevolent leader decides this message is not a good idea. So it fails on the centralized infrastructure.

Now you wrap the adress of me: Individual > Household> Street > City> Airport into encrypted shells, that only reveal the next destination upon arrival within the data-organism.

These of course are valid only, if a public ledger certifies their longterm existence.

Your reply will take time, it will travel on land, air, water and, by all means possible. But it will reach me, i promise you that. To add plausible deniability, all you need is hostile apps, who participate within the meshnet, without the users consent. To add motivation to participate, just allow the transfer of crypto-currency - a currency backed up by the promise of data-transfer, no matter were, no matter what.


👤 therealplato
Client certificates are required with every http/s request. Back in 2021 we've never logged in with user/pass

👤 cesarb
I would make packets over the MTU truncate (with a flag indicating the truncation), adjusting the IP checksum (the same way it's currently adjusted for changes in other fields like the TTL) to match, instead of fragmenting or dropping. That would avoid all the issues with PMTU blackholes or non-initial fragments.

👤 holidaystarship
The internet itself is pretty solid: other than a few technical tweaks, I think the infrastructure evolved as well as it could. One thing I'd like to see changed is a re-thought internet protocol that's more privacy focused: an IP address is an absurdly specific identifier, fingerprinting a user down to a single household in most cases. An ephemeral addressing scheme for clients that changes with every new connection would be really quite helpful, perhaps along with some safeguards that allow law enforcement to still track that ephemeral identifier to an internet connection in the case of abuse.

The web is a different story, especially social media. I'd like to make social media, and the web in general, more forgetful. "Digital natives" (second-flight millenials and Gen Z) are going to get screwed with the persistence and easy archiving of social media data. This is partially a result of the natural shift in cultural expectations that occurs over time, as well as a consequence of having their awkward-for-any-generation blunder years recorded forever. This is definitely more a legal change than a technical one, but I would mandate (1) a time span (such as 5 years) where public social media posts must revert to author-only private unless consent is otherwise obtained and (2) a prohibition against public mass archiving of social media posts from people who aren't public figures.

This type of mass archiving for the use of closed-off academic research libraries is acceptable, but merely going and hoovering up every public tweet or Youtube comment or Reddit post and and putting it up with a public search engine shouldn't be permitted. Treat it like many countries treat the census, and only allow publicly opening up these archives far into the future (for example, the raw underlying questionnaires used for the Canadian census are not released to the general public until 92 years after collection). Different story for public figures such as politicians, but we shouldn't archive everything that everyone has said in perpetuity.


👤 tabtab
A better DOM. I know this topic is mostly about data transfer, but I'm going to complain about web UI standards. For many uses, a state-ful coordinate-based UI standard is needed. It's why PDF's proliferate: DOM can't faithfully reproduce documents in a WYSIWYG way. It's not practical for every document/content author to become a "semantic auto-flow" layout expert: the learning curve to do semantic right is too damned long. We could have things like interactive flow-charts and ERD diagrams with our favorite GUI widgets in them if we had a decent state-ful coordinate standard (and maybe the "missing" GUI idioms like combo boxes, tabs, editable grids, MDI, drop-down menus, etc. Reinventing them in JavaScript has proven a mess.)

👤 uniqueuid
There is only one protocol, for file transfer.

Consequences:

* There is no live user tracking.

* Access control can be user/password or ssh keys

* You always have an archive of what you read

* You always have an archive of chats

* Everything is in principle decentralized (whether it is in practice depends on whether people keep files.

* Clients are in control.


👤 ArtWomb
This is a really great question! I can't help but think that for some small multiple of the cost of the International Space Station or Large Hadron Collider or any other large government science experiment, the nations of the earth could have gotten together early on and funded a free satellite internet project. It would have been limited bandwidth, high latency and error-ridden but it would have been ubiquitous in coverage, much like the GPS system. And would have accelerated adoption of many of the digital cash and e-banking innovations we are seeing today. As well as gotten a jump start on the physical layer of space based internet ;)

👤 uncomputation
Push for content-addressing over URLs. To be honest, I don’t know if this would hamper the development of the internet or be a good thing at all, but I would love to see what people would come up with and how it would change the web.

👤 asciimov
I would fix the order of URLs instead of http://news.ycombinator.com/item it would be https:com/ycombninator/news/item

👤 deeblering4
Laws to prevent and penalize monopolies from forming on the internet. E.g. prevent google, facebook, amazon, etc from becoming all-consuming evil entities.

That and probably mandatory native layer 3 encryption


👤 drpixie
One general change and one specific:

- A general idea: Arrange so that sending packets costs way more than receiving, just like snail-mail. (At the moment, a large website or spammer pays very close to $0 per message, individuals pay much more per byte to receive junk.) This would encourage decentralisation, nicely small web pages, and discourage spam.

- And "disappear" XML. It might be "ok" (just) as document markup, but it's a terrible for structured data and config, and for transfers.


👤 woodruffw
DNS is a bit later, but: the domain-name specificity notation.

As a coworker of mine pointed out, it's a little bit ridiculous that URLs on the web look like this: `more.and.more.general/more/and/more/specific`. They should really be `more.and.more/specific`, just like bang paths[1] were.

[1]: https://en.wikipedia.org/wiki/UUCP#Bang_path


👤 specialist
re banning ads.

I expected Xanadu. Centralized, omniscient namespace, two-way links, micropayments, etc.

We got The Web. Which eschewed all of that.

Much as I hate The Web (repeating myself), I grudgingly accept that it probably succeeded because it wasn't Xanadu.

Even if Xanadu launched, like a better AOL or Prodigy, I suspect most people wouldn't have grokked it.

Another triumph of Worse Is Better. Like PHP and JavaScript and so many others. Then hot patch it towards something less offensive.


👤 closeparen
I would probably have most nodes on some kind of overlay network contained within a jurisdiction/extradition area, with fewer and more structured interconnections across hostile national borders. I don’t think it’s reasonable to make every small business with an email or web server for its local customers and partners, have to defend against large and well funded criminals operating in broad daylight from Russia.

👤 swman
Just have the internet be a bunch of data streams that people can start/pause/stop any time. It would be "real time" from the beginning, and then you can just build whatever around these streams.

It'd be like my brain broadcast just multi subscription stream, bunch of inputs and reacting to those events.


👤 diminish
i would remove javascript.

👤 rawgabbit
Encourage the App store paradigm and discourage the browser paradigm. Users download apps that they trust instead of using a browser to directly go to a URL that (a) could be fake e.g. "whitehouse.com" (b) installs malware on the client computer. The theory here is that app developers know how to wade the shark infested waters of the internet better than grandpa or grandma and can code basic protections in the app. e.g. just because a website says click here, you don't really have to click there. Especially if a dialog pops up asking do want to give elevated permissions to XYZ?

Encourage the development of browsers for kids. Parents can configure their kids' computer to only run "KidFox" browser which has all the security features turned on. Only allows white listed sites that has been vetted by various agencies, denies escalated privileges, turns off all webcams, prevents remote hackers taking over their kids computer etc.

Lastly, it is more of mindset. Developers should take the attitude that every client computer, server, and database has been compromised to some degree. That is we should have defense in depth and not rely solely on one mechanism to protect us from the bad guys.


👤 PeterWhittaker
Stretch goal: No password authentication whatsoever.

Target goal: No cleartext password authentication. (No telnet as it was, no ftp as it was, no smtp as it was, etc., yada, and so on....)

Fallback goal: Get HTTPS right far sooner, with cryptographers working on SSL 1.0 from the beginning, with funding, and eliminate HTTP as soon as possible.


👤 reactspa
Emails cost money to send. The money goes towards some good cause (maybe even towards internet infrastructure).

👤 mikewarot
I think it's too soon, but security security security.

I'm push as many examples of capability based security into the academic world as I possibly could, in the 1970s.

Alternatively, push a version of Pascal with a standard library, and drown the insane practice of ending strings with a null instead of knowing their lengths.


👤 atmosx
Not my idea and it's not too late to change it IMHO. We use the word "free" for services that extrapolate and sell data. These services are not "free", this small thing IMHO drives the data broker industry to a big extend.

👤 gmueckl
Ome change is enough to transform the mature of the net: no JavaScript or other way for pushing esecutable code or dynamic state chamges to the client, instead, extend HTTP to contain a Turing complete query language to be executed on fhe server.

Pondering the implications is left as an exercise for the reader.


👤 jrnichols
It would be marketing & advertising free.

As in, if you need ad revenue & marketing to support your website, you simply don't exist. You can have a website, but no advertisements or "user engagement" nonsense. You're either free or you're offline.


👤 eointierney
I've so many ideas for this question.

So so many protocols (history), but how few could we get away with, and what would they look like?*

Why don't we have constructive computational contracts for computational work?

How do we make the Internet easier to understand?

How do we manage the agency problem? We yield far too much agency as a matter of daily life, our data is not our own, our decisions are shared with barely knowable third parties.

How do we design human computer interfaces with health, especially mental health, as primary constraint?

How rapidly can the EU coalesce around a combination of a RISC-V general purpose CPU (with suitable trimmings) and a SEL4-influenced-kernel, perhaps in Rust (https://gitlab.com/robigalia)?

How do we standardise on constraints of discourse such as those pertaining to offensive language or hate speech? How do we make it easier for people to communicate with kindness? Autohinting everywhere? Like a shellcheck for human bashfulness?

VR and AR are coming very soon and without care they will be shatteringly destructive of human life. Humans addicted to computationally modeled utility functions mediated by multi-sensory computer games?

How do we embed the lore in the experience? How do we make available all the references as delightful marginalia?

What areas of Mathematics and Physics do we need to study to get ahead of our problems? Category theory is beyond trendy, what's trending? How about rigorous dimensional analysis to match the type theory, or sumthin? How do we invite the world's smartest financiers to apply and share their thought more generously?

Can we settle on a basic curriculum? What functional minimum of linguistic, mathematical, physical, visual, and other skills do we need? Is lisp or a variant the first language we should learn, and if so how should we be able to learn it? If not lisp then what? APL? Fortran? Compiler forbid, Haskell?

How do we ensure that code and documentation are always in sync? How much time will this require?

How do we guarantee a standard of professional attainment and delivery of ICT expert that is globally effective? How do we standardise how we do, not just what we do?

How best can we help each other make our Internet an even better place?

(much spelling, apologies)

*4


👤 alfanick
Symmetric connections for everyone, everywhere by default (assymetric only when it's not feasible, i.e. mobile devices). This I always thought would open door for more peer-to-peer or onion or some superdecentralized architectures.

👤 kderbyma
I would have built in a protocol which could be used for decentralized ad networks in a federated fashion unlike the craziness that we see today with TOS designed to fight all competition and to selectively control the markets.

👤 noobquestion81
It's not entirely fair, because in the 60s basically all modern crypto primitives were missing. If I had those:

1. Encrypted onion routing on layers that betray source/dest IP. 2. eSNI on all TLS connections. 3. Privacy-focused DNS.


👤 giantg2
Better child protections. Not sure what the implementation would be though.

👤 FreeAssange
Nothing bad could ever be permanently fixed, because these changes were inevitable.

The problem is how laws destroy fair competition by favoring those with the most $$.

Fix that, and you fix everthing else (not gonna happen).


👤 jgerrish
I wouldn't change anything. Centralized control will be abused. The people I see harassing others online a lot of times are US citizens, on US domains, in US jurisdictions. Sorry.

👤 ecesena
Remove the cookie consent popups.

Or, if we're talking about the ground work, specs the cookies such that browsers must implement the cookie consent and therefore sites can't build it in js.


👤 kevdevwebsaid
A law that requires apps and websites to ask their new members what they want from that company And then the most repeated comment/idea/design should be applied.

👤 philipswood
Require emails to be signed by the sender cryptographically.

👤 j10c
I will propose decentralized Domain Registration system which can overcome all monopoly, sensors and bureaucracy related to ICANN.

👤 cmason
I'd make it so you can only set the evil bit to 0.

👤 emptyparadise
Develop stronger cultural and technological safeguards to let people remain anonymous and unmasked, preventing the eventual erosion of privacy.

👤 awill
replace https:// with https: (I believe that was TBL's biggest regret too) :).

👤 thrill
Eliminate comments.

👤 nasalgoat
Zero trust as a factor of the protocol itself.

👤 munro
Fiber internet. Having 1000 mbps up/down was so nice when I lived in a city where I had access to fiber.

👤 efficax
Widespread adoption of trusted keystores and encryption keys, completely eliminating the need for passwords.

👤 dxbydt
i had to answer this question on my computer networks exam ages ago. i forget my exact answer, but it was along the lines of “ATM is the greatest tech since sliced bread. IP is bad because connectionless blah blah… therefore http over tcp over atm better than http over tcp over ip”

i passed the course.


👤 thatthatis
Email. Cold email costs $0.01 per message per address to send.

How we distinguish warm va cold, idk


👤 me_me_me
Make everything small endian, its a small ask and would make so many lives easier.

👤 swiley
We already have IPv6.

The only things broken on the internet are smartphones and closed IoT firmware.


👤 jokestir
The internet is fine.

I would change the web.

I would remove JS and design browsers to natively run python instead.


👤 ilrwbwrkhv
Smart documents instead of web apps. And no JavaScript of course.

👤 cpr
I think you mean the late 60's and early 70's.

👤 ipspam
Nothin free. Pay. Small amounts here and there.

👤 no_time
Ban all commercial activity. Make that law loosely defined so it can strike down any company trying to work around it.

A centralized internet will inevitably do more harm than good.


👤 reph2097
Use IPv6 from the beginning and banish NAT.

👤 mtnGoat
Simple answer. No third party cookies.

And no JS. ;) /jk


👤 pkb
Add requirement for every user to have to solve mathematical equation before being allowed to post anything. Make it hard requirement and enforce at all times.

👤 rubenfonseca
No JavaScript

👤 nickdothutton
…also I’d like to add… It’s a pity @dakami isn’t around to give his response, I’d have liked to hear it.

👤 strictfp
Put AJAX back in the bottle.

👤 TheOtherHobbes
Surprised there are comments about essentially trivial network-layer implementation details, and not so much about culture and UX.

As an alternative:

- Private and federated. Everyone has a personal server application which spans multiple personal computing, storage, and peripheral devices and supports federated access at varying levels of security.

- The server stores and manages a user's private data and anything else they feel like storing or sharing. (This requires unobtanium level security, but since we're imagining let's pretend this is a solved problem and see where it takes us.)

- Sharing of all kinds is user controlled and is opt-in across multiple competing federated networks. This includes social networks - with the difference that anyone can start their own network, for any purpose.

- Networks are decentralised and peer-to-peer, and do not store personal data, track, or profile users. This is a user=centric network where users own and control their data. Not an industrial data silo network.

- Users can share different interest profiles and personal details across different networks with varying levels of security and implied credibility.

- Ads are opt=in not opt-out, and defined by voluntary and informed profile and interest sharing, not involuntary and uninformed data harvesting.

- Anonymous microtransactions are a thing. Anyone can sell at scale with as little friction as possible.

- There are no cryptocurrencies and no blockchain tech, because generating random numbers with the equivalent of your own electrical substation is fucking stupid. There is a low-energy secure equivalent. (See unobtanium. Or is it?)

- A common kit of essential server apps is open sourced and community-maintained.

- Commercial and/or professional apps are available by hire or subscription. Servers have a multi-profile multi-layer security model which controls which layer of personal and/or server data outsider apps have access to.

- All paid-for apps supply full details of the schemas and file formats they use, to guarantee that users can freely transfer data to a competing app provider so apps and services hold personal data hostage and have to compete on service quality, not on retention gaming.

- Hacking, malware, virus creation, phishing, and so on, are punished by deletion of personal server data and reduction to the most basic server hardware and software. For serious and repeat offenders, this is for life.

- IoT devices are treated as personal server peripherals with no external data sharing (except by opt-in.)

- Government and military networks use an expanded version of the same system. Municipal, military, and internal gov services run on separate private subnetworks which can only be accessed through authorised devices with extra ID verification, not through general public logins.

Basically it's a combination of device security, private ID (probably biometric), sacrosanct personal data protection, high user-controlled privacy, super low cost of entry for entrepreneurial service provision, squashing of local, national and international scales, and strong forcing of anti-monopolistic competition - the opposite of the current model, which seems to be about herding users into virtual pens owned by monopolists, applying various psychological patterns to control and trigger behaviour, monitoring behaviour and sentiment through minimal privacy, and having to deal with very leaky and insecure devices and systems.


👤 jeegsy
A server in every home

👤 ayansq
s-expressions instead of docbook or xml.

(html (head ...) (body ...))


👤 threesmegiste
Call Ted Nelson

👤 x0n
All porn on .xxx top level domain only.

👤 naveen99
Bitcoin !

👤 anotherevan
Civility.

👤 peter_d_sherman
>"This was just an idle conversation we were having at work. Imagine that one day you wake up and you've been sent back in time, where you are now a researcher at DARPA in the early 1960s. You've got the influence to effect fundamental changes in the next sixty years of the Internet's history, and can make your changes any time in the next sixty years - but you know that as soon as you change one thing in history, you'll be sent back to 2021, to continue living in the world you have wrought. How are you going to make the Internet better?"

You leave it the hell alone!

You leave it the hell alone -- because if you don't, upon returning to 2021, you'll discover that in addition to your wanted change -- there will be all kinds of unwanted "butterfly effects" in the world, resulting from that change, and not limited to the Internet, either!

Like, propagating in and through actual reality -- not just constrained to a computer screen or virtual world!

Unwanted/unforseen/unexpected (but mostly unwanted!) "butterfly effects" (imagine just how scary these could be if you were unprepared for them -- the scariest Stephen King novel wouldn't do them justice!) resulting from Chaos Theory (which programmers know to be actual fact -- make a small change early on in a program -- get vastly differing results later on, as the program moves through TIME...)

So if it one day happens that you magically appear (through time travel, or other plot element) at DARPA in the 1960's -- then you take a quick look, like Clark Griswold in "National Lampoon's Vacation", when he takes a brief look at the Grand Canyon (all of a few seconds!), and you appreciate all that DARPA and all of the other earlier Internet researchers did -- and you leave all of it the hell alone!

Yup, sorry, nothing to see here, nothing to change here, no changes for me! Just passing by, not going to touch a single thing!

You also appreciate the fact that while today's reality is a mess in many ways (and it is!) -- it could also (with Time Travel/Butterfly Effects/Chaos Theory) -- have been a much, much bigger mess(!) -- with Butterfly Effect horrors beyond your wildest understandings!

https://en.wikipedia.org/wiki/The_Butterfly_Effect

https://en.wikipedia.org/wiki/Butterfly_effect

Disclaimer: The above was written for thought-provoking and possibly (depending on the reader's viewpoint!) comedy purposes only! (Though it also works if read from a serious viewpoint...)


👤 randomperson_24
Encrypted SNI and No Paywalls

👤 grillvogel
Cancel the project, Terminator 2 style

👤 shutdownhn
Easy, I'd shut down this website.

👤 rouanza
I want to be able to run a lan cable from the street and basicly join the worlds largest LAN. Free open access

👤 __turbobrew__
I assassinate Osama Bin Laden and therefore prevent the patriot act and the erosion of personal freedoms in the pursuit of “national security”.

👤 underseacables
I remove most centralized control so that private companies have no power to censure, but governments could if they chose. I think private companies have vastly too much power over the internet, something that is unlikely to change.

👤 K33P4D
Search for URL, should be hardcoded into a new standard| Every PERSONAL IDENTITY/WEB URL should exist as its own resource cluster on the hosting server, either as a microservice on a distributed kuberenetes and provide API's to query information | NEWS and ELECTIONS should be blockchain | Blood donation/organs should be on global blockchain | A new Data standard for open health analytics | Pollution, toxic levels of chemicals from known pollution control boards of every country, based on location should be on blockchain.

👤 phkahler
Verifiable identity. We need to be able to verify the source of all data on the network, even if that's just proving the source IP address, or better yet the physical location it came from. People often argue that anonymity by default is a good thing, but I argue that trust of origin by default is better.

You can still strip identification for things like posting in public forums, but for everything else knowing where shit came from is critical. From spam email to well everything. It baffles me that spoofing callerID is not only possible but that some people think its important.

Along these lines I have a pet idea that a subset of IPv6 be geo-located, meaning your latitude, longitude, and possibly altitude are encoded in the IP address. This allows routing without the huge tables in the routers. Combined with the ability to verify that a packet came from its advertised location this is very powerful for security.

One way to verify the origin of data (email for example) is not to send it, but to send something akin to a URL (preferably better than that) so we have to at least be able to request the data from somewhere rather than have it sent to us anonymously.

Unfortunately being able to verify the source of data also enables end-to-end encryption fairly easily and nobody in power wants the public to anything like that...


👤 breck
2-D syntax everywhere. It's a 2-dimensional binary. Suddenly the intermediate layers between binary and the higher level langs we work with day in and day out have the same form.

For example, 2d langs for HTML, CSS, JSON, others: https://jtree.treenotation.org/designer/

A 2D lang that replaces Markdown: http://scroll.pub/

You can have 2D langs for TCP/IP, DNS, HTTP, et cetera. A grid is all you need.

I figured the math out 8 years ago, https://medium.com/space-net, and slowly getting there. Still in early days, but good annual growth rate. I'd be surprised if it doesn't happen. The math makes too much sense.