I would argue that no application should be "network" aware, but rather that all applications should be "message" aware.
Most of Tim's list belongs in the OS. If we then extend the "File Types and Programs" registry to be network message aware all the application programmer has to do is be able accept asynchronous messages.
The buddy-list as group idea is clever and simple, good idea.
Discovery is a problem, CORBA Trader and UDDI/WSDL fail to handle the dynamic nature of what most of us want to do.
Something simple like IPV6 broadcast and a pattern match on the XML interface signature of "registry" entries should solve the problem nicely. In lieu of IPV6 we'll have to figure out some sort of decentralized solution, perhaps a variation of P2P.