Today, I re-read Jean-Francois Tremblay's post at go6.net titled "The IPv6 Killer App", with the mindset of "what does IPv6 mean for the BUG, and for Bug Labs' customers?".
My IPv6 "elevator pitch" after reading that post and thinking a bit is basically this:
IPv6 allows for host-to-host communication, without all of that pesky NAT getting in the way. Host-to-host can mean BUG-to-BUG, PC-to-BUG, BUG-to-PC, BUG-to-(other device), (other device)-to-BUG, BUG-to-(some web service), and of course, (some web service)-to-BUG. Maybe more.
So, the short version is "the killer app is the network". Well, damn. No one wants to hear that! They want the app to be, well, an app. But, if you think about it a bit more, if the network is smarter, then all of a sudden, it can be easier to make all of your apps smarter.
I believe that the kind of network environment that IPv6 provides will better allow internet users to start thinking along the lines of "How can I provide services and information to my friends and neighbors?" rather than just, "Which website do I want to stare at next?". This is because with IPv6, every device can have a public, internet-routable IP address, and can therefore be a server just as easily as it can be a client. So, you're not stuck with a single public IP address sitting on a router in front of a bunch of non-internet-routable addresses on your PCs and other network devices, like you often are with IPv4 and NAT.
Imagine a network consisting of people with mobile devices, where your friends and associates (and perhaps even complete strangers) can provide up-to-the-moment data directly to you (and you to them), straight from (or to) their mobile devices, without the requirement of any middleman other than the internet itself.
- Get Melinda's latest pictures straight from her IPv6-enabled camera... the moment they're taken... without her having to post them to flickr, picassa, etc.
- Get Brian's latest development code directly from his working copy (even though he's not checked it back into the version control system on the server yet).
- Make a private, encrypted phone call directly from your IPv6-capable internet BUGphone to a friend's IP phone, routing the traffic through your own PBX rather than the phone company's.
- In an environment where there is no existing internet or LAN available (which could be anything from a social gathering to a full-scale emergency situation), create your own ad-hoc network of BUGs, PCs and other IPv6-enabled devices, where hosts can join and communicate with each other with no requirement for centralized network or serivce management (ie. no DHCP server required, use of IPv6 Anycast, etc.).
Of course, there are security and privacy issues related to this, but I'll save that for another post. :)
If you've read through all of this, you'll probably come to two realizations: IPv6 is pretty damn sweet for the BUG, and our elevator is really, really slow.