[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