taskSavannah Administration - Tasks: task #4317, Submission of AxiomUI - A GUI for...

 
 

task #4317: Submission of AxiomUI - A GUI for Axiom

Submitter:  Kai Kaminski <kaikaminski>
Submitted:  Sun 26 Jun 2005 10:50:56 AM UTC
   
 
Should Start On:  Sun 26 Jun 2005 12:00:00 AM UTC Should be Finished on:  Wed 06 Jul 2005 12:00:00 AM UTC
Category:  Project Approval Priority:  * 5 - Normal
Status:  Cancelled Privacy:  Public
Assigned to:  kickino Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Thu 07 Jul 2005 01:47:19 PM UTC, comment #4: 

Hello...

All right, we will remove your project.

And.. you mean the "Lisp Lesser General Public Licence"; we thought of a type. So there should be no problem witht the LLGPL, I think.

Regards,

Sebastian Wieseler <kickino>
Thu 07 Jul 2005 01:00:27 PM UTC, comment #3: 

Please remove this project. It was decided that development will happen in the existing repository. What's wrong with the LLGPL (http://www.cliki.net/LLGPL) by the way?

Kai Kaminski <kaikaminski>
Wed 06 Jul 2005 06:08:24 AM UTC, comment #2: 

Hi,

I am waiting for an answer from you.

If within one week I still do not get a reply, I will remove your project.
You will still be able to register it again once you have the time to deal with the registration issues.

Are you still willing to host your project at Savannah? If not, please tell us - we don't bite,
and it will make us gain time.

Regards.


Sebastian Wieseler <kickino>
Tue 28 Jun 2005 10:30:28 PM UTC, comment #1: 

Hi,
I'm evaluating the project you submitted for approval in Savannah.


First, please include a (perhaps temporary) URL pointing to the ("almost none") source code.
The description you gave when registering will not be read by the general public.
If you are still concerned with privacy, however, you can forward the code to me by email.

We wish to review your source code, even if it is not functional, to catch potential legal issues early.

For example, to release your program properly under the GPL you must include a copyright notice and
permission-to-copy statements at the beginning of every file of source code.  This is explained in
http://www.gnu.org/licenses/gpl-howto.html.  Our review would help catch potential omissions such as these.



Second, "Linux" is just a kernel of a more complex system that we like to refer to
as GNU/Linux, to emphasize the ideals of the Free Software movement.

Would you mind changing references to Linux as an OS to GNU/Linux?

For more information, see http://www.gnu.org/gnu/linux-and-gnu.html.


Third, how do you plan to test some dependencies (javascript, SVG...) so that the application runs on a completely free software OS (such as GNU/Linux or GNU/Hurd)?


Fourth, not "LLGPL" but LGPL or GNU LGPL.

Fifth, what common lisp implementation would you like to use?


Regards,

Sebastian Wieseler <kickino>
Sun 26 Jun 2005 10:50:56 AM UTC, original submission:  


Site Admin. Approval/Edition URL:
 <https://savannah.nongnu.org/admin/groupedit.php?group_id=7747>


###### ORIGINAL SUBMISSION DETAILS ######

System Group Name:
-----------------
  axiomui


Full Name:
----------
  AxiomUI - A GUI for Axiom


Type:
-----
  non-GNU software & documentation


License:
--------
  GNU General Public License V2 or later


Other License:
--------------



Description:
------------
  AxiomUI


Synopsis

The goal of this project is to provide a portable and user-friendly
graphical user interface for the Axiom computer algebra system. The
implementation described in this proposal takes advantage of the
capabilities of modern web browsers to achieve both goals.



Benefits to the Lisp/OSS community

The Common Lisp community will benefit from this project in three
ways. First of all new libraries will be created, for example to
generate well-formed SVG (and possibly X3D) output. Already available
libraries will receive testing on multiple platforms and consequent
improvements if necessary. Finally it will serve as an example for the
construction of platform independent user interfaces.
For the broader OSS community the most interesting aspect of this
project will be easier access to the Axiom computer algebra
system. Axiom is unique among open source projects through its scope
and vision. It strives to provide and open and powerful platform for
computational mathematics and related fields (see [1] for
details). Its potential users are researchers, teachers and students
alike. While the kernel of Axiom is very mature after more than thirty
years of ongoing development, the need of a modern, portable user
interface has become obvious.

[1] http://page.axiom-developer.org/zope/mathaction/AboutAxiom


Deliverables

The graphical user interface described in this proposal will have the
following properties:

- It allows interaction with Axiom in a fashion similar to
  Mathematica, that is
  a) one can browse the Axiom hypertext documentation
  b) it is possible to enter a command on a page and have the input as
     well as the result appended to the same page without a page reload
  c) mathematical expressions are displayed in reasonable quality
     almost matching that of TeX

- It is portable to most platforms including but not limited to
  Linux/Unix running Firefox, Windows
  running IE or Firefox, and MacOS X running Safari or Firefox.

- It is able to display static two-dimensional plots generated by
  Axiom. The plots are of production quality so that they can be used
  in scientific publications. Animated two-dimensional and
  three-dimensional plots will be easy to integrate. In fact, this
  will be implemented during this project if time permits.

- It is solely implemented in portable Common Lisp and languages which
  are understood by web browser, i.e. HTML, Javascript, CSS. It does
  not require any external programs beyond a web browser or the use of
  a foreign function interface. It tries to conform to existing or
  upcoming W3C standards as far as possible.

- It meets all other requirements contained in the project description
  at http://www.alphageeksinc.com/cgi-bin/lispnyc.cgi?AxiomUI. The
  code will also adhere to the general coding standards and design
  guidelines of the Axiom project, e.g. literal programming.



Project Details

AxiomUI will consist of two components. A simple, standalone http
server written in Common Lisp and a collection of Javascript
functions. The server component connects to Axiom and provides the
Javascript front-end access to Axiom's mathematical functionality. It
is also responsible for converting the pages of the Axiom hypertext
system to HTML.
The Javascript component will change the web browser into a fully
featured user interface. The most important aspects are to support the
user entering
commands and to dynamically modify the page to incorporate Axiom's
answers to the user's requests. Furthermore the Javascript component
will provide convenience functions, e.g. writing a transcript of the
session as a LaTeX document.

Implementation of the server:

The server will contain a small portability layer for networking and
possibly file i/o. Beyond that it is written in ANSI Common
Lisp. The other components of the server are a parser for Axiom's
hypertext page description language, HTML and SVG generators and code
to implement the Ajax mechanism and to translate messages between the
Javascript front-end and Axiom.

The parser for the Axiom hypertext documentation pages will probably
be written from scratch. If convenient existing parser generators for
Common Lisp might be used.

To display static two-dimensional plots the server will generate SVG
files. SVG allows a high degree of control over the appearance of the
output and is reasonably well supported by modern browser. There are
also free viewers for a wide range of platforms. As a bonus, SVG files
allow the embedding of Javascript. This could be used to create
animations or even embed some controls for the modification of a plot
into the corresponding SVG file.

Implementation of the Javascript front-end:

The Javascript front-end will be written from scratch apart from
jsMath, a library which allows the display of complicated mathematical
formulas in browser without MathML support. While MathML would be the
cleaner way to display mathematics in a web browser it is not
sufficiently well supported by current browsers. A later release of
AxiomUI might of course take advantage of the then (hopefully)
improved MathML support. Using jsMath has the additional advantage
that it will not be necessary to parse LaTeX math syntax and convert
it to MathML, a non-trivial problem.

While working on this proposal the author implemented prototypes
for some of the techniques described above to make sure that this
implementation strategy actually works.



Other Software Required:
------------------------
  Several Common Lisp libraries all available under GPL, LLGPL or BSD. Mostly hosted on common-lisp.net. Currently I plan to use cl-ajax and Araneida.


Other Comments:
---------------
  I did not include a link to exisiting source code, because right now there is almost none. There are some demos on kaikaminski.gmxhome.de/axiom-index.html. So far all code has been written by me or is already available under the GPL, LLGPL or BSD. This project is a Google Summer of Code project. Its purpose is to create a GUI for Axiom, which is already hosted on Savannah. For many reasons it seems advantageous to have a separate repository, though.

#########################################

Kai Kaminski <kaikaminski>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

CC list is empty

 

There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

Only logged-in users can vote.

 

Follow 5 latest changes.

Date Changed by Updated Field Previous Value => Replaced by
2005-07-07 kickino StatusPing-ed Cancelled
    Open/ClosedOpen Closed
2005-07-06 kickino StatusWait reply Ping-ed
2005-06-28 kickino StatusNone Wait reply
    Assigned toNone kickino

Back to the top

Powered by Savane 3.13-caa5.
Corresponding source code