Pippy and Calculate - Evolution Solution

Reinier Heeres reinier at heeres.eu
Mon Sep 10 07:11:41 EDT 2007


Albert,

Albert Cahalan wrote:
> 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.
>   
This sounds like a good idea, but I think it could be a little tricky 
sometimes, so only certain errors should be detected at 'type-time'. 
Anyway, I'm putting that on my TODO list...

> 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.
>   
I've thought about this too, and indeed it would be a cool improvement 
for the future! Not sure about the performance of this though...
> For the math itself, I suggest feeding expressions into the "bc"
> program.
>   
An interesting suggestion, and in fact I started out by doing this. The 
bc program, however, is terribly limited in functions and output, and 
would require lots of parsing and reparsing when putting things in and 
getting things out. In the end I concluded that it would be easier and 
more flexible to write a parser myself.
>>   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.
>   
For older children I agree, for the younger ones I'm not sure. The whole 
keyboard on the screen would be a little crowded I think, although it 
could be interesting to try.
> 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.
>
>   
Cheers,
Reinier



More information about the Devel mailing list