WIMS offers great freedom in the design of modules. As a result, a wide variety of applications of various aspects are now available. Here we discuss some of them as examples.
The only mathematically nontrivial part is the generation of the puzzle. For example, in the 3×3 case, the combination of shifts can generate only even permutations (all of them). Therefore, in the initial scrambling by the server, only even permutations are generated, so that every puzzle presented to the user is solvable.
The server can detect situations such as
At the end, it attributes a score to the user, which depends on the efficiency of the questions asked.
There are several exercises of the same style. Interested readers can search for the word graphic on the WIMS site to get the complete list.
A comment about the root/extrema search under Function calculator: Behind the simple user interface -- click on an apparent root or extremum in the picture, and the root or extremum is found and computed to arbitrary precision by the software -- several programs are called in sequence to compute the answer: PARI/GP for roots, Maxima for symbolic derivatives, and Gnuplot to plot the point. A similar mechanism can also be found in D-int for computation of numerical double integrals.
There are several factors that limit wide distribution of such a script:
The online environment is particularly suited for such special-purpose applications: No distribution of the script is needed, and any interested person can test it or use it immediately online. Although WIMS contains some applications that may be considered "special purpose," it is still at its very beginning with respect to the huge potential of development in this direction.
This illustrates another interesting potential use of WIMS: The best way to publish a special-purpose algorithm is online execution. The distribution of source code is limited by many factors just as in Example 6: adoption rate of the language under which the algorithm is implemented, limits of communication, and users' willingness to compile.
On the other hand, a naive online execution chained by a simple cgi script may bring considerable security risk to the server, so a system like WIMS, having several layers of security protection, is necessary for such online executions. (The security issues will be discussed in another paper.)