So NAT, and the plethora of unholy "protocols" for traversing it, are acceptable solutions that will last us indefinitely, but DNS is so unusable that we're better off typing in IP addresses?
The real damage caused by NAT is mostly invisible. Because some people don't have IP addresses, creators of applications and protocols must assume that nobody does, making many ideas complicated or impossible. We won't know what branches of innovation we've missed out on until this constraint is lifted. As James Burke teaches us, it's these little things that so often change the course of technology.
I totally agree with this. We've been in a firewalled world of NAT pain for so long that developers have largely forgotten how to think outside the client/server box it has imposed on us.
I feel this acutely every time I try and spread the word about my project (PageKite, a system for putting "servers" on mobile and personal devices). People just look at me funny and go "why would I want that when I can rent a vserver somewhere in the cloud?"
Once upon a time people would have asked "why do I have to rent some external machine instead of using this one I already own and this Internet connection I already have?".
The real damage caused by NAT is mostly invisible. Because some people don't have IP addresses, creators of applications and protocols must assume that nobody does, making many ideas complicated or impossible. We won't know what branches of innovation we've missed out on until this constraint is lifted. As James Burke teaches us, it's these little things that so often change the course of technology.