[Edu-sig] FYI: PataPata postmortem link
ianb at colorstudy.com
Mon Nov 27 19:14:40 CET 2006
Paul D. Fernhout wrote:
> Just as an FYI, as a way to wind up the PataPata project (or at least one
> phase of it), I wrote a lengthy postmortem critique of the PataPata
> project to date, plus ideas for where to go from here. You can read the
> critique by following this link:
> "PataPata critique: the good, the bad, the ugly"
> Comments welcome.
Thanks for putting this together; it's useful to know how this went, as
it was a fairly ambitious rethinking of Python development.
There's some similar issues being considered for OLPC. Specifically the
laptop has a "view source" key, which (unsurprisingly) lets you view the
source of what you are doing. What that means is application (aka
"Activity") specific, but a general Python solution is called for.
Of course it's a little hard to say what that actually should be. Just
a text editor? Not too exciting. Really there should be a view of the
process. And some way to manipulate the in-process objects and source.
One thing I was unsure of -- and I think your postmortem confirmed --
is whether it's really feasible to generally edit objects in-process in
a persistent way. I'm inclined not to go so far, perhaps simply relying
on UI hints to indicate when the change is likely to be persistent.
It's fairly easy to edit a function definition persistently, for
instance, or add a function definition. You can still explore and poke
around in the process any way you want, but you don't have complete power.
Of course, at some point you need complete power, which means editing
the source in ways that can only be meaningful when you restart the
process from scratch. I'm not sure how or where to make that break.
OTOH, emphasizing clean/fast/easy restarts might be more general and
easier to implement than in-process persistent editing.
I'm also not sure what to build on, or what to use. It's interesting
that you felt out-of-process interaction was successful. This fits with
my own intuition that in-process stuff can be dangerous and fragile.
But I'm not that familiar with the details of how the interprocess
communication should happen; perhaps IDLE is a good place to start
looking. Perhaps IDLE is a good place to start the development? I
don't believe Tk will be available on the laptops, only GTK, and
probably not wx either, so that limits the possibility of reusing most
UI, though other bits of code might be fine.
Ian Bicking | ianb at colorstudy.com | http://blog.ianbicking.org
More information about the Edu-sig