After 96 man-hours, the cleaning is done.
Results: line count down to 3333 from 13030. Speed increased, memory footprint decreased.
The development should now proceed in two fronts: reimplementation of the GUI and reimplementation of the svg parsing. Miguel will work mostly in the GUI, and Marco in the parsing. The other developers are, of course, free to choose what they want to do.
The reimplementation of the GUI will proceed in the current CVS tree (Viewer/). The reimplementation of the svg parsing and DOM construction will be started in a new tree (gvsj/). Both these trees will be coded for, and using, the most recent technologies. That means Java 2, including the use of Java 2D and the most recent Java libraries. The objective is to do a complete implementation of the Mobile SVG's Basic profile. These trees should be merged sometime in a not distant future.
Of course we still want to run the viewer in pockets, which means the Java 1.1 platform. With that objective, a third tree (gvsj-fly/) will be created. The purpose of that tree is to change the code in the other trees to make it work in Java 1.1. Of course that doesn't mean we will have to change all the code from the other trees, but, instead, to create the necessary libraries to substitute the ones not present in the Java 1.1. It would be nice if someone steeped forward to manage this tree. Anyone interested? This task will not be very difficult: we, all, will be careful when choosing the code to use in the other trees to make this task of porting an easy one.
For now, the development process should _not_ be closed. One option would be to have a maintainer for each tree that would accept patches from the other coders; no one else would have write access to the CVS tree. This is a good way to maintain a big project or one that is already in stable state. As we want to develop as fast as possible, and we sure are not big yet, the 'open access' is preferable.
And that's it for the plans. We are really hopping for replies to this message.
P.S.: Due to the change in the GUI, the attached file is needed to run the application. It must be copied to the directory '../icons' relative to the location of the code. That is, the directory containing the code should be sibling with the directory 'icons'.
P.S.2: The numbers are a little misleading, and a little provocative to the original developers. Many lines came out, but we trashed some functionality in the process. To maintain the same functionality as the original code we would need, for sure, at least... lets say... 4444 lines of code. So, they are not as bad as they seem, looking just to the numbers.
P.S.3: (Quem escreveu o P.S.2 foi o Miguel. Eu nao tenho culpa. --Marco)