See also Applet requirements
You must submit sources, and not a compiled .class files. To make sure we run the same code as we review it needs to be compiled on a server side. Please do not include inside the archive .class files, .jar files (like libraries) and anything the like. Source code is required regardless of the license you choose and this code will be public. If you need to keep your code or any part of it confidential, do not contribute.
Your applet must be compliant with standard Java 1.5 (any older Java version is automatically compliant). It must not require any particular version of Java runtime and must not require any specific runtime library packages outside org.*, java.* and javax.* domains. Non standard sun.* and similar packages are normally blocked during server side compilation.
To get your applet approved quickly, it makes sense to show some respect to reviewers. Here are some most important rules on how to prepare the code:
Also, we recommend to build user interfaces manually, without using fancy GUI designers. There are two important reasons for that:
Valuable contributions (especially old code) can be accepted also if it does not match these rules. We are limited in resources but for a good reason we do the cleanup themselves. However if you write a new code, please try to follow them. Valuable contributions on that you have no longer time to work may be processed and fixed by our team if you put them into the Rescue page.
See also Terms of use
Please always clearly specify when your work is derived from some other work the is already inside Ultrastudio.org . There are two important reasons for that:
When producing derived work, please do not format existing code without the real need. This will produce many tiny non significant differences that are difficult to track.
We recommend to contribute the derived work under the same license as the original work. If you choose a different license, it is your responsibility to make sure that the licenses are compatible. Upload system should reject clearly incompatible changes (like GPL to BSD) but it works without warranty of any kind. If your decision about license compatibility is based on some reliable source, please put this reference into upload comment.
All code uploaded through submission form must be packaged into one .zip archive. Inside this archive, the class files must be placed into folders accordingly to they packages. This is a typical structure of the java project that most of the recent developing tools would enforce.
If the archive structure is broken (like having src folder at the top of all packages), the Ultrastudio.org build system will try to fix it for you. Depending on how much chaos have you introduced this may or may not work so it may be better care about the correct structure before upload.
Build system also accepts plain text resources and images. Do not rely on exact passing of your images on binary level as the image processor will load and save them again during the check procedure. Text files must be UTF-8 compliant. Please place them next to the .java class files that references them, not into separate folder. Please do not add your custom manifest as it will be discarded anyway. Please do not add any binary files other than images - this will force automatic rejection at the early stages of submission. Access resources from your code in the following way: InputStream resource = getClass().getResourceAsStream("/images/mybuble.png"). Do not try to load them directly from the web.
Currently we do not support Ant, Maven, Make or any other custom build scripts nor we plan to support them in the future. Allowing this would complicate the security requirements of the Ultrastudio.org build system. Masters of these tools can use them to produce a custom source archive, ready to upload into Ultrastudio.org .
As an extra security feature, recompilation on a server side drops your .jar signatures, if any. All applets in this portal run with the lowest possible permissions of the unsigned code.