"We ought to be able to have the expectation that all applications, whether local or remote, will be set up for two-way interactions."
From a technical perspective this is a noble goal, and one I agree with. But before this can become reality we need our network providers to stop thinking in the "it's just like cable tv" mentality. My broadband provider blocks a whole slew of inbound ports, and tends to interpret the AUP with an iron fist... anything that does a listen() is in violation: I've been given greif for using old school ftp! The only available broadband provider where my parents now live assigns all of it's users IANA RESERVED addresses and puts them behing NAT firewalls, which are NOT configured for any sort of Masquerade.
A related aspect is the asymetric nature of many of the "last mile" solutions... they all tend to have much less upstream capacity than they do downstream. The gap seems to be getting worse, not better: witness the jumps from 33.6 modems to 56K modems, then from 56K to early dsl/cable, and again from there to current cable technology. I mean I have nearly T1 capacity down, but merely single chanel isdn capacity up, and if I actually were to flood the upstream it would reduce my down stream to a few K... far less than a modem... not to mention impact my neighbors. There is also a distinct lack of bandwidth to most places that don't happen to have a backbone pop. I know of several very high capacity fibers (OC48s) that pass right through the city limits here, one of them within a short walk from my house, yet the total capacity into town available to all the broadband users is 4 OC3s the last time I could get details from them. (that's if they met the then planned upgrade schedule.) This is an oversell of bandwidth in the range of 2,000:1 if their marketing departments number of users claims are accurate.