On Sunday, March 2, 2014 2:45:47 AM UTC-8, Harald Schilly wrote:
>
> On Thu, Feb 27, 2014 at 11:26 PM, rjf <fat...@gmail.com <javascript:>> 
> wrote: 
> > So how does it stack up as 
> > (a) user experience? 
>
> I have some contact with others teaching MMA, and what struck me when 
> watching the demo video in regard of UX is, that there are two major 
> shortcomings. 
>
> First, it's inconsistent. If something doesn't work out as it should, 
> there is no clear path how to get there, because it depends heavily on 
> what you have already done so far. That's frustrating for the teachers 
> and also for the students. 
>
> Second, functionalities are not discoverable. In Sage there is more 
> and more a trend to group top-level functions by a topic, e.g. someone 
> types "graphs.[TAB]" and the tab key expands a list of functions only 
> for graphs. Additionally, once you have constructed a data structure 
> holding the information for a concrete incarnation of a concept - AKA 
> variable name - you can do variable.[TAB] to see operations you can do 
> on that given instance. 
> This struck me briefly in the MMA demo video, where the UI gave a list 
> of common functions you can apply on the given object. (It was only 
> limited to those functions with only one argument, though.) 
>
> I use "describe"    (typically   "? ....")   often.  I've never used 
anything from the
little list of suggestions.

I think it is important to have a program know about synonyms and 
misspellings
to access the data base of functionality.  Beyond that -- getting people to 
get
beyond the lazy -- is hard.   Occasionally we see a question,  "Is there a 
Maxima
command to do XYZ?"   The answer may be yes, it is SolveXYZ....  But 
sometimes
it is no, it takes two or three commands, or a short program.  Is that a 
problem?
Should that program be put in a library?  Or some other "mathematical 
knowledge"
repository?  or a tutorial?
Sometimes the answer is  (in effect)  what you are trying to accomplish is 
just
wrong / false/ etc.    [Whoever said "the customer is always right" was 
talking
about a different domain...]

Years of experience suggest that making a programming paradigm easy to use
seems to make it hard to write challenging programs using it.  
Including more knowledge (e.g. stock market prices, geography, ...) allows 
you
to do the things that have been pre-conceived as applications, more 
directly.
If you want to do something else, you are faced with considerable 
complexity.

Just as using Microsoft's speech input program -- it is rather easy to get 
a program
to read dictation of a business letter.   That is anticipated.   To get a 
program to
read dictation of a math formula,  not easy.

RJF
 

> H 
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to