netmorph an intuitive mobile object system and its applications masashi umezawa kazuhiro abe satoshi...

21
NetMorph An intuitive mobile object system and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara September 27, 2002

Upload: elmer-cox

Post on 18-Jan-2018

221 views

Category:

Documents


0 download

DESCRIPTION

3 Network-enabled SqueakToys (1) MyCar forward by 5 MyCar turn by 5 MyCar warp

TRANSCRIPT

Page 1: NetMorph An intuitive mobile object system and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara September 27, 2002

NetMorphAn intuitive mobile object system

andits applications

Masashi Umezawa Kazuhiro AbeSatoshi Nishihara Tetsuya Kurihara

September 27, 2002

Page 2: NetMorph An intuitive mobile object system and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara September 27, 2002

2

Normal SqueakToys

• MyCar forward by 5MyCar turn by 5

Page 3: NetMorph An intuitive mobile object system and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara September 27, 2002

3

Network-enabled SqueakToys (1)

• MyCar forward by 5MyCar turn by 5MyCar warp

Page 4: NetMorph An intuitive mobile object system and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara September 27, 2002

4

Network-enabled SqueakToys (2)

• MyCar warp to– somehost– MyCar’s home– MyFriend’s address

Page 5: NetMorph An intuitive mobile object system and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara September 27, 2002

5

World Map (1)• Defining relationships between Worlds• Easily editable by NmWorldMapMorph

Page 6: NetMorph An intuitive mobile object system and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara September 27, 2002

6

World Map (2)• Implemented as NmWorldMap• Map is served by MapServer (Comanche) or

local file system

Page 7: NetMorph An intuitive mobile object system and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara September 27, 2002

7

Warp Mechanism (Steps)1. A Morph detects a display edge.2. The morph searches a destination from the map.3. The morph is serialized.4. The morph is transferred to the destination

( by SOAP*).5. warpingOut event is raised.6. The original morph is dismissed.7. The incoming morph is desterilized.8. The morph appears at the destination.9. warpedIn event is raised.

* We use Masashi Umezawa’s SoapCore

Page 8: NetMorph An intuitive mobile object system and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara September 27, 2002

8

Warp Events• warpingOut

– Raised before warp• warpedIn

– Raised after warp

Page 9: NetMorph An intuitive mobile object system and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara September 27, 2002

9

Funny Features (1)

• Visual Effects– MyCar effect

• appearImageSquares• curtainFall• poofIn• etc.

• These are fun to use with warp events.

Page 10: NetMorph An intuitive mobile object system and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara September 27, 2002

10

Funny Features (2)• Easy Bounce

– MyCar head• up | down | left | right

– It is fun to use with ‘color sees’.

Page 11: NetMorph An intuitive mobile object system and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara September 27, 2002

11

Applications• Tennis• Deluxe Tennis

Page 12: NetMorph An intuitive mobile object system and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara September 27, 2002

12

Implementation of NetMorph

• Tight Integration with Morphic System – Added some attributes and services Morph

and MorphExtension (no subclassing)– Also added attributes and services to Player– Added some

phrases to Vocabulary

Page 13: NetMorph An intuitive mobile object system and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara September 27, 2002

13

NetMorph Attributes• MyCar’s identifier

– World wide unique identifier (a.k.a. UUID)• MyCar’s path

– Records of the locations where the morph has ever visited

• MyCar’s home– Morph’s birthplace (path first)

• MyCar’s address– The current location (path last)

Page 14: NetMorph An intuitive mobile object system and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara September 27, 2002

14

NetMorph Services• MyCar warp

– The morph is automatically transferred by screen edge detection

• MyCar warp to abc– The morph is immediately transferred

to a specified destination (abc)

Page 15: NetMorph An intuitive mobile object system and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara September 27, 2002

15

Address and Map• NmUrl

– Describes host and port in a URL format• nm://somewhere:37458

• NmWorldMap– A dictionary that keeps World relationships

• Key: a NmUrl • Value: a Point (World’s logical location)

Page 16: NetMorph An intuitive mobile object system and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara September 27, 2002

16

Communication between NetMorphs

• MyCar forward by Joystick upDownMyCar turn by Joystick leftRightMyCar warp

• What happens when MyCar goes beyond the screenedge?

Page 17: NetMorph An intuitive mobile object system and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara September 27, 2002

17

NetMorph Communication Mechanism

1. When a target morph is away from the local World, its new address is automatically detected.

2. A proxy of the morph is dynamically created in the local World.

3. Messages are delegated to the target morph(remote) by the proxy.

Page 18: NetMorph An intuitive mobile object system and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara September 27, 2002

18

Japanese Localization• Compatible with SqueakNihongo*

* SqueakNihongo is based on Yoshiki Ohshima’s MultilingalizedSqueak and enhanced by Kazuhiro Abe

Page 19: NetMorph An intuitive mobile object system and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara September 27, 2002

19

Progress*

* This metrics was recorded by Atsushi Aoki’s OOM that ported to Squeak by Satoshi Nishihara

020406080

100120140160180

Classes*10Methods

Page 20: NetMorph An intuitive mobile object system and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara September 27, 2002

20

The Next• Performance tuning• More robustness• More applications• Field testing

– By children?• MacOS, Linux support

– Currently NetMorph runs on Windows only!

Page 21: NetMorph An intuitive mobile object system and its applications Masashi Umezawa Kazuhiro Abe Satoshi Nishihara Tetsuya Kurihara September 27, 2002

21

Any Questions?