Hello,
the topic "Squeak on Handhelds" has been discussed several times on this list in the past. I'd just like to ask, what's the state of the art, if there are people working with/ on Squeak for Handhelds, an maybe if there's some help needed.
Background: Smalltalk is my favorite programming language, and a couple of years ago i worked with Visual Age for Smalltalk. In the past years I played around with Squeak, but i'm far away from beeing a Squeak-expert. At the time i have to implement a UI for a Handheld running WindowsCE (iPaq). The UI shall control actions served by an ejb/ servlet-container (jboss) via HTTP-GET-Requests to a servlet. For the first version of the control-sw we used ewe, a free Java-Implementation for Handhelds (www.ewesoft.org). Unfortunately the UI was not "sexy" enough for our customer. Now I'm trying Squeak, because Morphic as a lot of possibilities to implement graphics/ animation/ sound and other "sexy" things. (btw. "sexy" in this context means: colorful, animated, playful etc.). For the first tests I used the SqueakVM 3.0 compiled for ARM (http://www.is.titech.ac.jp/~ohshima/squeak/WinCE/) and a default 3.2-image. Everything seems to work fine, i built funny buttons, lists and so on. Networking works fine too (WLAN).
I'd like to know if there are any pitfalls - for now everything seems to be a bit too easy. Do you have any hints/ tips for stripping down the image? Any ideas on how to implement an automatic installer (an executable that installs the sw on the iPaq)? I heard of the possibility to "close" the image (prevent the user from opening a world-menu etc.).
Thanks in advance for any hints, tips or resources. And if there's any help needed, let me know.
regards, Stefan
Hi Stefan / All,
You are not alone! I am developing an application in Squeak for a handheld (Intermec. Futhermore my employer is co-developing the program in java and using the project as a testing ground for Squeak.
I had little Smalltalk experience before this, so there has been a lot a of learning to do. It's all good fun, but coming from Visual Basic, it's not a picnic. On the other hand smalltalk has the novel feature that it actually does something useful.
The only real set back I've experienced was a random problem with Morphic. Windows would occasionally get draw with their contents distributed all over the desktop - i.e. buttons completely off their containing window, or unclipped text morphs. This was particularly bad running on the handheld (Win PPC).
I was rescued as my boss had a good mate who is something of a smalltalk guru. The problem turned out to be a result of event calling. We found that by waiting for a system cycle to complete, we prevented the mis-drawing:
deferEvent: aSymbol "Defer the triggering of the event till the next world cycle."
WorldState addDeferredUIMessage: [self triggerEvent: aSymbol]
I haven't gotten too far with stripping the image - just adding my code to a "basic image" and running an abandon sources. Though this is a lively topic on the lists at present.
As for installs, the Java project uses .cab files to install the app, as these extract without futher user intervention. I've yet to use these to ship my squeak version. At present I'm transferring stuff on a flash card.
Good luck with you project!
Mark (London, UK)
Hello,
the topic "Squeak on Handhelds" has been discussed several times on this list in the past. I'd just like to ask, what's the state of the art, if there are people working with/ on Squeak for Handhelds, an maybe if there's some help needed.
Background: Smalltalk is my favorite programming language, and a couple of years ago i worked with Visual Age for Smalltalk. In the past years I played around with Squeak, but i'm far away from beeing a Squeak-expert. At the time i have to implement a UI for a Handheld running WindowsCE (iPaq). The UI shall control actions served by an ejb/ servlet-container (jboss) via HTTP-GET-Requests to a servlet. For the first version of the control-sw we used ewe, a free Java-Implementation for Handhelds (www.ewesoft.org). Unfortunately the UI was not "sexy" enough for our customer. Now I'm trying Squeak, because Morphic as a lot of possibilities to implement graphics/ animation/ sound and other "sexy" things. (btw. "sexy" in this context means: colorful, animated, playful etc.). For the first tests I used the SqueakVM 3.0 compiled for ARM (http://www.is.titech.ac.jp/~ohshima/squeak/WinCE/) and a default 3.2-image. Everything seems to work fine, i built funny buttons, lists and so on. Networking works fine too (WLAN).
I'd like to know if there are any pitfalls - for now everything seems to be a bit too easy. Do you have any hints/ tips for stripping down the image? Any ideas on how to implement an automatic installer (an executable that installs the sw on the iPaq)? I heard of the possibility to "close" the image (prevent the user from opening a world-menu etc.).
Thanks in advance for any hints, tips or resources. And if there's any help needed, let me know.
regards, Stefan
Stefan,
For the first tests I used the SqueakVM 3.0 compiled for ARM (http://www.is.titech.ac.jp/~ohshima/squeak/WinCE/) and a default 3.2-image. Everything seems to work fine, i built funny buttons, lists and so on. Networking works fine too (WLAN).
The VM was from 3.1alpha. It doesn't have some newer features, but for 3.2 image it should be fine.
I'd like to know if there are any pitfalls - for now everything seems to be a bit too easy.
Yes, if you're willing to write your own buttons, etc. Squeak is perfect.
Do you have any hints/ tips for stripping down the image?
It is a try and error process, but you wouldn't have to strip it down too aggressively in this setting?
Any ideas on how to implement an automatic installer (an executable that installs the sw on the iPaq)?
I'd like to know the answer for this, too^^; There must be some.
I heard of the possibility to "close" the image (prevent the user from opening a world-menu etc.).
Ned Konz has a package called Lockdown.
http://map1.squeakfoundation.org/sm/package/0c6d3bda-adbb-496a-ae84-8d4c145d...
I don't know how applicable it is to the 3.2, but should help.
Of course, if you go to the full-screen mode, and ah... if you re-compile the VM with different #define macros so that keyevents get reported to Squeak, you can make it really "closed".
-- Yoshiki
Hi,
On Fri, Feb 25, 2005 at 12:28:55PM -0800, Yoshiki Ohshima wrote:
Any ideas on how to implement an automatic installer (an executable that installs the sw on the iPaq)?
I'd like to know the answer for this, too^^; There must be some.
For that point it would be interesting if there are any Command-Line-Options for the SqueakVM (iPaq, ARM), and if there's a way to start the image without getting asked for which image to use.
Thanks, Stefan
Hi,
please have a look at http://www.kurtz-fernhout.com/squeak/ there you should be able to find an embedded squeak running from an application included image, but the VM is quiet old.
With best regards
Mit freundlichem Gruß
Sven Riemann
Shanghaied Engineering Group
Shanghai, China
Web: www.shdeg.com
Email: sven.riemann@shdeg.com
Tel: ++86 21 58951896
-----Original Message----- From: squeak-dev-bounces@lists.squeakfoundation.org [mailto:squeak-dev-bounces@lists.squeakfoundation.org] On Behalf Of Stefan Krecher Sent: Tuesday, March 15, 2005 2:58 AM To: The general-purpose Squeak developers list Subject: Re: Squeak on Handhelds, Status?
Hi,
On Fri, Feb 25, 2005 at 12:28:55PM -0800, Yoshiki Ohshima wrote:
Any ideas on how to implement an automatic installer (an executable that installs the sw on the iPaq)?
I'd like to know the answer for this, too^^; There must be some.
For that point it would be interesting if there are any Command-Line-Options for the SqueakVM (iPaq, ARM), and if there's a way to start the image without getting asked for which image to use.
Thanks, Stefan
Stefan Krecher stefan@krecher.de wrote:
For that point it would be interesting if there are any Command-Line-Options for the SqueakVM (iPaq, ARM), and if there's a way to start the image without getting asked for which image to use.
There is some general information on the swiki, under a topic somethnig like "how to deploy squeak applications". It's linked from the FAQ, right under the "how do I build an executable" question.
Things could be better (and I think this is an easy thing to work on that would really help Squeak), but please be aware that there is some thought already put into this issue. Also be aware that if anyone does anything about it, they have a place to publish it and brag and help fellow Squeakers!
-Lex
squeak-dev@lists.squeakfoundation.org