Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: If you had a chance to rebuild the internet, what would you change?
13 points by c1sc0 on April 15, 2008 | hide | past | favorite | 56 comments
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?


Usage, technology, resources, bottlenecks - all have been changing all along the time and further will change. The ideal solution of today will not be a good solution for tomorrow. What you call mess, is the result of an evolutionary development that will be replaced by something appropriate when the time has come. Although your question is surely mind-challenging, it assumes that a bright from-scratch design would beat the outcome of the competition of different technologies. I don't believe in that.


edited the original to add quotes around 'mess' ... guess I'm just cranky from the javascript nightmares I've been having lately.

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?


Get the technical level right and the rest will come.

Mechanism, not policy.


That's exactly what Vint Cerf said, the men who invented the Internet.

http://www.lovemytool.com/blog/2008/04/vint_cerf.html


1) A better mail transfer protocol. I don't view spam as inherently inevitable, but with SMTP it seems to be.

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).


Spam makes its way into anything (search engines, social networks, blogs, twitter, you name it). In essence it's just low-quality advertising at an extremely low cost. Whatever makes it possible for people to communicate cheaply also enables spam.

A "better" mail protocol would still have to be free, or very cheap. Snail mail is not free and you still get junk mail.


How does spam make its way into twitter?


Spammers set up account and then mass-follow other accounts. See also http://mashable.com/2008/04/14/twitter-spam-out-of-control/ and http://www.twitterspam.com/ .

I've never used Twitter, I just found those two links by Googling for "Twitter spam".


Thanks. I've been thinking about these problems recently (http://cratuki.blogspot.com/2008/04/blogs-as-email-replaceme...), and twitter is the foremost model I've had in mind as an example of a spam-proof system!

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.


I think you have me confused with someone else -- my first entry into this thread was my post above providing the links to information on Twitter spam.

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.


I would change almost nothing on the web side of things. Having no ads would seriously change the business of the internet today. Who would foot the bill for everything that we use now? End-users?

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.


"HTML is a leveler for a lot of people, and it helps designers and developers actually work together, instead of being limited . . . "

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.


Such a productivity meter (mind if I rephrase it as 'contribution-meter'?) assumes strong identity, the lack of which I think has greatly contributed to the rise of the internet.

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?


Interesting question. I think the "lack of identity" to which you refer has greatly contributed to the rise of Telecom and Internet giants. Also has it likely played a significant part in the erosion of Net Neutrality. There are still far too many corporate-centric entities which control or wish to control and influence what is or becomes popular or noted in traditional media outlets (television, radio, cable, etc.)

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.


Man, a lot of people here are violently opposed to allowing invalid markup. I think that the lenience web browsers afford site creators is a boon. It is one of the key factors in the democratization of the web. Low barriers to entry have been a critical factor in the success and organic growth of the web. Requiring perfect syntax and markup as a method of keeping out the plebes is the kind of self-righteous cult-of-the-machine which drives out the very people who provide content and value to the web.

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.


Shouldn't we "democratize" other programs, then? How about making GCC or CLISP accept incorrect syntax? That would allow more people to provide content and value.

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.


S-expression syntax for markup, Scheme in place of JavaScript, and I'd like HTTP to have a header that sets modification times or other cache information for resources other than the one being sent in the current response.


IPv6 instead of IPv4. No NAT and enough IP's for all your network devices (pda, laptop, printer, etc.)


Well, I think the IPv6 switch is finally going to have to happen anyway within a few years. So hopefully, you'll get your wish.


I'm hoping too but currently no ISP I know has IPv6 support for customers (they may have on their backbone).


And all your grains of sand.


How can you have innovation if you get a standard runtime environment ?

If I would do something I wouldn't display the pages if the markup isn't correct.


Strong Crypto from the ground up. Binary standards instead of HTML, so if anything is broken even the least it cannot be displayed.

JS 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.


Standard runtime environment to target instead of the 'mess' of ((DOM + CSS + JS) x browsers) we have now?

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.


DNS.

I don't know exactly what I'd change, but I'd look for a way to make it impractical for the whole domain/certificate "industry" to get where it is today. ICANN, Verisign, Network Solutions and the like are all just scams.


I agree with mark_ellul, reverse domain name resolution.

com.google.maps etc...

I'd also like to see more crypto.


I think IP and TCP/UDP work pretty well... seems like they messed up a bit on the size of the address space. That's what I would call the "internet" (along with some general services, e.g. DNS). Sounds like you are talking more about HTTP/HTML.

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).


Why do some people want anonymity? Bad idea IMHO

Privacy? Yes of course. Anonymity? Definitely not - just means people can do what they want without any come back.


Tell that to people in some more oppressive regimes, or in places where the alignment between what is legal and what makes sense is out of sync. True anonymity is hard to implement, but it certainly has its virtues.


Interestingly though my college professors were talking about Internet2 and they seem to think the problem is too much anonymity; they want the US government to be able to track down any communications, you know, to catch "teh terrists"

Edit: Not saying that's what internet2 is for, just what my CS professors were speculating it needs to do.


For me, it's more a question of responsibility. If everyone is anonymous, there is no accountability. There's no reason to be responsible. No reason to be well behaved.

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.


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.


Build in semantics from the ground up.


if & when we figure out the semantics in the first place, but I agree: some mechanism for adding metadata at a low level would be great. (Ya, I know, microformats)


Do you mean the internet, or the web?


I meant internet but most people seem to focus on web these days. For example I miss the old usenet days.


reverse domain name resolution... eg. org.reprap


I'm sure you're not being facetious, but I can't figure it out. What's the advantage of this?


I think he points to the fact that reverse domains look a lot more like tree structures which humans are inherently very capable of understanding. With the current system the human url decoding process goes something like this:

* "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 ...


yes we are conditioned to it now... but imagine I want to find a retailer in spain, I would look up es.* or es.com. it just makes life easier...

But its too late for that one...


Ok yeah, com.google.mail/inbox preserves the tree hierarchy


So, instead of the dot com bust, we would have had a com dot bust?


Luckily, people smarter than any of us thought about this a lot already. Unfortunately, with that sort of brain power comes craziness.

Check out the articles and books by Ted Nelson, Douglas Engelbart and Vannevar Bush.


If we were to rebuild the Internet today, we should remake it using a fully decentralized model instead of a distributed one. By turning it into a mesh network, it would make it a lot more robust.


I would remove extensions from domains, e.g., "news.ycombinator.com" would just be "news.ycombinator", and "google.com" would just be "google".


Would of created the Semantic Web initially.. would of solved data integration problems on the way too!


if you think something is wrong with the Internet, then build a startup around the problem.


Heh, what do you suppose the intent of the question was? He's fishing for startup ideas!


an extra level of indirection in all protocols for redundancy. the MX records in dns for mail are a good example. it's currently rather tricky to get good redundancy (fault tolerance) in software.


Persistent connections to the server from Javascript.


Kill NAT!


No concept of bandwidth


Why did I get down modded!


Because it doesn't make any sense? How can you possibly have internet "without the concept of bandwidth"? Do you mean you want infinite bandwidth at no cost? That's not a very mind-expanding proposition.


(1) No ads

(2) If your markup is not syntactically correct, the browser won't display your site.


Kill, maim and murder the insanity of "be liberal on what you accept and conservative on what you emit.". Instead, have a standard dtd, and if any site deviates even a bit from it, render flashing red text on the site that says "The developer of this site is an incompetent moron. You really shouldn't trust him or do business with him." Make implementing this feature required part of every web browser.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: