We've now made the first demo of our Squeak-based kids' schooling environment, and it has been well received by the local community. Our work is designed specifically for classroom use and incorporates a Nepali theme throughout. It was done in a hurry, and our heroic illustrator Om only joined us at the last minute, but it's great to finally have something to show people!

We did encounter one serious problem during our big presentation: out-of-memory errors while running on the XO. After a day of troubleshooting, we found that the large TrueType fonts (point size ≥ 200) we’re using are consuming a significant amount of memory in Squeak. An example project file quickly eats up about 65MB of RAM just to rotate a colored/shadowed StringMorph in BitstreamVeraSans at size 200. In our demo, we’ve seen up to 200MB of unwanted heap expansion—annoying on a MacBook and fatal on an XO.

The good news is that removing large StringMorphs keeps our activities running with a reasonably bounded heap size. The bad news? We really do need large text, and now we don’t have a neat way to display it! If any Squeak experts out there can take a look at our example project and help us determine whether this heap expansion is due to a fixable bug—or if we're just expecting too much from poor little TTCFont—we’d be very grateful.

If you’d like to try our demo, install the Squeak runtime system (via yum, apt-get, or from the Squeakland website) and open the image file inside olenepal-demo-4.zip. Developers may also want to grab the olenepal-demo.4.changes.gz file and uncompress it. By default, halos and the world menu are disabled, but you can enable them by pressing Alt-K for a Workspace and evaluating [OLE authorMode].

Tomorrow, we head out for a 10-day trek during the Dashain festival. When we return, we’ll need to quickly tackle several challenges: shrinking the image and splitting projects to scale better, implementing Unicode Nepali text (Devanagari alphabet) in Squeak, integrating multilingual support, choosing a better audio format than WAV for speech clips, and ensuring our activities run well on older B2 machines (which would also be great for demos since we only have one B4 to share). Not to mention developing a lot more activities!

Busy, busy, busy.

Happy Dashain, everyone! And to all the Squeak gurus out there—drop us a comment, say hello, and share your tips!