Pippy and Calculate - Evolution Solution

Albert Cahalan acahalan at gmail.com
Fri Sep 7 17:14:45 EDT 2007


Yoshiki Ohshima writes:
> Hi, Steve,

>> I am a lurker, but this is an interesting discussion.  I am a
>> developer in health applications working with current dev release on a
>> B4.  Calculate is impressive; Pippy is impressive.  They each serve a
>> purpose which I think fits into an OPLC evolutionist philosophy.
>
>   But, have you actually tried to use Calculate?  It could not detect
> simple errors properly (which is now fixed), takes 10 seconds to
> calculate "3+4", and digits in a long floating point number are
> wrapped around, etc.?

Errors ought to be detected as typed, with the text changing
color at the point where syntax is violated. So this...

7+5-9*4)-5

...would be highlighted starting from the ')' character.

It may be good to display the expressions twice, once like
a normal (C, Java, C#, C++) programming language for editing
and once in a proper (TeX, MathML, textbooks) rendering.

For the math itself, I suggest feeding expressions into the "bc"
program.

>   Again, this is not a criticism toward Reinier, but rather toward the
> fact that keeping up with the rate of change that Sugar and the UI
> guideline is not something a volunteer developer can easily cope with.

Calculate is in Python, isn't it? Sugar and UI changes are deadly
for the non-Python stuff.

>> First, there are US toys that are remarkably similar to the OLPC in
>> appearance that comprise a simple 4x4 calculator aimed at the under 5
>> year old crowd.  Large keys that do arithmetic.

I think the idea of clicking on on-screen buttons is fundamentally
defective. The keyboard is far easier to use. I suggest displaying
an on-screen copy of that, with the valid keystrokes highlighted.
One could still use it with the touchpad, if one wanted to suffer.
So in the above example, after "7+5-9*4" the ')' key would not be
highlighted.

Having such an on-screen representation would make it easy to
show letter keys remapped as appropriate. For example, a key
might serve as sin() normally or as arcsin() when control is
used. (BTW, control might be made sticky)

>   Well, if you consider under 5 years old crowd, then you would oppose
> to have variables in Calculate?  (BTW, OLPC is not aimed at the crowd,
> I believe.)  What do you think about the the use of e-notation in it?
> How about all these functions available in the tab?

Arbitrary named variables are probably not good. Cut-and-paste gives
you a variable, and the most recent answer (or two) could implicitly
be a variable. If there is a scrolling log of answers, clicking on
lines of the log could act as variables. Anything beyond that is
probably getting into spreadsheet territory, but there are low-complexity
ways to deal with that too: cut-and-paste to a text document, allow
drag-and-drop to a saved-data area of the screen, or just scribble
on something physical.

>   Imagine if the functions that are available in the Calculate "mode"
> (such as sin, sqrt, etc.) are actually defined in a way that kids can
> understand (for example, the Newton-method for sqrt, or even a
> graphical version for sin and cos), and if the user goes to the Pippy
> "mode", the user can look inside the definition and modify them?  That
> would be very constructionist.

Dear my. I'm all in favor of supporting the bright kids, but that
suggestion sounds like grade 12 honors at minimum.



More information about the Devel mailing list