[Edu-sig] Alan Kay - another one of his ideas

Paul D. Fernhout pdfernhout at kurtz-fernhout.com
Wed Jul 12 16:51:42 CEST 2006


Andreas-

Welcome onboard Edusig. I guess your appearance here signals a real 
interest in the core Squeak team in Python? (For those of you who do not 
know Andreas, he did the original Squeak port to Windows, plus many other 
neat Squeakish things, especially 3D ones.)

Thanks for your clarifications; I was responding mainly to the intent 
outlined here,
   http://www.redhat.com/archives/olpc-software/2006-April/msg00035.html
which seemed a little more ambitious.

Also, having dealt with this issue of stuff in a browser in other 
settings, I think it is wandering into an area that is a little more 
complex than is alluded to (as nice as the ideas you suggest are, 
including dynamic translation to multiple backends, like Jython already 
can do for Python on Java).

For the biggest example problem, people expect the "Back" button in a 
browser to do certain things. So, in LogoWiki, does the back button reset 
the simulation? Not saying whether it should or not -- just that this is 
the kind of area where expectations tend to get violated. For another 
example, people expect URLs to be a good description of state. So when I 
press the run button, and then cut and paste the URL, does that produce 
the identical output bitmap for another user? Again, I'm not saying 
whether it should or not -- just that this is another potential area of 
violated applications -- because you are trying to use a browser in a way 
people have little experience with. I'm not saying what the LogoWiki team 
has done is not interesting, or a great demo (if I could see it :-), but I 
am saying that trying to put complex content in a web browser is fraught 
with lots of perils, because you end up trying to map a complex set of 
possibilities made possible by simulation and interactive editing into a 
very specific set of expectations derived from dealing with hypertext.

Let me give a more concrete example of a "thin client" for a complex task 
failing in practice, from here:
http://www.theserverside.com/tt/articles/article.tss?l=NakedObjectSeries_5
"What is really beginning to force the issue, however, is the growing 
awareness of the limitations of the browser interface from a user 
perspective. Our opening example is one of many. A couple of months ago we 
met with a large company in the engineering supplies business. They had 
launched an online application that allowed their frequent customers to 
order supplies, and provided other functionality to help those customers 
manage certain aspects of their own businesses. The new application has 
already been very successful in business terms. With a familiar 
browser-based interface it was easy for their customers to learn. Within 
weeks of the launch, however, the most active customers were beginning to 
express frustration with the user interface: not just because of the slow 
response time but with the strong modality. Keeping multiple jobs open at 
once, moving or copying objects between those jobs, dealing with a phone 
enquiry in the middle of a task - all the realities of their customers' 
businesses - are difficult if not impossible on the browser-based system."

That article goes on to make a very important distinction: "The web 
browser was designed for navigating hypertext documents; it has adapted 
well to very simple business transactions, but not to more complex tasks. 
Alan Cooper made a useful distinction (see 
http://www.cooper.com/articles/art_your_programs_posture.htm ) between 
'sovereign' applications (used intensively) and 'transient' applications: 
his point being that they have very different user interface needs. The 
thin client architecture can often meet the needs of a transient 
application: Amazon.com and its one-click ordering is possibly the epitome 
of this approach. But a browser-based interface, with its strong 
sequentiality and modality, is totally unsuited to sovereign applications."

So, a deep question for an educationally-oriented developer is, do you 
want to focus on supporting "transient" educational experiences or 
"sovereign" educational experiences? Since I personally think the 
educational value in an interactive programming environment is more in how 
it lets kids learn by doing, I personally am far more interested in 
providing learners and designers with open ended tools (which was also 
Kay's original emphasis) than canned "educational" content. Although I'll 
admit that if a learner can find such "canned" content when they want it, 
that is a very good thing, so I'm not entirely against such content -- 
just a matter of emphasis. And, at the very least, even if you want to 
deliver such content with the web (e.g. Ajax or Flash or Java 
applications derived from Python or Smalltalk), that does not mean that 
your development environment also has to run on Ajax (or Flash, or Java, 
or whatever).

I also think the analogy to Wikipedia is somewhat problematical and may 
miss the forest for the trees. Sure, Wikipedia has a lot of specific 
interesting pages which users wander onto. But "Wikipedia" is a complex 
platform both in a social sense and in a technological sense, even if the 
content is served through a web browser. It's kind of like looking at 
Squeak and its community and saying, well, that's just about clever use of 
BitBlit, so let's make BitBlit better. I feel that just trying to make 
more dynamic pages misses the broader issue here of Wikipedians (the 
authors) interacting with a very large system with a long persistent 
history and surrounded by a community. It's ironic that when I started 
thinking about contributing to Wikipedia some time back, my reaction is 
that it needs local tools to it can be a distributed network to share 
server load and allow people to visualized relationships between articles 
and authors in 3D (i.e. perhaps something built on Squeak :-).  So, I had 
a very different set of thinking about that forest heading in a very 
different direction.

I'm not saying, say Wikipedia, could not benefit from LogoWiki technology, 
just that I don't see that as a really big win, compared to say, just 
using Flash or Java Applets for dynamic content. What's really happening 
here is just a battle over standards for end user content delivered over 
the internet. A nice win, maybe, to use more open solutions like 
JavaScript over Flash, and so a battle worth fighting, but not a big win 
in-and-of-itself for education. And many solutions can coexist. And it 
seems to me that Alan Kay's work was always about the big ideas. And if 
one is going to fight the battle directly, then perhaps it might be easier 
at this point to argue more for Java solutions (as problematical as they 
are) like Java Applets or Java web start. For the Python Community, Jython 
already runs on those, so it is a "good enough" solution. So, maybe 
targeting Jython/Java (or using a similar compatible approach) is another 
way to go, even for Smalltalk related systems.

[I have a bit more to say on Squeak/Python/Jython issues I'll put in 
another post.]

--Paul Fernhout

Andreas Raab wrote:
> Paul D. Fernhout wrote:
> 
>>I don't mean to complain specifically about these pages, just to point out 
>>that while the supposed intent here is to make programming available to 
>>the masses by using a dumbed down environment like a web browser, in 
>>practice, this fails for me. Whereas, when I install Squeak or Python, it 
>>works. So, I think Alan Kay may be going in the wrong direction here in 
>>some ways, compared to Squeak. Not to say it might not be useful for 
>>certain audiences, just that it fails the "everyone" test, at least for me.
> 
> 
> Not surprising, really, because you're missing the point of Logowiki. 
> Logowiki's main purpose is as an example for what "dynamic content" on a 
> web page can mean, in particular in an educational setting. Remember 
> that we lost the ability to author with the introduction of the world 
> wide web and we're only about to get it back. The choice of Logo is 
> simply because it's easily recognizable for the intended target audience.
> 
> [A secondary motivation for Logowiki is as an experiment in "zero 
> install" deployment and to be able to see what can be done with Ajax and 
> friends and a bit of compiler translation technology which is not so 
> different from PyPy btw - parts of it would make perfect sense to 
> translate Python to Javascript code on the fly]
> 
> 
>>And of course, the site was also inaccessible when I first learned about 
>>it (from Kirby's post to this list I think) from too much demand most 
>>likely, so it also failed the cost test. Presumably, they just could not 
>>afford to put enough resources into the project for "everyone".
> 
> 
> Paul, you are confusing a demo with a product. Logowiki was done to 
> explain to OLPC what we mean when we use terms like dynamic content and 
> what may change if, for example, Wikipedia had the ability to included 
> such dynamic, end-user authored content.


More information about the Edu-sig mailing list