Monday, January 25, 2010

Merging computational and communication interface in computer algebra systems

Computer algebra systems (CAS) generally do not integrate with any communication interface. Essentially the computational interface of CAS is the only interface provided. For communication we generally have to rely upon an external program like kopete (http://kopete.kde.org/) or pidgin (http://www.pidgin.im/). Even though kopete and pidgin do provide a tex plugin to display mathematical content it is still tedious to switch between the computational interface and communication interface, that is, computing somewhere and then copying the results and so on.
This situation can be changed in the following way (probably) - imagine a mathematical worksheet where we do the computations but then we run into need for help. I want that part of the worksheet to be visible to the person I want to communicate but probably not the whole of the worksheet. Essentially this would mean the whole communication will be focused on that part of the worksheet. The communication could as well be multi-party communication - like IRC.
So what would be the possible work flow to bring about this functionality? Imagine the following - the worksheet is completely free form that we can place text, equations, tables, graphs etc anywhere. Any part of the worksheet is also selectable just by dragging the mouse. Hence, I drag the mouse and select the region of the worksheet that I want to discussion on. By the side of the selection area a pop-up comes like the one comes by the side of plasma applets in KDE4 desktop. The text part of the communication can be handeled by this pop-up (other possibilities are not ruled out like voice and video communication) whereas the computational part will be handeled by the worksheet itself. Hence, I can compute then and there thereby providing seamless integration of computational and communication interface. Of course other concerns undo has to be built into the system.
In which kind of systems this can be useful? Well a CAS to support such a design might have the following two properties
  1. It has a distributed or client-server architecture there allowing CAS worksheets to communicate with each other.
  2. It has a natural interface where mathematical symbols can be displayed naturally.
  3. It is web enabled.
I dont think a lot of CAS support all these facilities and I am not really sure how much would be the cost of implementing such an interface, however, SAGE (www.sagemath.org) really comes close and has the potential for such an implementation.

Potential Advantages
  1. Communities and worksheets are closely integrated
  2. There would be no difference between communication and computation interface
  3. May be mathematics becomes more fun and exploratory.

1 comment:

Rajeev said...

You have nice idea about the merging of computation and communication. It means I can share my worksheet online while working on a problem. It be great thing to do. If it would be implemented things would be interesting and more sharing of ideas one can made through worksheet!
Are u working on this problem right now?
Nice to read it but few things still not clear to me!