Sunday, November 26, 2006

What now?

Plans

After the release of Matrex version 1.0, it is time to make some plans for the future.

By now, I started to write the specification for the client/server architecture. This should start the process that takes to version 2.0 of Matrex.

After that:
  • some adapters must be updated: I'm thinking about the adapter to JRuby, which must at least be tested for the last version of JRuby and the adapter to Scilab that will soon reach version 4.1.
  • as usual I will try to test the adapter to Matlab, which has been ready for one year, but was never tested because I don't have Matlab. If someone wants to help, please contact me.
  • I will try to produce an adapter for the R statistical language.
  • start of the work to produce version 1.1.
Next versions

First of all, this is how I will number the next versions of Matrex:


  • A change in the first number means a major change: 2.0 will introduce the client server architecture.
  • A change in the second number means new important (visible) features: 1.1 will introduce the package to interact with Excel, the help framework and changes in the charts.
  • A change in the second number means bug fixing and minor feature changes: if a version 1.0.1 will be released, it will fix bugs in version 1.0.
I think these are the features to add in the next versions:
  • Package for the interaction with Excel: should contain import/export of Excel spreadsheet files, communication Excel->Matrex and Matrex->Excel via Java/COM.
  • Package for the interaction with OpenOffice.org: communication OpenOffice.org->Matrex and Matrex->OpenOffice.org (import/export can be done through .xls files).
  • Charts new features: scatter plot chart, possibility to have bars and lines in the same chart, chart attributes like line or bar type, vertical/horizontal bars.
  • Context help. Convert the "How To Use" document to a context help in the Matrex desktop application.
  • Add first phase in the expression parser where expressions of the type "a + b" (+,-,*,/,^) are converted to expressions of the type "plus(a,b)". This makes the expression parser simpler to understand.
  • Zip/unzip of projects, so that they can be easily sent to other users.
  • Custom dialogs to enter function parameters. They are needed for complex functions like query, csv and, in the future, link.
The idea is to publish these features in a set of 1.x versions (1.1, 1.2 ...) .
These versions should be released every 2/3 months to keep up the interest for the product.

The first major version will be Matrex 2.0, which will introduce the client/server Matrex.

Version 2.1 will (probably) introduce links between projects (also between projects running in different machines).

No more M1, M2 version will published; an RC1 version (or more if needed) will be released before the final version to have some feedback.

Friday, November 17, 2006

Matrex 1,0 final released!

Finally, after weeks of test, Matrex 1.0 final has been released!
The most important changes are the following:

  • Expression parser: the previous version was complex to use, expecially in the last step, where you had to choose the names of all the matrices and functions generated.
    With this version the last step requires only the names of the primary (root) matrix and function. The intermediate matrices and functions get a default name and are stored in a special package.

    Also, in the first step, two buttons have been added to select templates and matrices and add them to the input expression; so if you don't remember a template name or its parameters or a matrix name you get help.



  • Matrix editor: removed side effects when editing cells using the mouse; the editor remembers saves also the last edited cell content; better number and date parsing.
  • Added several function templates: among them:
    • sort, to sort several matrices using as index the first matrix, called key (like the pair of a map).
    • sumby and similar, similar to the select sum/group by functionality in SQL.
    • tail to tail a matrix with the content of another one.
    • queue to use a matrix as a queue, to which you queue values of other matrices

  • Removed any dependency of the Matrex API by the Matrex GUI, finally allowing to use Matrex as a library. In this way a Matrex project can be opened and used by any (java) application.
  • Presentation editor: better and easier interface. The format/position editor has been put in a separate dialog and substituted by a format/position viewer:


  • Presentation viewer: added vertical header:




    Also, it uses virtual tables. It is possible to view/edit large presentations without performance losses.

  • Matrix viewer: added vertical header:



  • Added a template full-text search dialog to find templates by their description:







Thursday, November 16, 2006

Matrex 1.0 final

I will probably release Matrex 1.0 final this night.
After a very hard test (GUI, events, templates) I think Matrex is ready for production.
This version has very few but important changes from RC1: easier to use and more professional GUI, more function templates and the Matrex API.