Over a year after our master's degree project course ended, we are happy to release the version 0.2 of Symbolibre under the GNU GPLv3 free software license. You can check out its source code at github.com/symbolibre — contributions are welcome! Please note that we don’t provide executables for the time being.
Symbolibre started as a master’s project at ENS de Lyon. When the academic year ended, the team disbanded but the project went on. Sébastien Michelland and I continued developing Symbolibre, with occasional help from other project members. We mainly focused on developing and polishing the applications.
By comparison with the applications shown in the public presentation and in the test TI-Planet made in April 2019, this new version mainly consists of improvements in the user interface of our applications that are essential for high school: calculator, plotter, and Python code editor. These applications now have a unified style with a function bar, and a categorized catalog with integrated help to easily type in math expressions or Python snippets. We also worked on robustness and modularity of the code; notably through the switch to a CMake-based build system. A more comprehensive changelog is given at the end of this article.
We chose to delay developments on the settings manager, Basic language interpreters, and calculator-PC communication tool. The sources for these programs are not fully included in this 0.2 version, they will be uploaded to Github soon.
The system and hardware
We tested our applications on a Raspberry Pi Zero, and we're currently trying out Raspbian as an alternative to Gentoo for the operating system. We chose Gentoo in part because it made experiments with SageMath easier, and this rationale is no longer relevant. A guide on generating the Raspbian operating system image is in the making.
We have not yet built another prototype since the public demonstration; we plan to address it in the coming months. The primary challenges are the layout of the case and the technology for the keyboard, that we would like to be both easy to build and easy to use.
Going forward from there
Now that we took the time to organize this release, we have a lot to communicate. We will write a series of articles to delve into more details about our activity since the public demonstration, which consists of more than 400 new commits. As for the future of the project, I’m still contributing to the code and Sébastien is currently in a gap year to work on Symbolibre, so you can expect more progress in the coming months!
List of new features
- Sums and integrals can now be displayed in the calculator application.
- The calculator allows you to browse and reuse previous expressions and results.
- Up to 10 functions can be shown in the plotting app.
- A math catalog with an integrated help is now available in the calculator and plotting apps.
- Auto-indent is now enabled to make Python programming easier.
- A Python catalog is now available when editing Python files.
- The user interfaces now follow a common theme, with a function bar.
- A new virtual keyboard (toggled with
Alt+K) offers a smoother experience on PC.
- Applications are fully localized in English and French.
- A build system based on CMake provides better modularity.
- Some documentation is available on our website.
- And numerous bug fixes and little tweaks.
You can check out the code and build it yourself at github.com/symbolibre.