Sometimes, software development projects do not go as we want...
Here, maybe frightened by technical issues, we first set out to solve the technical requirements, while setting aside the design phase.
It was to trigger a flash game via a push button that writes to the serial port.
But the flash player does not have access to low-level devices, so we built a bridge between the os and Flex, with a small Java program that relays messages from the serial port to a TCP socket.
The problem was that once these uncertainties removed, we directly begun development, without a true model of the application.
If one day you are offered such a deal, get out!
For me I stayed, and now 2 years have gone...
Of course, we recently had to deliver the product to the customer, and thus we were compelled to refactor the code to produce something that is up to the Tanukis web-studio quality requirement...
This is not the game code, but the Air application that configures it. Obviously, being a commercial project, I could not deliver the sources.
Here we go, 10 days Tanukis refactoring crash-course!