A Squeak PDA

Kevin Fisher kgf at golden.net
Fri Nov 9 13:48:13 UTC 2001


On Thu, Nov 08, 2001 at 07:02:29PM -0600, Aaron J Reichow wrote:
> Hola!
> 
> Having gained some real Squeak/Morphic experience this last summer, I
> think I'm ready to be serious about a Squeak PDA project.
> 
> Is there anyone else out there interested in getting some serious work
> done on this front?
> 
> Possible platform: Compaq iPAQ H3150 (like the more common model, but
> greyscale) running Linux and a Squeak/Linux FB VM.


I was working on my own home-grown PDA for squeak, but I've put
it on the backburner for various reasons (not happy with my own
design being one...my current code needs serious refactoring, if not
a complete rewrite).


> 
> I'm hoping to buy one of these soon.  Why this model over the more common
> color one?  Cheaper and better battery life.  Two important things to me.

Personally I'd go for the newer iPaq, if any...lots more RAM to play
with, which means more fun Squeak goodies to experiment with.  However,
battery life is a good thing to shoot for.  My iPaq can't hold a candle
to my old Palm in terms of battery life (both are colour...the palm can
go weeks of 'regular usage' without needing a recharge, while my iPaq can
only go a couple days).

Another thing to consider:  if you are planning on using Linux on  your iPaq,
you should probably be aware that the current "stable" release (Familiar 0.4)
isn't all that efficient on battery usage.  It consumes more power than
WinCE..however, I think Familiar 0.5, whenever it is finished, will be
much better.  It'll probably have alarm facilities too, so you'll be able
to wake it at a given time.

That said, Familiar 0.4 is quite usable and is a great for development
purposes.

> 
> Things I see as immediate projects:
> 
> 1. Figure out how to get rid of focus-follow mouse.  Wasn't there a CS
> that did this already?

I thought I saw one some months ago...it's probably in the archive.

> 
> 2. A soft-keyboard morph

This would be handy, although I prefer Genie myself.

And that brings up another question--are you planning on using a 
gesture recognizer of any kind?  Genie is very good.

Of course, then you have to decide on what kind of gestures you want
to train--Grafitti?  Jot?  Or, something home-grown?

> 
> 3. Revamp the window manager to produce something more appropriate to a
> PDA.  I think PicoGUI (http://picogui.org) is a great place to look for
> ideas.

Well...
I guess the big question I have is, for a PDA do you -really- want a
window manager at all?  Look at the Palm, or WinCE...in most cases, the
application takes up the entire display (with the exception of popup
error dialogs, usually).  On the Linux-iPaq list, at one point they were
discussing how to change a window manager in such a way that every
application would be 'full screen'.

I think there's a lot of room for experimentation here too...as Craig Latta
pointed out last week, having a panning viewport on a larger virtual
"desktop" (and I use the term loosely here) is quite cool.

In my original design, I was going to keep things as Smalltalky as possible.
The PDA app was going to be a "browser" not unlike the class browser..
In one pane, you'd select the category (Addresses, Notes, whatever), which
would expand into the list of objects in that category.  The large "bottom"
pane would be the playfield on which the interface for the selected object
would be drawn.

There were no windows..the entire screen is filled by the "browser" morph,
which contained all the display elements.

Argh..this makes me want to kick the dust off the mess and re-do it.

> 
> 4. Write a datastore.  I'm talking about an oodb like the Newton's system
> of soups.  The advantages of a system like this is very evident to
> Smalltalkers, I would imagine, but can go into it if needed.

My datastore was the UNIX filesystem. :)  I just stored individual entries
in their own files.  The Q Palmtop Environment stores all it's data
in XML files as well.

> 
> 5. Get some sort of framework going geared towawrds writing apps for this
> PDA.
> 
> 6. Pound out some PIM apps.
> 
> I'm going to try and get started on this.  I started out with the aim of
> using PicoGUI and writing bindings for it to Lua.  But C gets to me, and I
> think that's pretty much abandoned.
> 
> Any other ideas?


Hmm...there is the default PIM application that comes with Squeak, as well.
It's too wide for the iPaq's screen, but I'm sure a new view could be written
to accomodate.

To make migration easier we'd also need some way to convert Palm (or whatever)
addressbooks/contact lists to the whatever format you envision.

I've started using QPE (qpe.sourceforge.net) as my PDA front end for the
moment..as a result I hacked together an ad-hoc Palm to QPE converter
in Squeak...all it does is convert CSV to XML. 

Another thing to consider:  if you want Squeak to run on a 'stock' iPaq
you'll need to look into slimming the image.  I went through the hoops of
shrinking;  I think for future stuff I'll wait and see how the ModSqueak/Ginsu
stuff pans out.  If you want to use MVC you can shrink the image quite
small; Morphic is another ballgame altogether. 

Anyway, that's just my 0x02... :)

> 
> Regards,
> Aaron
> 
>   Aaron Reichow  ::  UMD ACM Pres  ::  http://www.d.umn.edu/~reic0024/
>   "if i don't stay true to live and hate, how do i differentiate
>               between chasing cream and chasing dreams"  :: atmosphere
> 
> 
> 




More information about the Squeak-dev mailing list