понедельник, 20 июля 2020 г.

Cantor - File Browser Panel

Hello everyone,

this is the fourth post about the progress in my GSoC project and I want to present some user experience improvements related to the handling of panels in Cantor and to present a new panel "File Browser" that I implemented recently.

The status of Cantor's panels was not saved when the user closed the application. Potential rearangements and size changes done on panels were gone and the user had to do the changes again upon the next start. Very bad UX, of course. Now, the state is saved and even more, the state is saved for every backend in Cantor. So, if you have a Python session in Cantor, open some panels and arrange them at your will, close and reopen Cantor with a Python session again - the previous state of the panels appears on start.

The second change is about a new panel - the File Browser Panel:



This panel allows the user to navigate through tje file system and to open files. Files with the file type supported by Cantor (Cantor's native formant and Jupyter's notebooks) will be opened as a new worksheet in Cantor. Files with other types are open in the system's default application assosiated with that type.

In the next post I plan to show a new feature that will help to better structure the worksheet and to define a hierarchical structure of worksheet entries that can be operated on.

вторник, 7 июля 2020 г.

Cantor - Plots handling improvments

Hello everyone,

this is the third post about the progress in my GSoC project and I want to present new changes in the handling of the external packages in Cantor.
The biggest changes done recently happened for Python. We now properly support integrated plots created with matplotlib.
Cantor intercepts the creation of plots and embedds the result into its worksheet.
This also works if multiple plots are created in one step the order of plots is preserved.
Also, text results between plots are also supported.

Besides matplotlib, we also properly handle Plot.ly - another popular graphing library for Python and R. This package has some requirements
that have to be fulfilled first. The user is notified about these requirements in case they are not fulfilled.

Similar implementation was also done for Julia and Octave, but to a smaller extent.
Though many preparational changes were done in the code for this, the only visible result for the user
are at the moment the new messages about unfulfited requirements of graphing packages.
Especially for Julia this is imprortannt now since for graphing the package GR was hard-coded in the past and there was no notification to the user
if this package was not installed and it was not immediately clear to the user why the creation of plots fails.
With this improvements Cantor is doing the next steps to become more user friendly.

There is another important change - the settings for graphing packages become dynamic.
The user can now change them on the fly without having to restart the session.


Also, the plot menu was extended. Julia and Python now can produce code for multiple packages - the prefered package can be choosen in settings.


In the next post I plan to show how the usability of Cantor panels is going to be improved.

Cantor - GSoC2020 final post

Hello everyone, this is the sixth and the final post about the progress in my GSoC project. I want to present an overview of what was done i...