Lawson English: I encourage everyone to read (about
Squeak). And then start lobbying Alan Kay for a
HyperTalk-like scripting syntax to be available on
Squeak.
http://www.squeak.org
http://coweb.cc.gatech.edu:8888/squeakbook/uploads/FutureSqueak2.pdf
Alain Farmer: While perusing their mail archive, I
came across several posts concerning HyperCard. Yes,
HyperCard is already being discussed in the context of
Squeak, as evidenced by this sample:
http://squeak.cs.uiuc.edu/mail/squeak/msg03965.html
In this particular post, Jay carlson wrote: ... I
don't need to convince Squeak people that some aspects
of a HyperCard-y model are the right thing. From what
I can tell, Squeak *is* moving in this general
direction.
To which Alan Kay responded: Yep! Cheers, Alan
Alain Farmer: Alan Kay, for those of you who don't
know this already, is the guy that was touting the
'Dynabook' and the SmallTalk language at XEROX Parc,
in the seventies, even before the Lisa and the Mac
were imagined. A former or existing employee of Apple,
I believe. Squeak started out at Apple, that much I
know for sure.
Lawson English: Alan is also the guy who coined the
term "Object Oriented Programming"
Alain Farmer: What a privilege it will be to exchange
posts and perhaps even collaborate with the inventor
of OOP.
Alain Farmer: SmallTalk is THE ancestor of all of the
OOP languages. It inspired Apple to initiate and
champion a GUI trend that is mainstream these days.
And we love(d) them for it. But unfortunately for us
visionary/creative types, the fortunes and perennity
of Apple lie in the mainstream, because the average
person is still using his computer as a typewriter
and/or as a WWW-console.
Lawson English: ... and is often credited with the
concept of "user friendly computer."
Alain Farmer: Those XEROX Parc researchers were indeed
way ahead of their time. I tip my hat to them.
Lawson English: Alan is currently working for Disney,
Inc, as are the rest of "Squeak Central."
Alain Farmer: It makes sense. Walt Disney was quite
obviously a visionary genius too. Disney's involvement
in Squeak is also a real confidence-booster. Disney
has the capital, the reputation, the clout, the
network, etc ... to insure Squeak's viability and
perennity. Furthermore, Squeak will be conceived and
nurtured in an environment whose focus is on
creativity, innovation, entertainment ... rather than
office tools aimed mainly at businesses.
Lawson English: If you were wondering where Apple's
Advanced Technology Group went to, a lot of them went
to work with Squeak at Disney.
Alain Farmer: Yes, I was wondering were Apple's
software geniuses of the past had gone. That's what
endeared me to Apple. They were ahead of their time.
Their stuff was always better and easier than the
other guys. And they kept coming out with more
innovations. In a word, they were driven by
technological innovation in those days. Nowadays
everything is wildly-colored, translucide, prefixed
with an "i", and so on. Marketing has taken over. And
lots of talent has left ... So now I know where they
went and what they are doing. Isn't the Internet
wonderful! :)
Lawson English: Disney uses Squeak internally to
storyboard animations.
Lawson English: They are porting Panda3D, Disney's own
virtual reality engine that they use for Disney
computer-graphics cartoons, to Squeak.
Lawson English: Disney is apparently planning on using
it all over the place in their theme parks or so one
gathers.
Lawson English: Now, if I can only convince them to
add GX-style color options...
Alain Farmer: And perhaps persuade them, in time, to
lean even more towards a HyperCard-like interface
and/or scripting language .. or an OSA-like
architecture that permits several scripting languages
to be employed, among them HyperTalk. I am personally
considering using Squeak to rapidly prototype
FreeCard/FreeScript -- the open source HyperCard-clone
group that split off from the HC-list many months ago.
Lawson English: Talk to Alan and company. It might be
possible to *compile* Hypertalk into the Squeak
byte-code, thereby giving you complete portability on
virtually every computer in existence from Sega
Dreamcast to PalmOS to embedded systems...
------
in response to Lawson's first post on Squeak:
------
Scott Raney: Umm, doesn't this go totally against the
whole philosophy of Squeak, namely that you program it
in Smalltalk?
Lawson English: Not at all. The Philosophy of Squeak
(TM) is, quite literally (to quote Alan Kay and the
rest), "to make a HyperCard done right." They have the
power of Disney behind them, which apparently is
planning on using it in kiosks, PDA's, and so on.
They're working with Sega to get it on the Dreamcast,
and would like to get it to work on Playstation and
Playstation II if Sony will play with them.
Scott Raney: If so, where is the scripting language
support? I think you've missed the point: they *want*
you to program in Smalltalk...
Alain: Squeak seems to be everything that I wished
for. You have changed my life, Lawson! Thanks a
million. I am definitely going to participate.
Scott Raney: Umm, not to be a wet blanket, but have
you ever actually *used* Squeak or even any other
Smalltalk environment? It's huge, slow, monolithic,
very hard to understand and modify, and doesn't
support the native GUI on any platform (the 1rst 4
seem to be caracteristic of all Smalltalk
environments, which explains the general failure of
that language to attract more than an insignificant
market share, despite the heroic efforts over 20 years
of many, many companies, most of which died in the
attempt).
Lawson English: How huge is huge? The Netscape plug-in
version of the Squeak Virtual Machine is less than
500K, including 3D, Flash translator, etc., and the
image-size of the Squeak environment itself. They want
to get it down to a smaller size, of course.
Scott Raney: You've missed something here too: the VM
by itself is even less use in Smalltalk than it is in
Java. You have to download (or install) a huge class
library to do anything in Smalltalk, and that whole
thing gets loaded into memory when you run even a
trival "hello world" application. The Squeak kernel is
currently at 5MB and is growing, not shrinking. This
is about 4 times the size of any of the xTalk
"kernels".
Scott Raney: IMHO, it's essentially useless for any
commercial application development, and given the
existing Smalltalk baggage and the design philosophy
of the developers, probably never will be.
Lawson English: Which design-philosophy is that? Alan
Kay's? John Maloney's? Adreas Raab's? Dan Ingal's?
Disney's?
Scott Raney: It definitely won't be if you drop its
performance by another factor of 10 by trying to
implement a scripting language in it.
Lawson English: I suspect that you would be able to
compile the HyperTalk-like script into raw Squeak
byte-code, and get just about the full power of
Squeak. Also, they're talking about a
compile-to-native option for anything written in
Smalltalk, so if you CAN compile the script into
SmallTalk/byte-code, that could be further compiled
during installation-time.
Scott Raney: And just how well did this approach work
when the same thing was tried with Java, which has a
vastly superior VM design to Smalltalk's? Ask
Pierian, who finally dropped all plans to release a
Mac version of Digital Chisel because of
insurmountable performance problems. Or those poor
souls who got sucked into trying to build Tcl and
Python interpreters on top of the Java VM (both
projects are dead in the water now for the same
reason: performance).
Scott Raney: In short, unless your ultimate goal is
academic research in an obscure and impossible to
popularize language, I think your time would be much
better spent supporting the FreeCard effort, or
lobbying Apple or Incwell or the owners of the now
defunct ObjectPlus/OMO to either upgrade the products
or do some sort of Open Source release of the source
code.
Lawson English: In short, I honestly think that you
don't know what you are talking about.
Scott Raney: In short, with 20 years of experience in
this industry and postgraduate education in computer
science (including language design), I assure you that
I do. And my PhD in Cognitive Psychology provides me
an additional benefit in helping me understand how
people get sucked into these kinds of intellectual
delusions about how wonderful life will be when the
next big thing comes to fruition. I would have thought
that your experience with GX would have taught you
something about the value of skepticism, but I guess
not.
Lawson English: Here are some of the things you can do
RIGHT NOW with Squeak:
Lawson English: 1. Use a Squeak-based web-browser that
allows you to select and execute sample code on your
own machine simply by selecting it in the web-page and
pressing "enter."
Scott Raney: So what? You could do this in MetaCard
years ago.
Lawson English: 2. Use a Squeak-based web*server* on a
main-frame.
Scott Raney: Same with MetaCard.
Lawson English: 3. Use Squeak to control a 3D graphics
environment that handles all sorts of neato 3D objects
in real-time (they are working on 3D graphics card
support for Macs and PCs).
Scott Raney: And probably working on that pigs thing
too. Wonder when it will be available?
Lawson English: 4. Use Squeak to create
text-on-a-curve that you can click and drag and change
the shape of in real-time (ala Illustrator and
Freehand).
Lawson English: 5. Use Squeak to play Flash graphics.
Scott Raney: Same with MetaCard, or basically any
program that support QT.
Lawson English: 6. Use Squeak to access any shared
library on a given platform without having to do any
C-level coding (XCMDs No More) simply by naming the
library and function that you want -it is about 100x
as easy as making a custom XCMD.
Scott Raney: Sounds like Java. And we all know how
well that works.
Lawson English: 7. Use Squeak to play MIDI.
Scott Raney: QT, again.
Lawson English: 8. Use Squeak to produce PostScript
print files (sorta).
Scott Raney: MetaCard does this (and not sorta, it's
been a core feature for about 6 years).
Lawson English: 9. They are working on making Squeak a
Netscape/MIE plug-in so you could use it like Java,
but program it more like HyperCard, even in your own
browser.
Scott Raney: MetaCard too. Actually HyperCard too if
you download the stacks with an XMCD.
Lawson English: 10. They are now working on native
control widgets so that you can click and drag and
create buttons, menus, etc., that look more like the
native platform (e.g. Mac, Windows, Linux).
Scott Raney: Oh, that would be nice. Wonder if pigs
will fly first, or if the fact that Java and MetaCard
already do these things will ever dawn on the
developers and they'll decide not to waste their
time...
Lawson English: 11. They hope to be working on making
Squeak work with various kinds of scripting languages
(want HyperTalk? ASK!!!)
Scott Raney: *Hope* to be working on? Is this before
or after finishing up the pig aviation project?
Lawson English: 12. They are starting to look at using
"wired" programming where you take a bunch of existing
objects and hook them together graphically (this is
how the Cocoa/Yellow Box programming environment on
MacOS X works, BTW).
Scott Raney: No, it isn't. You program Yellow Box with
ObjectiveC, though it does have a few visual
programming tricks in the IB. But Visual Programming
is one of those CS ideas that has been tried and
abandoned more times than anyone wants to admit, and
counting on this to solve the world's development
problems is nothing short of delusional at this point.
Lawson English: 13. Squeak graphics handles 32-bit
color with transparency. It handles 3D graphics like
QD3D. It runs on lots of platforms including Palm,
Windows, LINUX, UNIX, Solaris, MacOS X, MacOS 7.x, and
at least one embedded system that Alan Kay used to
demo Squeak to a bunch of Disney suits.
Lawson English: OTOH, have you ever talked with Alan
Kay and the rest about where Squeak is heading? If a
whole bunch of HyperCard scripters started lobbying
for a HyperTalk scripting language to be added to
Squeak, they might well listen.
Scott Raney: And maybe they'll put GX support in too!
Then again pigs might fly one day too if we all pull
together on this project.
Lawson English: You want to see HyperCard survive and
grow cross-platform in a BIG WAY? Start lobbying
Squeak Central.
Scott Raney: And the reason for prefering that over,
say, MetaCard is because it's free, right? Maybe you
can tell me, how many cents per hour is your time
worth that you'll be spending so much of it to get
Squeak to where Java or MetaCard is already? Or does
your contribution only include time for lobbying and
not for actually doing any of the real work? If you've
got the time to make a *real* contribution, I still
say building (or resurrecting) a real
HyperCard-compatible tool is an approach that's much
more likely to succeed.
Scott Raney: PS: don't get me wrong, I don't think
that Squeak is total garbage or totally useless. But
what it's best suited to is as a vehicle for graduate
students to get Masters or PhDs with by extending in
new and interesting ways. Trying to convert a
university research project into a commercial product
is always a risky proposition (just ask Sun about
their Tcl/Tk experience ;-) Trying to do it with
20-year-old technology that's already had its chance
and didn't make it is pointless.
---------------
PS: The flow of this post is not chronological.
Message-ordering has sometimes been changed to group
together related clips.
PS: While I firmly believe that all of the attribution
of names to clips are correct, I apologize in advance
for any potential slip-ups that may have escaped me.
PS: My apologies to Lawson, too, for using segments
from some of our personal exchanges on the subject of
Squeak. I permitted myself this licence because
nothing truly personal was discussed. On the contrary,
all of it was relevant to the entire FreeCard group.
In fact, that's what motivated this summary.
---------------
Courtesy of: Alain Farmer
mailto:[EMAIL PROTECTED]
__________________________________________________
Do You Yahoo!?
Talk to your friends online with Yahoo! Messenger.
http://im.yahoo.com