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

>Dean,
>
>>      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)
call PalmKeys
     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
mentioned.

     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
     toggles.

     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
access.

     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
crash.

     '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
a noticeable
     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
stylus issues.
     I'll check this out more tonight and report back tomorrow.  It's almost
certainly dropping
     events.

     And regarding the 'slow machines' comment... The interface sluggishness
problems aren't
     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
the Widenote
     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
going....


                                   -Dean Swan





More information about the Squeak-dev mailing list