Squeak on Handhelds (Update)

Brian Rice water at tunes.org
Thu Mar 8 20:40:00 UTC 2007


Hello all,

After a recent stint at a product prototyping company that had a lot  
of work going on for touchscreen interfaces, I came back to Squeak  
and looked at the state of handheld software/development support for  
Squeak, and found it stagnant. So I decided to take matters into my  
own hands.

First, the Squeak on Handhelds wiki page:
http://wiki.squeak.org/squeak/Handhelds

Which links to Dynapad (dead sourceforge project, although the author  
Aaron Reichow is still a handhelds-using Squeaker with custom images)  
and Faure (not dead, just not updated and a bit buggy/incomplete). I  
started with Faure, since it has an actual framework for PalmOS-style  
user interfaces and browsing. It has a Url framework that supports  
addressing of various PIM data as well as browsing and editing source  
code and file system entries. There's also a little support for  
including other applications as "pages" to visit (leaves in a  
browsing tree).

So I contacted Russell Allen, who created Faure:
  http://www.russell-allen.com/squeak/faure/
and he claims he's busy with other things and didn't mind if I  
started working with it. So we now share a SqueakSource project:
  http://www.squeaksource.com/Faure.html
where I've been cleaning up the framework and setting it up to be  
more extensible.

I contacted Aaron and he was nice enough to sell me his Nokia 770  
after he upgraded to the 800, so I've had a platform to test the  
various PDA-oriented images out there.

My overall goal is to have a space where most handhelds/touchscreen- 
oriented code can be collected and collaborated on. Specifically, I  
want to gather attention about specific topics:
Personal Information Management (PIM or PDA data):
   - contacts, email, messaging, todos, calendaring
   (See PDA/PDAMorph which I want to replace with a Magritte-based  
solution)
Idea-processing:
   - note-taking, drawing, sculpting, outlining, brainstorming.
   (Faure has some basic stuff, and Dynapad *did*, but Golgi
Touchscreen Input Interfaces:
   - stylus or fingers, gestures or pushbuttons.
   (See Genie, and now the InputMethods package in Faure's SqS  
repository which gathers a ThumbPadMorph and a simple  
QwertyKeyboardMorph from Faure).
   - One thing I need to figure out is how to use a click on a widget  
to make the next mouse click show up as a modifier+click or just 2nd/ 
3rd moues button click. I'm probably close but it's a key feature to  
making a soft keyboard widget complete.
Simpler screen management:
   - Faure's single-pane browsing, or dual-pane browsing for wider  
screens, a universal navigation system (like Faure but hopefully  
merging with OmniBrowser's framework so less code is needed).
   - Simple sweep / flick gestures a la Apple phone interface for  
navigation.
   - A way to detect screen size on startup and do something  
intelligent about it. 240x320 was almost ubiquitous for a while but  
now there's quite a variety of resolutions.
   - A way to detect what device Squeak is on and map key controls  
appropriately. I discovered that the Squeak VM doesn't distinguish  
function keys from each other and that the Nokia 770 maps some keys  
to these X11 key-codes, and I imagine that other small platforms have  
similar issues.

I'd like to know: What solo projects are hiding in the woodwork that  
would benefit from this kind of collaboration? Who wants to donate  
code for this project to maintain?

I've seen and started poking at Tansel's 4MB previously-commercial  
demo image, all of Aaron Reichow's images, and Pavel's KernelImages  
(which I'd prefer going forward since I can automate builds of them  
that way). Craig says he has a pie-menu-like soft-keyboard tool that  
he uses on touchscreens, which sounds interesting.

I should also state that it's important for an end-user to have  
something they can grab immediately for handhelds and touchscreens  
from squeak.org that is self-explanatory in the sense that it should  
always be obvious what is available to do in the current current  
context, and what modes or quasi-modes are available (especially for  
Genie which turns the whole screen into a different mode without  
telling you or giving a novice an easy escape).

I'd also like to know who's interested in the work and might have  
something to contribute. Oh, and how I should organize the project,  
maybe to rename the SqueakSource project to "Dynapad" or "Handhelds"  
or such, for example?

Comments/criticisms/concerns?

--
-Brian
http://briantrice.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20070308/3f99f6cc/PGP.pgp


More information about the Squeak-dev mailing list