Edit Rename Upload Download Back to Top

OOPSLA 2003 Trip report Wednesday part 2

Trip Reports I've Written in the past

Back to OOPSLA 2003 Trip report Wednesday

Squeak on a hand held device, a Disney project

Yoshiki Ohshima and Andy Ogden

Done for theme parks division, conversion of electronics. ADA {American Disabilities Association} said you needed close captioning in the park. So we needed a device to do this, and other things. Wireless connectivity. Location sensing. Audio record and playback. Digital camera in unit {witness camera's in phones today} (rich) location base content

Ok let prototype and it get in front of guests to see what happens Sharp was quite willing to provide the hardware from Japan never shipped to America. Lots of expensive memory. Today they are popular but when it was done it was unheard of. Made to drop!!!! Made to get wet!!!! {Encase unit in plastic shell to met these goals}

Outfitted DisneyWorld Animal Kingdom to have IR transmission towers (non-standard).

Guests were selected, then registered with us so we could track device issues. Instructions done via paper Flash cards Then let people go free!!!! Family shared this experience through out the day Hosted Narrative, a experienced guide. {Think of Clippy, but not as insane} Digital Map, however small image makes it hard to compete with paper Find it dialog, to find things Symbol codes, basic shapes that would let you indicate where you where Wirelessly do "FASTPATH" ride permits. Games when you wait in a line, which are specific to the wait line. Picture taking!!! A digital camera! Later when they went home they could get on the internet and we could display pictures in the browser and reference by location and time etc. Then we did a 20 minute exit interview. Over five days 80 devices were distributed to guests each day. 60 or people so were exit interviewed. ...

Hardware and OS Sharp M1-C1 PDS< 60Mhz 16MB ram, 32x240 reflective color display. Very viewable in FL and CA sunshine + CAMERA. Only usable platform in 2000.

Exotic hardware & OS Slow CPU and light memory Customize UI Two!!!! programmers, eight designers Short development time Fulfil Disney show standards {tough bar to make}

Squeak solved those problems in a nice way

Important features Pixel identical execution across platforms Small/fast Hardware is abstracted into objects. Ability to build GUI frameworks easily

Overview of Squeak VM A VM written in itself Two weeks to do a initial port to Zaurus PDS Only ~5000 LOC support code for VM, Camera control, power saving, battery check.

Then he started up a PDA emulator in Squeak. Very rich content, find stuff etc. Location data is entered via shapes, say circle, square, triangle, plus to pick different modes Showed camera control to alter brighness/contrast.

Ok the implementation PenSprites: Our simple GUI framework for touch screen interface Supports translucency, non-rectangle Sprites and animations Core of Pen-Sprites consists of: Sprite lightweight GUI components Stage: where Sprites lives in Canvas: where Sprites draw themselves on Action: timer based. 18 classes 323 methods

A bit of code, the timer logic is doOneCycle self processInputs. self processActions. self process?

An important part of all this is the Asset File A data file format that stores all content in a single file Both retrieve speed and efficiency are important

A diagram showing data size versus memory access time, versus compression versus CPU time.

To help the designers we invented Stacker which was a Hyper-linked card editor/viewer The designers managed to build complex graphic hyper-link applications without developer help on their macintoshs.

Special modes to allow you to import graphics, make new links, modify location of existing links. All done graphically. Thus we didn't have to help the designers build the user experience.

Note that we needed to switch between application, that required a change to the original logic. Done via doOneCycle implementations for various subclasses,

self currentApplication doOneCycle

Issues we had during the testing. Writing CF memory silently fails with (older) Mac G3. We ended up with corrupted data files on PDA in the middle of the test The embedded debugger on the PDA {Really the standard Squeak debugger} let us pin-point the error instantly. Built-in performance profiler {Another Squeak standard tool} let us pin-point the media-handling bottle-necks.

Conclusion We managed to develop a media rich embedded system with two programmers a short time. The byte-code execution was not a bottleneck The embedded development environment help capture an unexpected error.

Question: Did you know Squeak before this project? Answer I did not know Squeak John Maloney did (Author of Morphic, and one of the authors of Squeak) Not many choices, other choice was C

David Ungar John Maloney use to work with me, {Did Morphic at Sun} How come I didn't get one of these at Disneyland yesterday? What happened?

Andy Ogden answers this question versus Yoshiki. One cannot explain decisions Focus feedback was overly positive. However remember there are 30,000 people at the park, how many do you need? How to handle them.

Today still an issue. Content will be provided by either the park or someone else who makes that outside and brings into the park!!! {Think of un-official guides to Disney in book form, can digitial be way off?}

Question: How would you do it differently today? Well today cell phone are getting very powerful. Perhaps then just provide the content for them. If we pick PDA today? Still would pick Squeak!

Onward to OOPSLA 2003 Trip report Thursday


Edit Rename Upload Download Back to Top