Detailed description of Squeak on Nokia 770 [Long!]

Aaron Reichow revaaron at bitquabit.com
Tue Oct 10 03:44:22 UTC 2006


Hola again everyone!

This is a very long post. I am posting it here because I feel others might
find it useful.  If anyone thinks I should polish this and post it on the
wiki, please tack that onto a reply or send me a personal message.  I'm
not sure if this kind of information matters to many folks.  I suppose it
could be worked up into a more recent and detailed description of Squeak
on the PDA- qualitatively, its current status, etc.

-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>

Below are my impressions of running Squeak on the 770 with various
images. It is an incredibly un-scientific study- no profiling, no stop
watch, nothing fancy.  Not quite apples and oranges, but pretty close
sometimes. What I'm trying to convey is to those considering using this
specific device for Squeak, like Stef D, and to those who haven't used
Squeak on a PDA or other slow/embedded device what it *feels* like.  If
anyone wants other information- any kind of benchmark, running a certain
task, tool or app do not hesitate to let me know.

1. The first image I tried was Kevin Fischer's TinySqueak.image (6.5 MB),
which is 3.1alpha. Considering the slowness of the CPU, it ran quite well-
while I didn't remember all the strokes, I am very happy to report that
the character recognition using Genie and the dictionary of strokes that
Kevin put in for this image was faster and more accurate than the sad
excuse for HWR, written in C/GTK+, that comes with the 770.

-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>

2. The second image I tried was 3.9g-7061 (16.5 MB).  This was slow, but
not as slow as I had expected.

Some metrics for 3.9g: If I quickly highlight a paragraph of text in a
workspace by tapping somewhere and dragging down, it takes about a second
after I've pulled the stylus up. The world menu takes about two seconds to
come up.  If you'be a System Browser open, and click on a category with
only one class in it- for instance EToys-Buttons- it is about 2 seconds
between tap and seeing the class show up.  About three seconds between
tapping the class and seeing the list of method categories and methods
show up. Two to three seconds for a method's code to show up when the
method is tapped.

I'd like to point out that this is not slowness with Squeak, but with
Morphic. The same tests on the same image done in MVC are all instant-
even the Browser tests, which are doing some thinking outside of drawing
the Morphs.

-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>

3. Shrunken2.image (4.4 MB), which is from TweakOnly.zip, something
according to my filesystem is from November 2004. It is a 3.6-based image.
So, probably not the best for testing Tweak, but I had it on hand.  It
must be a VM/prims thing- whenever I've tried Tweak on a CE or Pocket PC
machine, performance has been beyond hideous, even on a machine with a
powerful 624 MHz XScale CPU.  On this lowly 220 MHz CPU it is way faster.
Some things seem faster than the 3.9g Morphic image, but it might be a bit
unfair/not useful to compare two images of difference sizes, versions,
etc- Tweak vs Morphic won't be the only factor. But, I report as a user,
and I call 'em as I see 'em.

Metrics for this 3.6 Tweak image: Three seconds from tap to File menu
coming up.  A lot of things felt pretty fast, considering the CPU speed. I
was surprised and impressed.  Dragging Morphs (what are they called in
Tweak? I'm sorry, I'm really completely unedumatcated on Tweak) is smooth.
Clicking on stuff in a Class Browser is definately faster than I described
with the 3.9g image in Morphic. Tweak defiantely warrants some more
investigation on my part for using on a PDA.

-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>

4. I tried one of my old Dynapad development images, a 2.8-based image
that is 5.4 MB.  Man, this is the Squeak I remember.  I've even got
Henrik's awesome Bluelook installed, so it looks great too. If you want to
have a look at it, I've got the image up.  This image has a handful of
PDA-friendly features.  However, you're going to want to crank up the
fonts for use on the Nokia, because it has some tiny ones now, meant for
QVGA devices.  This is image is incredibly usable, though ancient. Though,
gauging from the questions and comments I've heard on the #squeak irc
channel, not as ancient as people might think- it has a great deal of what
we know as Squeak these days.

http://www.d.umn.edu/~areichow/squeak/images/mp-03b-1.images
http://www.d.umn.edu/~areichow/squeak/images/mp-03b-1.changes

-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>

5. Next up, my personally configured 3.2 image (10 MB).  This image, nor
surprisingly, is between the speed of 2.8 and the features of 3.9a. If
anything, I was quite surprised to see how relatively fast 3.1a felt
compared to the 3.1a image I talked about in #1.

-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>-<>

Overall, I'd say I was pretty happy with the performance, it was
definately better than I expected (dreaded?). However, this is me- a guy
who has sought to use Squeak on PDAs from pretty much the first time a
consumer could do so- in 1999/2000 with the 66 MHz MIPS-based VTech Helio,
all the way up to whatever new Linux, vanilla WinCE or PocketPC/Windows
Mobile device I can get my hands on, which came with CPUs between 206 MHz
StrongARMs to 624 MHz XScales.  And, to the surprise of some, I've used
Morphic for all my PDA Squeaking with the exception of the VTech Helio.

CPU usage was pretty high- 75% or so while idling.  However, I have been
very impressed by the battery life of this thing.  The screen has been off
for most of the time- I've been doing testing via SSH and VNC, with the
screen off.  At the same time, the CPU has been quite high, and the wifi
connection has been in use the whole time.  I've been doing this testing
for 3 hours- with Squeak idling and using CPU for most of that time- but
the battery meter still reads as having 4 out of 4 bars. I'm quite
surprised- the marketing says 3 hours of browse time, but between this
evening of testing and my use of it up to this point for web browsing and
ebook reading, I've been getting way better battery life than that.

A big advantage that a Linux device has over a CE device is memory
management.  On CE it can be a hassle to get bigger images to work because
of the way memory management works.  But I've never had a problem running
bigger images (15-20 MB or so is big to me!) on Linux, where I have on CE.
There are trade offs for either system.  Anyway, I hope this gave folks
who care an idea of what the Nokia is like running Squeak, especially
newer images.

....off to play with Squeak on his Nokia!...

Regards,
Aaron

revaaron at bitquabit.com || rev in #squeak on irc.freenode.net
   "Liberty will not descend to a people, a people must
         raise themselves to Liberty." -- Emma Goldman



More information about the Squeak-dev mailing list