So it has been half a year since I transferred my math package to Android , “Micro-Mathematics,” as an open source application and published the code on github . Thanks to such a step, “Micro-Mathematics” has received a powerful impetus for development, and I myself have a valuable and very positive experience of communication with the community. In this small note, I want to introduce a new version of the application, which is now being prepared for release, as well as to share all the positives that have been received as part of the work on the release. This note is for those interested in both general development issues for Android and open source software, as well as applied questions related to mathematical calculations.
Reviews on Google Play, asterisks and all that - this is certainly interesting, but, as I understood for myself, is not very informative compared to the activity of enthusiasts in the github repository. Thanks to people like @KOLANICH , @ Symbian9 , @tianxiaogu , @plottar , it was possible not only to correct the annoying errors, but also to gas and implement many new functions, for example:
@afmachado, on its own initiative, translated the application into Portuguese. Such a translation is not an easy task, because in addition to textual resources, the application contains very extensive documentation, without which translation such an activity does not make much sense. But @afmachado accomplished the feat and translated it too. The presence of a large amount of accompanying documentation in terms of multilingual support is a problem - because of it, application translations into Ukrainian, French and Spanish have been “stuck”. But, on the other hand, I can not imagine a fairly complex math package without such documentation.
@ Symbian9 added a simple, at first glance, request: the ability to work with SMath Studio documents. When I first began to develop “Micro-Mathematics”, I did not plan anything like that. But now I see that power is not in isolated applications, but in some ecosystem, albeit small. And such user requests literally forced me to rethink the issues of integration with other systems and contact the author of SMath Studio, Andrey Ivashov .
A long, detailed and very critical joint discussion of our products has pushed us to the idea of coordinating the development of our systems. Andrei implemented on his side the μMath plugin that allows you to open “Micro-Mathematics” files in SMath Studio.
I added the ability to open SMath Studio files in “Micro-Mathematics”, since both formats are implemented on the basis of XML. And it is this integration that is the key feature of the new version, which is now being prepared for release.
So, starting from version 2.17, in “Micro-Mathematics”, on a mobile device, you can open the SMath Studio document, continue working on the road, save the result (in the “Micro-Mathematics” format), and if you have a large PC, hide in the attic open this document already on it in SMath Studio, and work, work.
Naturally, due to the historically established independent development of these two products, there are serious limitations. “Micro-Mathematics” does not yet support loops, matrices, string functions, as well as all the functionality implemented by third-party developers in SMath Studio plug-ins. There are differences in the set of supported units of measurement, in the representation of graphs of functions, indexing of arrays (in SMath Studio they start with one, and in “Micro-Mathematics” from scratch). Of all the standard examples shipped with SMath Studio, only one opens without errors, since all the others contain either cycles or matrices. This document gives a good understanding of compatibility - it contains all the structures that are supported by both systems.
In general, there are many areas in which unification can (and should) be carried out. In version 2.17, some steps in this direction have already been taken:
Now it is clearly visible that the mass of the mathematical functional, which is lacking in “Micro-Mathematics”. There is room to grow. So that this growth does not create new problems, in version 2.17 I combed the computational core a little. Adding new built-in functions is now much easier. All built-in functions are collected here and grouped into thematic classes, for example, trigonometric, power, logical, etc. Each built-in function, in addition to properties (type, icon, description, number of parameters), also contains a method for calculating the value and optional methods for checking arguments and calculating the first derivative. If you want to expand the list of built-in functions (add, for example, statistics, spectral analysis, special functions) - you are welcome. Now it has become even easier, good, a lot of this has already been implemented in the library The Apache Commons Mathematics Library used . Roughly speaking, it remains only to correctly connect the implementations available there and write the tests. Although there may be nuances.
In view of the foregoing, as well as discussions of “Micro-Mathematics” with different people, I see three main areas for further development:
There was an interesting case. There is one very restless enthusiast, he took the core of drawing formulas from “Micro-Mathematics”, attached a Symja analytical computing library to it, and it turned out to be a very funny calculator . It is difficult to say how popular such a calculator will be, but the direct use of code by other developers cannot but rejoice.
On this, perhaps, I will complete my story. Thank.
Source: https://habr.com/ru/post/350286/
All Articles