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 
being can take profit of this page: 
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 
SPAD nowadays is not very motivating nowadays. Is there a loooong term goal of 
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 
to fricas-devel+unsubscr...@googlegroups.com.
To post to this group, send email to fricas-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to