Hi Shyam,

On Thu, Apr 21, 2011 at 1:33 AM, Shyam <[email protected]> wrote:
> Hi Aaron,
>
> Your points are quite relevant.
> I am involved in the development of the application MathScript, which
> you had mentioned before.
>
> The entire keypad layout is done with a similar class structure as I
> had described in previous mail. But, it is not complete yet.
>
> We recently enabled google analytics in the app. It is quite
> interesting to note that more than 80% of people use this as a
> scientific calculator, with an average time of around 6 minutes spent
> on the application (increased from 3 to 6 minutes in last week). Only
> a fraction of users use advanced functions. The most common being
> "solve" an "integrate".
>
> As you rightly pointed out, SymPy has tons of functions, which are
> gradually expanding. But, as a new user, it is hard for one to know
> which does what. Categorization of functions would help them in
> getting things going smoothly.
>
> The contextual intelligence is one thing we want to implement too. In
> fact, I am considering two methods of input. The first one would be
> just like a text editor with buttons to insert predefined text. The
> second one would be an intelligent input with a recursive layout
> involving blocks of commands.
> Example:
> integrate(sin(x),x)
> would appear as a box titled integrate(##,##) where ## are fields/
> boxes that can be recursed in the same way. The user clicks on the
> field to edit it. Each field can optionally have a set of rules/hints.
> The advantage is that, the system can now easily guide the user and
> check for any mistakes by evaluating the fields recursively. It would
> then be impossible for the user to make a mistake when entering the
> commands. I think we would be effectively writing a parser in this
> case, as we need to read an arbitrary python code into the system.
>
> There was an option similar to tab completion for the application. It
> was done using a button to list all the member functions for a
> keyword. But, the users were often confused about the huge list of
> functions and did not use it. I think we have far too many member
> functions than required. One way to avoid it is to use another set of
> custom defined class (same as the keypad class) with children
> functions/classes.

Thanks for doing this. Indeed, we need to improve in this area, so
your pioneering work in this direction is very much appreciated.

>
> The function "sympify" is a very good idea. I will have a look into
> it.
>
> Meanwhile, I think I can contribute some of the source code (keypad
> layout and 2d plotting) to SymPy. I will do it as soon as possible.

That would be really cool. Thanks for any contribution.

Ondrej

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to