We review an example of wide-area mobile agent applications: video-on-demand, long-lived scientific computation, and collaborative work, and the design of a distributed infrastructure required in each of these applications for location-independent communication. For the latter application, we propose an infrastructure algorithm that assumes two kinds of collaboration: (1) within a group of ``mobile'' individuals, who can communicate frequently using different computers connected to a local-area network (possibly via a wireless medium), and (2) some individuals may also communicate outside their groups using the global network. The algorithm has been specified formally, as an executable encoding in Nomadic Pict. The formal specification is concise but gives enough details to be directly translated by application programmers using their language of choice.