Applet collection

Ultrastudio.org is a manually curated collection of educational Java applets, supplemented by the corresponding "encyclopedia-style" articles.




Dijkstra, A* and other graph traversal algorithms. Right click to set another node as goal, drag to connect the nodes.


All applets are available with source code that has been thoroughly reviewed for bugs, inaccuracies and security issues. Where bugs and inconsistencies were found, they were corrected by our team, making sure that applets meet basic quality requirements. The final versions were reliable during our testing, and the provided interactive demonstration matched theoretical knowledge. Overlooked issues, if any, should be infrequent. In the most cases we also wrote the short supplementary articles.

The site shares some features with "public Free encyclopedia", design looks similar and actually many pages are user-editable. However it is maintained by group of professionals rather than "community". While we accept active submissions, later all code is reviewed before inclusion, same about article edits. We also contribute our own original applets and most of others have either extended or fully rewritten GUI.

While we are currently more focused on Java, there is a technical possibility to support other platforms that compile human readable plain text (suitable for reviewing). Scala, Eiffel, Jython, Moonlight, JavaScript or something else can be added if seriously requested.

We are only interested in applets whose licenses allow sharing and commercial reuse. Licenses can be easily verified as all sources are referenced. We would remove any applet that the author does not want to be here, even if the code of this applet has been found available under some Free license.

This project is lead by Audrius Meškauskas, PhD. It uses Project Kenai for bug tracking, mailing lists and forum. Our server supports Universal edit button. This site is climate neutral.



Security

Ultrastudio.org server enforces all applets to be "unsigned". Such applets always run under extreme security restrictions without access to you local computer; you cannot grant such access even on purpose. Also, we require recent Java versions (1.5 or newer) that have important security enhancements. Normally[1] all our Java code that runs on your browser has been previously seen at least by the site team.

See more on security.



This number base converter converts floating point numbers between the two arbitrary bases

Role

See also Pre-history of Ultrastudio.org

Free/Open Source world currently owns the contribution of the immense value - Java implementation, once contributed by Sun Microsystems and protected under firm rules of GPL[2]. Free software supporters once paid expensive price of near fully implementing the same functionality in GNU Classpath project.

Java has been and remains between most popular languages in the world. Lots of educational applets have been written through the world over years. Not all of them come from the initial raise of Java: some really good applet projects started in as recently as in 2010 (see BABA[3], for instance).

Java applets seem to be the most useful to illustrate mathematical, technical, electric and some other subjects, from interactive function graphs till mathematical models with advanced visualization. Unlike animations, applets can interact with the user, allowing active experiments. They are fast enough for non trivial visualizations that are computation intensive. They are more portable, secure and website-integrable than standalone applications.

Actually, in somewhat 1998's the good part of Java - related talks were talks about applets, while mostly focusing on visual effects. At one time some web pages contained dedicated applet per single navigation button! This direction seems exhausted now: applets are overkill just for "eye candy" that can be easier produced with alternative technologies.

However a completely different group of applets started to emerge during the years. Lots of applets were created for educational and similar purposes. It is even possible to suspect that this is one of the most successful areas of they use. Apart separate applets, there are also some big projects, for instance, the complete suite to assist the course on differential equations[4], a portal devoted to heart physiology[5], a several suites of stunning applets on physics[6][7][8] and lots more.

Detection of the long signals with delay line
There are quite many such applets on the web but they must be stored at the cost of they authors and frequently disappear when the funding ends. For instance, university pages are often removed after professor retires. Also, we remember the shutdown of Geocities, when lots of freely hosted content has been lost.

Many applets are available with the full source code but without any clear license, so it is not obvious if even screen shot can be ever reused. Another problem is the supplementary text next to the applet: often the author of quite good code has no more time to explain properly about his/her creature. Many applets appear with only rudimentary explanations, and sometimes without any. This is also true for applets that really need some explaining material to be understood. The assisting writer whose role is as important as the role of the applet developer can help a lot, completing the page into serious educational material.

From the other side, educational applets so far have seen little (if any) benefit for open sourcing Java. Major community encyclopedias keep lacking applet support that seems requiring significant alterations of they now stable, mature and already heavily used infrastructure. We are new, small and can experiment more easily. The purpose of this portal is to show that Java applets are really well suited for educational content and that it is possible to have a process to use build and use them safely by community.


Lack of the central location to unite developers of the educational applets has the following negative impact:

  • Who writes the applet, frequently has no more time to write any proper explaining text next to it. Public Wiki can allow other people, including non programmers, to help.
  • Individual applet may not motivate enough to upgrade Java to the proper version, forcing people to assume platforms as old as 1.1. They are no longer competetive. A portal with many such applets is more capable for motivation, allowing all developers to use the recent Java features.
  • Applet deployment is complex at these times when the new standards are not yet consistent and stable. Our server will adjust startup tags depending on the browser.
  • It takes weeks to find the applet you need as the search bot cannot easily see the applet capabilities. It needs to rely on the surrounding text that is usually very short to maximize the room for the applet.

Leader is not required to fly in a flock



Prism. The mathematical model should deliver correct path and deviation of the ray for the prism of this size, made of the assumed material.

So, why the site like this have not existed before? From one side, Java have been traditionally avoided by good part of the Free software community for being non free - the situation is different now. From another side "public free encyclopedia" may not sound particularly attractive for a manager responsible for official marketing of the programming platform. Hence both sides were reluctant to provide resources that are required just to try a project like this. Customized Wiki engine, code review system and server side builds cannot be created by deploying a bunch of html files on the university web folder. They require dedicated server, something that for many years was an expensive thing to have. Individual applet developers were (and still are) too scattered to act as a united force. Yet, with the project finally launched, this may change.


In the future, hope to acquire our own community, capable to review, validate and fix applets on its own. This would allow project to become a very valuable resource on the web. So far, the initiative group maintains everything itself - and is ready to maintain as long as needed. We aim to be an answer to the frequently unclear question "where can I share Java applets online?".

At the end, maybe HTML 5 will come that finally provides canvas component, allowing have big part (but way not all) of this collection in JavaScript. Still, even then our collection will serve as an excellent set of prototypes, providing relevant experience from the past. Java may stay however. We have visualizations that contain tens of non trivial classes and require the speed of the compiled code, obviously creating the niche for some more complex and powerful platform.



Eclipse update mirror



We support the Eclipse IDE project by providing the fast update mirror. To use this mirror, add http://ultrastudio.org/eclipse/eclipse/updates as an update site (older versions are also supported). We develop our applets, server, and also review applets under Eclipse. See more on eclipse update site.

We are currently working on

  • Possibility to undock Java applets. This is theoretically should not be difficult to do, Java can launch floating frames from the applet code. We are aware that Oracle JRE provides this out of box but there the feature is wrapped in some mysterious jungles of JavaScript - we want to have it open and also for other JREs.

Recently finished

Achievements

During the months of operation, the site has grown from the initial 14 article "seed set" to about 100 articles at the moment, each of them having explaining article next to it. The first day of December brought more visitors than the whole July, the first month of operation. In general, the site is clearly making a progress and we are excited to guess how will it look after a year or two.

The real time view of the mars globe, oriented as it looks through the telescope.

References

  1. 1 No site is safe against attacks but we do have some additional support, see badge on the left.
  2. 2 FSF position on Google-Oracle lawsuit
  3. 3 Basic-Algorithms-of-Bioinformatics Applet, SourceForge page
  4. 4 The d'Arbeloff Interactive Math Project
  5. 5 The virtual hearth
  6. 6 Paul Falstad applet suite
  7. 7 Brainflux applet collection
  8. 8 Physical applet overview maintained by prof. Michael Fowler
  9. 9 Terence Tao applet project