These small applications all share a common codebase and Applet class. This allows the applications to run within the same JVM session and share the same memory. If successfull we get very lightweight communication between the applications using static classes even if they are in separate windows. Also, each application need only load the classes it needs allowing for better download performance.