[olpc-software] A "little demo"
Alan Kay
alan.kay at squeakland.org
Mon Apr 10 13:54:42 UTC 2006
Not ready for prime time yet, but is suggestive ... (or, how to get a
browser to do what you could do on an Apple ][ !).
I've been worrying about how to make an experience that all children in the
world will be able to share without a lot of politics or complex actions.
E.g. most children in the US with computers at home or school are not
allowed to download a plugin or other executable (and given MS security,
etc., often for good reason). But I want them to participate in the
educational experiences that should be in the HDLT, and I think they will
be a great source of mentoring if we can hook them in.
Wikipedia is an example of a universal experience that requires no
permission or downloads, and has some points in its favor. However, e.g.
while the article on Logo --
http://en.wikipedia.org/wiki/Logo_programming_language -- has some good
information and examples, none on them can be run, dynamically changed and
tried, etc. To me this is outrageous given that the browser was done some
years after Hypercard, longer after the Apple ][, and long long after the
prior art of the 60s and 70s.
A week ago, in a few days, a couple of us did http://www.logowiki.net which
shows what could have been done for quite some time now (and should have
been doable right off the bat). This seems to work in recent versions of
Safari, Firefox, and IE.
It is no more than what could have been (and was) done on Apple ][s 25
years ago, but is quite startling to most people I've shown it to, because
they have gone along with the false idea that browser's can't do X and Y.
And, as Samuel Johnson remarked about a dog walking on its hind legs, "It
is not done well, but one is amazed to see it done at all!"
This is kind of a commercial and come-on to convince people (and school
systems etc.) that they should be willing to download a more capable plugin
(which we should be designing and making for the HDLT).
We have such a plugin that presents a fairly complete WYSIWYG, wiki-like,
and full media authoring system that includes child scriptable media of all
kinds, including a particle system (like StarLogo) that can run hundreds of
thousands of particles at 10 frames a second). I will demo this system at
the next OLPC board meeting in May.
Because it is written in a language that has features invented after 1970,
it will probably have to be reimplemented in some currently recognizable
language (that uses only 60s ideas) to be accepted by the general world
programming community (that's too bad, but is probably going to be
necessary). In any case it can serve as a model and check-off list.
Regarding our toy LogoWiki, in the next few weeks we will flesh this out
with a much better layout, tutorials for Logo, etc. We will move it to a
server with more capacity (right now it is running on a student server (I
think) in Switzerland) so don't pound on it too much.
My investigations and conversations with other folks who are trying to
shatter the un-necessary and painful wall between user and computing that
the browser imposes (Google, e.g. is doing a lot these days), indicate that
it is quite possible to do a Hypercard like authoring system that works
entirely in the browser, uses a wiki for net storage and versioning, and
requires no downloading of executables of any kind.
This would be a more suitable media basis than the embedded galley style
that most wikis have.
JavaScript is OK, quite a bit better than it could have been (and
fortunately not a lot like Java). It is unnecessarily limited by not being
allow to even write to protected and sandboxed files, but this is likely to
change. It's not super-fast, but it is well known how to make it much
faster using techniques originally developed for Smalltalk in the 70s.
A larger problem is that the Document Object Model is both messy and pretty
slow. There is now a canvas that can be written into directly (that's how
we do dynamic turtle graphics) but despite the speed of bitblt going all
the way back to the 70s, the canvas is quite slow in the browser.
And naturally, MS in IE6 does not conform to the standards for the DOM that
the other browsers use. So we had to include some compatibility code along
with our Logo interpreter.
What's happening is that the incurious world of today is gradually
rediscovering -- and so far, not very well -- what has been well-known,
well done and well-documented for decades. Sic transit gloria mundi.
Cheers,
Alan
More information about the olpc-software
mailing list