So this being the summer between my junior and senior year in college, I decided to try a lot of new things, including working for a start-up (http://www.ineed.com), organizing the MIT 2003 Career Fair, and developing my own little project on the side (learning game programming with OpenGL). This leaves treehouse studio in a holding pattern at the moment, until picked up by another ambitious researcher. I hope to possibly return to ACG come this fall... we'll see how the project has progressed.
What you need to know to continue on the project
The following is a brief overview of the project so far so that future developers can pick it up more easily. The code is mostly well commented, but I haven't had time to look through it and clean it up, so please email me if you have any questions.
First of all, the project was developed using Apple's ProjectBuilder and so the project file is included in the archived code.
I have tried to keep most of the code in the Java 1.1 compatible so please keep this consistent. We put a lot of work into re-implementing AWT classes to keep things optimized and efficient. If you have any complaints, contact me about it.
Three Packages (Two Java packages, the other is Python code)
The project is divided into three packages, the framework of treehouse studio (the treehouse package), the implementation of the paint applet (the paint package), and the python code that generates the html (called thspython for reference).
To compile the code, you'll also need the PaintApplet.class (located in the archive). All paint package code should be in a directory named paint, all treehouse package code should be in treehouse. PaintApplet.java should be in the parent directory of the two packages. An important note is that the thspython code must be in the same directory as the applet created from building the code. The thspython code should also be in the directory from which you are serving. For now, the thspython code is located in the build directory into which ProjectBuilder builds the applet.
Furthermore, you'll need to add PaintIOPortal.java to the paint package before compiling. This file is kept hidden because it contains the passwords for manipulating the database. Consult John Maeda for the location of the file.
So, if you'd like to add general components to the treehouse studio application framework, modify the treehouse package. If you want to add, modify, or remove any features from the PaintApplet application, look into the paint package. If you want to change the html interface and how treehouse studio works around the applet, look at the thspython code.
There are also miscellaneous files associates with these three packages including icons for tools and the images for the html generated. These are important if you want it to look nice.
On top of the packages, you also need to get a good idea about the database structure of treehouse studio. Right now, it is pretty simple. You can find the dump of the MySQL database here.
What needs to happen next
The state of the project is almost at a nice breaking point but there are still some loose ends.
First of all, I want to add interface to create and manage users, important for administration of the system.
Also, the thumbnail creation function in the PaintIOPortal class needs to be finished using cgi and python. This will take some time and head banging to get this to work.
Finally, I also want to finish off how the settings operate to give a good example of a user with particular settings.
Actually, there is a lot more that can be done to polish this off, and if the mood strikes me in my off time this summer, I think I'll pick it up. Send me an email if you're working on this so I can get in touch [email: mplanck (at) mit.edu].
That's all for now...
|© 2003 | maxwell planck|