# [fricas-devel] Impressions

Hi

Ralf & oldk1331 asked me to detail my first impressions as a user approaching
FriCAS. Below you'll find a reasoned (time-consuming) list where I tried to
(fearlessly and pitilessly) pinpoint what appears to be "sub-optimal". Of
course it migh well be that I'm missing some important point or that I'm
completely wrong.  Take these remarks just as sample of what an average user
might feel when approaching FriCAS.

Please do not be upset or hurted!!! ...and also PLEASE do not ask me to fix all
these issues for you :)

By """"user"""" below I mean a person with good mathematical skills, minimal
computer skills, high aesthetical sense, and very very limited patience to fix
things. (Sorry, but users are done this way, I know my colleagues...)

I understand that the fricas project needs developers, but capturing a lot of
users is  a good way to interest (young) developers. (See PS at bottom page.)

1) INSTALL.
Well,  by definition, NO user will ever manually compile a source code.
Furthermore a user has no virtual machines and just one working environment
which she does not want to screw up if something goes wrong.

The fricas binaries I downloaded worked, but an average user has to figure out
how to proceeed with the tar file. A step by step "for dummies" explanation is
important.  (This is missing in INSTALL-bin.txt) . I'm at higher computer level
so to me the problem was  hate for manual install and paranoia, so I had to
take the time to read the tar contents (I did not like to have usr and
usr/local system directories in the tar), write a script that untars, installs,
and creates hashes of all files to check for corruption. This took time...

COMPARE with (eg  debian's)  """ \$ aptitude install  axiom """ which in seconds
installs everything with no problems of reading instructins, broken installs,
broken environment, security, and with a guarantee of future automatic upgrades.

Having linux packages is strategic. I've seen here and there on fricas-devel
remarks about having debian packages soon but after months I do not see the
packages in debian repository. Having Mac/Windows installers would be surely
helpful, but I do not know how difficult it is, so I stop here.

2) WEBSITE(S).
The site fricas.sourceforge.net is simple and effective but it refers to a
"fricas wiki" (axiom-wiki.newsynthesis.org) and to a "fricas API"
(http://fricas.github.io/api/genindex.html).

The site fricas.github.io looks nice, and modern  the API is as well very good
and modern (but it does not include all, where are the system commands??). Had
a good impression so I started  browsing it, discovering that there is more
information. Happy but now confused, "what is official and what not official"?

The axiom-wiki.newsynthesis.org contains a lot of useful information but (sorry
to the maintainer!) looks old-fashioned,  weakly mantained, and unstructured:
in practice it is difficult to extract information the first times. What human
http://axiom-wiki.newsynthesis.org/FrontPage/contents ? (I must say that after
3 weeks of browsing there I've just  discovered the
http://axiom-wiki.newsynthesis.org/SiteIndex glossary, which is much helpful
that the contents page. I know I know the "Site index" link is just below the
"Content index" but I am a user so I'm dumb! )

Well, no big problems here but my advice is that there should be just one
website (possibly modern and nice-looking like fricas.github.io) with all the
relevant infomation structured in an accessible wayy.

COMPARE with www.sympy.org : beautiful, no comparison...

3) ONLINE SHELL.
Not strategic but many CAS have it.

Writing \begin{axiom}\end{axiom} at each command is *TEDIOUS*. Furthemore I
couldn't find a way to enlarge the window.

COMPARE with http://maxima-online.org/ http://live.sympy.org/  ....

4) Latex friendly GUI.
It is *important*!!! The 2D output of fricas kernel is difficult to read. (BTW
I would definitely  prefer a plain output equal to the input form but I cannot
find how to do it. Fortran or the weird script-stuff are not useful for plain
reading of results.) Users want to see nice formulas!

I looked for information... nothing of official. I digged more and more and I
found the following:

--- Texmacs has a built-in fricas plug-ins. Problem here: texmacs is kicked out
of debian because of dependency on guile. So I took the time to read inatsll
instructions and I've installed the binaries ... and it did not work. Result: 2
hours wasted in trials. Anyway, I'm confident that one day might work, but my
**personal** opinion is that using texmas to output CAS results is like using a
termonuclear bomb to kill the mosquitos in your bedroom. The good alternative
is Jupyter: Mathematica-like, modern, supported, widely known and relatively
light. so....

--- I went to the official list of jupyter kernels,
https://github.com/jupyter/jupyter/wiki/Jupyter-kernels  and I found ...
NOTHING apart an old, apparently unmantained IAldor project
https://github.com/mattpap/IAldor   Disappointed I spent more time and more
time in googling around and I discovered Kurt Parentani's nilqed projects....

--- The project   fricas_jupyter (with binaries) looked interesting but one is
required to have binaries compiled with SBCL 1.2.x . Unfortunately the official
released binaries are made with sbcl 1.1.1 so I dropped this solution.

--- The whole day of yesterday was spent in trying to figure out how to install
fricas_kernel.py, which is a wrapper around the ipython kernel. The messy
instructions there are scaring but the idea looked good (and I  had a free
day), so I tried to understand what to do. I have a modern Jupyter on python3.
I soon realised that the python libraries IPython.kernel used in the file are
deprecated and I took the time to read the endless python documentation to
understand what to do (no real user will ever do that). Finally, I trivially
modified the fricas_kernel.py file by blindly updating the module names
(IPython.kernel -> ipykernel) . Moreover I did not know the python libraries
used in the setup file and  I wanted a clean global install for the json file,
so I wrote my own simplified but transparent install... After some time I
managed to have a notebook with a nice "fricas" label show at top but, alas, NO
output. @Kurt (if around)  forgive me! this is not a blame on your nice project
but just to say that  a user wasted his time for nothing: these accidents make
people run away and should be avoided.

COMPARE: sympy (OK it is python so using ipython requires NO effort). Maxima
has many acceptable latex friendly GUIs: texmacs, wxmaxima, cantor (KDE) which
are packaged in linux: no effort.

My unprofessional opinion is that an interface with Jupyter kernel is
strategical and should not be too difficult.

5) DOCUMENTATION.
The first problem I faced here is confusion on which source use.

fricas.sourceforge.net shows a pdf of  what now I know being a "Jenks Sutor
book". Furthermore I follow the link to the wiki and I find what looks like the
same thing in html (two sites, how do I know that they are equivalent?) Ok but
browsing the wiki I discover the axiom-developer website by T Daly and ther I
find many volumes with similar but not identical information. All  these books
start with the same Axiom first page. Confused, I go to fricas.github.io and I
discover a nice-looking book.pdf which at the beginning has a message which
basically says (in scaring red) something like, by memory, "this is the
official fricas book but unfortunately it is a work in process, so anything my
be wrong" which I interpret as "STAY AWAY". (Did not work, I must say.) Having
a documentation in pdf and html is strategical (even better if these contents
are the same...).

COMPARE with the beautiful reference guide of maxima
http://maxima.sourceforge.net/docs/manual/maxima.html or the tutorial of sympy
http://docs.sympy.org/latest/tutorial/index.html where anybody can modify and
execute the code via the browser.

So to summarize...

If you want to stop giving a "USERS-STAY-AWAY" impression, the easiest
strategical points I would suggest you to develop are:
-- avoid reduncancies and move all information to one nice-looking website,
maybe  fricas.github.io
-- improve the fricas documentation (may be with a dev full version and one
incomplete but reliable version)
-- capture linux users by distributing packages
-- give a reliable, latex-friendly GUI with Jupyter

Cheers
ric

PS The other way to capture (unpaid) developers I see, is to have an appeling
project where they could have fun and learn a lot. I see that sympy has many
gsoc students. My unprofessional impressions is that learning Boot, Lisp and
porting FriCAS to Aldor or e.g. to more known functional languages like Haskell
(which in 1-2 years will have dependent types), its "son" Idris (which has
dependent types) ? In any case the fricas  website should show a "long term
goal" ... it gives an impression of quite serious intentions.

PS2 Thanks to Waldek and Ralf for their recent replies to my question on
evaluation.

--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email