A Squeak PDA

Aaron J Reichow reic0024 at d.umn.edu
Fri Nov 9 19:24:45 UTC 2001


On Fri, 9 Nov 2001, Kevin Fisher wrote:

> 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'd be quite interested in playing with this code, if you're up to showing
me.  FileOut or an image works fine. Promise not to make fun of
not-yet-factored code or redistribute it. :)

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

As much as I'd like to, I'm on a budget.  $150-200 is a lot more
affordable (and rationalizable when I have a perfectly function Newton for
real-world use) than $400-500 for the color model.  I take donations
though, and with such a hardware donation would pledge to get Something
Done.

> > 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?

I've not played with genie much (any sort of char recognition is a pain on
a trackpad), but have a little with CharRecog.  I've read a bit about your
experiments with Genie, and it sounds like it's fast enough for the iPAQ,
which is a good thing.  A soft-kb is still usually needed for minor
editing, or to train CharRecog on the iPAQ itself.

I hadn't drafted anything up, but was thinking something mostly like Jot,
fixing things that seemed awkward.  Having used Grafiti on a Newton and
Palm and Jot on the Helio, Jot seemed to make a lot more sense.

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

PicoGUI works by making all app full-screen.  It's hard to get a feel for
how it manages windows without trying it, and a compile isnt' that hard
and runs under SDL.  If you start two applications, default action is that
they're tiled, side by side.  You can move the divider, giving one a
higher proportion of the screenspace.  I've used it some on a VTech Helio
(http://picolinux.sf.net) and found it quite usable.  The Newton uses a
mostly full-screen only policy, and opening and closing teh Extras drawer
to do some multi-tasking is a pain.

I tend to expect a PDA to be a handheld computer more than a really
expensive daybook.  I don't want a desktop OS, but I would like to have
some sort of convenient multi-tasking.

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

That sounds really cool.  Was there any multitasking? Or would you just
have to switch app-to-app?  What percentage of the screen (vertically) did
the data-browser take up?

The more I think about this, the cooler it seems.  A possibly interesting
exercise:

In the browser, you select your data object.  This could be a document
(like someone's contact info or a note) or an application.  This object
would have a flag saying whether or not to hide the browser pane when it
was selected.  Games that would be better taking up the entire screenspace
would have have the browser hidden when it's opened, but a person's
name/address wouldn't (doesn't require the full screen to Get the Job
Done).  You could map one of the iPAQ's hardware buttons to pop the
browser back down when you're down playing the game or editing tyhe note.

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

Perhaps we could work together, not duplicate work.

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

Looking to the Newton, the soup-system of datastores seems to have been an
incredibly great idea.  A big problem I see it solving is that of syncing.
If you have a standard way of storing data, you don't need to do anthing
special to accomadate a new application with it's new data.  It's all
stored in a central soup.  To sync, the sync-app just says
"SoupStore allSoups do: [ :soup | soup sync]".  It would avoid a lot of
inconsistency, especially when you've got traditional unix types wanting
to store stuff in every different format (serialied objects, xml, plain
text, deliminated text, binary formats) in random places (/home/foo,
/root/, /usr/pda/data).

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

I just had another look at QPE.  I remember playing around with it a
little when it first came out and it looks like it's come a long way.  How
well does it run on the iPAQ?

Regards,
Aaron

  Aaron Reichow  ::  UMD ACM Pres  ::  http://www.d.umn.edu/~reic0024/
  "the question is no longer between violence and non-violence; It is
between non-violence and non-existence."  :: martin luther king junior







More information about the Squeak-dev mailing list