New Squeak Porting Proposals
Dean_Swan at Mitel.COM
Dean_Swan at Mitel.COM
Tue Aug 17 22:53:19 UTC 1999
From: Dean Swan at MITEL on 08/17/99 06:53 PM
>> The stylus interface works, as you've implemented it. It's just not
>> very usable. Because WinCE doesn't show the mouse cursor, and there is
>> essentially only one button with no Cmd or Option keys, a lot of the
>> Squeak interface is inaccessible (especially in Morphic).
>From Andreas Raab:
>Do you have any idea how that could be fixed except from writing a complete
>new UI for stylus based computers?!
Yes. Of course I do:
It is possible to remap the hardware application launch keys to mimic
"real" keyboard keys.
I'm currently using a program from Conduits Technologies (www.coduits.com)
that allows this. The E-105 has three keys in the lower right corner of
the front panel that default
to launch 'Calendar', 'Casio Menu', and 'Contacts'. I've been thinking
about making changes
(in Smalltalk, not the VM, but mostly because I don't have all the WinCE
dev tools) to use these
as the three mouse buttons. I don't know if they can be made to report
separate up/down events
though, so I was thinking about some kind of toggled state thing, as Bob
To go along with the key mappings, I plan to have Squeak show a mouse
cursor, since WinCE
doesn't and/or won't. The remaining issue with this scheme would be to
somehow modify the
standard 'Cursor change:'s so that the displayed cursor shape indicated the
status of the button
Regarding the 'PasteUpMorph interCyclePause:' and display depth
suggestions, I will try those
and let you know what I find. At this very moment, I've blown away 2.4 and
I'm loading 2.5 into
the Casio. It fixes enough problems with Morphic (especially the problems
with rotated windows
like the system browser. 2.4 had a propensity to respond to most mouse
downs in a rotated
browser with a walkback) that I think it's worth the extra megabyte or so.
I'll also check on the repeatability of that crash. From what I recall,
there was another WinCE
dialog that popped up before the crash notice regarding an invalid page
Oh wait. It just finished. (btw MS ActiveSync 3.0 is FAR superior to
WinCE Services 2.2, which
was all but unusable). Just changing the idle process didn't cause the
'PWM 3' is a bit faster than it was in 2.4, but I'm not sure if this is
because of the #idleProcess
change I just made or not. Changing the display depth doesn't seem to have
impact on performance. It 'feels' just as fast and/or slow with the depth
set to 16 bits.
I'll have to get out of Morphic to change the #interCyclePause: due to the
I'll check this out more tonight and report back tomorrow. It's almost
And regarding the 'slow machines' comment... The interface sluggishness
apparent on my Pentium 133 Sharp Widenote, and I would kind of expect that
a MIPS R4000
at almost the same clock speed has higher raw CPU performance. Also, I run
at 16 bit display depth and it's a 1024 x 600 display, so that's a LOT more
bits to move around
than a 240 x 320 display.
The hardware guys have spoiled us too much when we can start thinking of
131 MHz 64 bit
processors as 'slow machines'. The machines aren't slow. The software is
bad. As I have
mentioned before, my Psion S5 feels *much* faster than the E-105, even
though it's CPU is
only 32 bits with less cache and clocked at about 1/9th the speed of the
E-105. I've even
thought about trying to run Squeak on the bare E-105 hardware just to get
WinCE out of
the way, but that would deprive me of the 'pleasure' of being able to try
to run other 'neat'
WinCE apps. Anybody for trying an MP3 player in Squeak?
(Aside - another project on my ToDo: list is to port Squeak to the Psion.
I *do* have the
development tools for that, but it's more work since the S5 only has 8
Megabytes of RAM,
and my 20 Meg CF is full of other stuff - time for a bigger CF?
probably... Oh, and of course
the Psion would also suffer from the stylus issues, but at least it has a
keyboard. I should
probably talk to Tim Rowledge about it, but I think he has the same problem
I do - too much
to do, not enough time.)
>From Bob Arning:
>Hmmm... What if the VM (or prehaps it could be done in Squeak) treated a stylus
>touching the screen and moving as simply a mouseMove and relied on an
additional >keypress to consider the touch as a mouseDown. One could also
consider the software >Apple developed for limited-access situations: repeatedly
hitting the shift-key >toggled a state thingie between various metakey
combinations that were applied to >normal keystrokes.
Bob, where could I find details on what has been done in this direction?
How did they indicate the status for the toggled states?
>From Alan Kay:
>This is roughly what the itsy folks at DEC/COMPAQ do ... The Squeak that
>runs on it uses this convention.
>It works fairly well.
Are details of what they've implemented available? I don't mind
recoding it for the Casio, but it would be helpful to know how
they addressed the various usability issues.
How did they deal with the relative incompatibility of the standard
UI with small screen real estate?
>From Chris Norton:
> [Norton, Chris] I don't have a PDA, so I don't know if this
>behavior is supported, but how about implementing double tap support to
>indicate right mouse down? If the menus were then set to default on "stay
>open", the user could double tap on a widget, get the right mouse menu and
>then proceed normally from there.
This is not a bad idea, but it still leaves the issue open of 'mouse down'
and 'mouse move'
being immutable, and no cursor display to indicate what a click will do at
a given screen
location. Any ideas on how to address these issues?
Enough rambling for now. My wife just called and asked me to pick some things
up on the way home, and since it is almost 7 p.m. (EST) I should probably get
More information about the Squeak-dev