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.