Problem Set #10
I lied. PS #9 was supposed to be the last problem set. But this is the *true* last problem set. You have 2 weeks to do this problem set (due May 9) even though it will probably be the easiest problem set you've ever had. Actually I think this is wrong ...
The topic is communication. Communication, in this context, is defined as a 'click' in space to your neighbors. I have a server running on cmyk.media.mit.edu and an example client at [here]. Please download the server and client code. This is a slightly hacked version of the Java in a Nutshell 'MultiServer' code. The way it works is that you connect to the server port, it gives you back an ID number, and then anything you send to it, gets sent to all machines (including yourself).
**** Tom got the server running on acg so all is well. Here is the new acg client (it is the same code, etc.) but running local to acg [here].
Here are the rules:
a. connect to the server, it will give you the message '0 WELCOME n' where n is your id. hold on to that id number.
b. you broadcast all mouse clicks in the following format: 'n x y' where n is your id as an ascii numeric, x and y are your click position as ascii numerics. for example '1 100 128' would be a broadcast from id '1' of a mouse click at '100 128'.
c. process all messages of the form 'n x y' according to the following problem specs.
d. disconnect from the server with 'BYE'
e. limit your display area to 565 pixels wide by 400 pixels high.
1. Design a communicator that emphasizes the communicative space shared by you and all your participants. This can either be the temporal or spatial nature of the communication space.
2. Design a communicator that emphasizes the communicative space focused between you and another participant, but maintaining the other communication in the background. In other words, your interface should allow you to select from perhaps a menu of participants with which you can focus your communication.
3. Design a communicator that makes you the omnipotent 'observer' of the entire space of communication (but not as an active participant) and gives you the feeling of being a sort of 'God' over the entire space. Perhaps Tom can offer some ideas...