It's been over a year [1], and we're still not quite there with the “virtual gaming table” that Bob wants.
After several months we've given up on sound—the ability for us to talk over the Internet using our voices rather than text. It was a painful lesson to learn, and yet there's still a person or two that wants to keep trying.
But the technology isn't there yet.
This is how we're currently setup [2]—the image shows the private networks (red areas) and their connections (green areas) to the Internet (blue area) with the lines widths representing the relative connection speed (hence the thickest connections are local networks; the DSL (Digital Subscriber Line) connections are thinner and the thinnest connection being Lorie stuck out on a 56k dialup through AOL (America Online) [3]). And assuming we're trying to use “voice” instead of the gaming specific chat software we usually use. And assuming that NAT (Network Address Translation) issues (dealing with the translation of network traffice between the “private” networks and the “public” Internet) aren't an issue (and they are since most, if not all, VoIP (Voice over Internet Protocol) type protocols assume both sides are on “public” networks) and assuming that the VoIP on each user's computer sends a copy to everybody else [4] in the “conference call” then it works like this: Fritz says something, and his computer then has to copy it out to eight other players, five copies of which are headed towards Bob's house (the big red area on the right). And what if Lorie, on her 56k dialup says something? Her connection is suddenly swamped sending out all that data.
And heaven help Bob's network if everybody at the table starts talking.
Things are only marginally better if there's a central server handling the messages [5]. Sure, then everybody's computer only sends a single stream to the central server, which then streams copies out to everybody, but that still leaves five streams headed towards Bob's house [6].
Today I was taking with Dan, the network engineer here at the office, and he mentioned Asterisk [7], an open source PBX (Private Branch eXchange). Put one Asterisk server out on the internet, another one at Bob's house. Those not at Bob's do a “conference call” to the server on the Internet; those at Bob's house do a “conference call” to the server at his house, and possibly with some hacking, have the two Asterisk servers pass the “conference call” data between them [8].
It might be possible, but, and this is a big one, but, it's more possible that we can do this on a stupid network [9] than if we waited for this functionality from the “intelligent phone network” (“We're the phone company, we don't have to care!” [10]).
[2] /boston/2004/12/01/colorized.network.map.jpg
[4] /boston/2004/12/01/colorized.all.jpg
[5] /boston/2004/12/01/colorized.all.server.jpg
[6] /boston/2004/12/01/colorized.all.server.reality.jpg
[8] /boston/2004/12/01/colorized.all.server.asterisk.jpg
[10] http://www.conman.org/people/spc/writings/murphy/ml405.html