Classical Applications (was Re: 17 new updates)

Andrew C. Greenberg werdna at gate.net
Sat Feb 13 14:21:09 UTC 1999


Stefan writes:

> And this is what I call a toy.  This term isn't meant negative or to value
> it against other terms like tools.  A toy is just a device you'll use to
> play or explore.

.. . .

> Let's say the goal is to write a simple card stack application with an
> Explorer-like interface and drag and drop suport, printing and database
> storage.  I can do this in a few hours in VisualBasic (Bill Gates can do
> everything in VB in just one week end, but that's a different story).  This
> language is very well tailored to solve this kind of problems and I get the
> immediate feedback of sucess when delivering that application (to others or
> to myself).
>
> To do the same application in Squeak, I've to create a tree view widget,
> printing support, a database interface and so on. Much more difficult.

If it doesn't do it for you, Stefan, don't use it.  VB is easy and 
cheap to acquire.  I can't get VB to do anything non-trivial without 
serious effort and would never use it as a tool of choice, but that's 
strictly a matter of taste.

For my part, I found Squeak a wonderful tool for prototyping 
applications, and have a remarkable personal experience concerning 
its portability.  My wife loves and lives for the "paint by number" 
puzzles published at times by games magazines.  (These are also 
called nonograms).  The problem is that doing them on paper is 
sometimes frustrating, given that recovery from mistakes often 
requires starting fresh or erasing a lot of black pencil.  She was 
also interested in designing her own puzzles.

So I set out to build her a nonogram program for her birthday.  That 
was in October of last year.  I discovered a wonderful algorithm for 
nonogram solving in early November and started to build a program in 
Python/Tkinter.  Unfortunately, Tkinter is seriously broken on the 
Macintosh and results in a polished, traditional GUI application that 
inexplicably explodes every now and then for no reason at all.  (The 
result was pretty and quite serviceable, but inappropriate in my view 
for Sheila's birthday present.)  So I started hacking a real 
application from the metal using my big-boy tools.

I went to the Hacker's conference in November, where Ted demonstrated 
Squeak.  Interested and out of time, I downloaded it and resolved to 
build another to teach myself the language.  I had a working 
prototype without GUI in the proverbial weekend.  (And without any 
sense of how to optimize squeak code, it still ran comparably with 
the python version.)  I emailed Ted the results and he gave me a few 
pointers about building a GUI.  (By that time, I had already built a 
decent one to throw away in MVC)

Sheila's birthday was 26 December, so I was runing out of time.  I 
work full-time as a lawyer, and also had to hide my work -- quite a 
challenge.

It was then I discovered the true beauty of squeak.  One morning I 
couldn't put a problem away, but had to go to work (I'm a patent 
lawyer by occupation).  So I e-mailed a change-file to the office so 
I could look at it during Lunch.  Lunch came around and I had figured 
out a solution, so I got on-line, downloaded Squeak for Windows onto 
my office laptop and applied the changefile.  I was stunned!

The program worked pixel for pixel identically with the Mac version 
at my house.  I was able to use an office laptop, a PC, to work on a 
machine that would run ultimately on my wife's iMac!  Outstanding.

At the end of the day, Sheila got a double-clickable application with 
multimedia, music and all of what goes with it.  Admittedly, its not 
entirely Mac-ish (no standard file stuff, and I would like to have 
multiple windows while also able to interact with other 
applicaations, but I nevertheless ended up with  a serious (and 
viable) package to serve as her birthday present.  I was highly 
rewarded by how it was received.

No, take it from the author of several best-selling commercial games 
-- Squeak is no toy.  The potential is unlimited.  And, compared to 
working in, say, MPW or codewarrior to build applications, there is 
much to be said for Squeaking in lieu of building anything from 
scratch.

Agreed that stand-alone applications require some doing, particularly 
if they have to interact in a "traditional" manner.  That will come 
in time -- when there is meaningful and actual demand or need. 
That's the beauty of open source.





More information about the Squeak-dev mailing list