Sunday, October 4, 2009

The CyberRobot plugin

"When there is a CyberCity with robots, these robots should be called the CyberRobots."

The Main part of my traineeship assignment is the plugin to be developed in java to communicate with the CyberRobot(CR) through Skype. There is already an application called the CamControl which also communicates through Skype and is written in java, but it is like a mix of long spaghetti ropes where the beginning or the end cannnot be found. This plugin works acutally very well and stable, but it can't control the CR. It is written by Tim. He has written this for the Webchair. A meeting was arranged with him so I could get some explanations. We finally met on a friday afternoon and he begun to look at his own code. It was a while ago since he had developed it and obviosely he had to look, search and think on many things. The meeting finished and I still had no idea of how and where. Maybe because it was friday late? ;)

The next time I sat behind my desk, I began destroying the spaghetti in anyway I could. It definitly helped me to find where it begins. On the other hand I found a very useful example which made some parts clear.

I have now begun to develop my own code with the help of the two examples I have. There are no good documentation on the Skype4Java API so that is also most of the times try and catch ;). But there is some progress. The main things acheived until now are:

- detect skype on mac safely (very unstable and thread unsafe)
- listen for a call (both incoming and outgoing)
- listen to the call status change
- distinguish friends or non-friends (in skype it's possible to call even someone not on your list)
- automatically answer if the caller is a friend or reject if not a friend

It seems that skype4java works very stable and easy on windows os. On Mac OSX it doesn't do the same thing expected. So every step should be tested and tried on both OSs.

The next step will be to create a handshake and a stream. The handshake will be used for confimation and the stream will be the the canal through which the application will control the CR(CyberRobot).

Here is where the CR's home

No comments:

Post a Comment