Ask HN: If you had a chance to rebuild the internet, what would you change?
True anonymity at the lowest level of the stack? No ads? Standard runtime environment to target instead of the 'mess' of ((DOM + CSS + JS) * browsers) we have now? Built-in state?
59 comments
[ 1.7 ms ] story [ 93.5 ms ] threadJS goes out the window and is replaced by a scheme like language that can process HBML as if it was native list.
But those are minor points when you compare it to the first.
* "Find the third forward slash in this string ..." * "Read backwards & split on dot, there ya go: the tree path of the organization giving me this information ..." * "Now, skip forward to that slash again ..." * "From here on, split on the slash & that will be the tree path leading to the data this organization wants to give me"
We're probably all conditioned to it now, but it's not exactly beautiful ...
But its too late for that one...
com.google.maps etc...
I'd also like to see more crypto.
True anonymity seems a bit hard (when you make a request, the reply has to go somewhere).
With regards to the "standard runtime environment"... I'd add true bidirectional communication, and a built in local storage mechanism (though Google gearbox and the flash hack seem to have mitigated this).
UPDATE: (fixed some cases).
(2) If your markup is not syntactically correct, the browser won't display your site.
I agree with letting evolution & competition do its work, so let me rephrase: "Given the opportunity to re-arrange the basic conditions out of which the internet evolved (TCP/IP, HTTP, SMTP, HTML, ...) what would you change." The choices encoded in these standards are as much ethical/philosophical as technical. Do we value security? Openness? Speed?
I agree with IPv6 & getting rid of NAT on a technical level. What else?
Mechanism, not policy.
http://www.lovemytool.com/blog/2008/04/vint_cerf.html
If I would do something I wouldn't display the pages if the markup isn't correct.
HTML is a leveler for a lot of people, and it helps designers and developers actually work together, instead of being limited (VS.NET), it also allows for quick (albeit not always concurrent) innovation, and competition. TCP/IP Is so well generalized that you can do anything with it. Redundancy is not well executed, but it doesn't have to be if the pipes get bigger.
Doing things like calling new developers "incompetent morons" stifles innovation. I certainly would have quit a long time ago, if when I started there was no room for mistakes.
HTML and Javascript were the 'gateway language' for me for all sorts of things.
Precisely. It used to annoy me when people would ask me what language I "program in". I've since learned to just explain that I write code that can be rendered, downloaded, executed, or otherwise modified (locally and remotely) through a browser or IDE and without (necessarily) having to be connected to the Internet.
But anyway. I think if I had the chance to rebuild the Internet, I'd build in an all-inclusive productivity-meter. This productivity meter would gauge, record and reward people as both content producers and consumers/participants of media. This question reminds me. . . there's actually an interesting piece in this video:
http://www.youtube.com/watch?v=0fUHtc37MC8
about that concept of ripping down the barriers between producers and consumers of media.
At the same time strong identity is at the core of the whole OpenID / OpenSocial /Social Graph debate. Are we trying to build something that should have been included in the first place?
Traditional media relies upon what marketing people call "push advertising" where people are encouraged to take what is being said in the commercial/infomercial as fact. The Internet, however, is literally able to generate its own "pull advertising" as it enables people to participate and research between or among alternatives. Think of the Mac VS PC VS Linux spoofs. Apple spends zillions of dollars in advertising (which is one of the reasons their products are so expensive!) and many PC manufacturers do, too ("Dude! You're getting a Dell). But Linux doesn't have any advertising, really . . . (Novell does not count), but that hasn't prevented it from gaining momentous adoption in recent years.
But anyway, before going too off-topic:
Maybe it's not that strong identity should have been "included in the first place," but that the infrastructure could have been planned better to include room for a more equitable exchange among "providers" and "producers" and "consumers". After all, it's not like the ISPs or Internet giants are actually the entities _producing_ most of what is interesting or useful on the web. Of course, those touting themselves as "providers" would like most people to equate them and pay them as "producers" and such.
Privacy? Yes of course. Anonymity? Definitely not - just means people can do what they want without any come back.
Edit: Not saying that's what internet2 is for, just what my CS professors were speculating it needs to do.
On an anonymous internet, you can just attack websites you don't like, post incorrect claims, abuse people and be a complete pain in the neck.
You can do that already. On the other hand, if you have anonymity you can still choose to give yourself a name and identity. With strong identity you can even prove that it's you. Or at least that it's the same person each time.
There are lots of good reasons to allow anonymity.
2) Internationalization from the ground up. Domain names are still effectively limited to 7 bit ASCII (even though "dots" are represented by '\0's in the DNS, which doesn't rule out UTF-8, in practice it doesn't work well). I also still get mail I can't read, even when it's in a language I can, because of encoding issues (increasingly rare, but it still happens).
A "better" mail protocol would still have to be free, or very cheap. Snail mail is not free and you still get junk mail.
I've never used Twitter, I just found those two links by Googling for "Twitter spam".
I still think the model is good. The follower spam problem described in those links (this too: http://www.stoptwitterspam.com/blog/about/) is indeed spam but could be could be fixed without it breaking the essence of the twitter approach.
I'm convinced that spam is a result of weaknesses in the model of the email system and not inevitable as you suggest. If we had our time again we would be able to standardise on a better model and for this reason was a bit surprised that you just accepted spam as part of life.
The blog link at the top describes some of my thoughts. Models that involve variable payments work as well because they directly price on how much you want to be paid by people who waste your time. In such a world I'd love it for people to spam me.
That said, I mentioned in another comment in another thread that I have to spend some of my time dealing with spam and all of its people effects on a pretty regular basis. I've also screwed around on the 'net since Mosaic, and dialed in to local BBSes before that (I started young :-).
In my opinion, any form of two-way communication which allows anonymous entry will be vulnerable to spam. I certainly can't think of a workaround for that, and nobody else has managed to yet, either. I agree that Twitter spam has a good chance of being eradicated once they tighten things up a little. However, in part they have that chance because Twitter isn't fully bidirectional -- there's no way that I know of for a Twitter user to send messages to someone who hasn't signed up to follow the user.
Now, if you do have correct markup and the browser developers still screw it up... off with their heads! Shame on you, you should know better.
We might end up with a lot of programs that only compiled correctly on one platform (gcc quirks mode!), but it would lower the barrier-to-entry for new programmers.
This is what I've always wanted. When the web first took off, I was constantly whining about how remote application UIs were going to get shoehorned into the model of document layout, of all things. It seemed short-sighted and dumb.
In retrospect, I'm not sure the web could have become what it is with something more like java applets, flash, or AJAX in the forefront. Document layout isn't what we're really doing, but it's a simple starting point that everyone can get behind.