the process of multiplatform development: an example robyn taylor university of alberta

13
The Process of The Process of Multiplatform Multiplatform Development: An Development: An Example Example Robyn Taylor Robyn Taylor University of Alberta University of Alberta

Post on 19-Dec-2015

220 views

Category:

Documents


2 download

TRANSCRIPT

The Process of Multiplatform The Process of Multiplatform Development: An ExampleDevelopment: An Example

Robyn TaylorRobyn Taylor

University of AlbertaUniversity of Alberta

ContentsContents

The Role of a DesignerThe Role of a Designer

Matching Application GoalsMatching Application Goals

Matching Application RequirementsMatching Application Requirements

Description of Target PlatformsDescription of Target Platforms

Example: Specifying the Rotation Example: Specifying the Rotation Functionality Across 2 Platforms (PC and Functionality Across 2 Platforms (PC and VizRoom)VizRoom)

ConclusionsConclusions

The Role of a DesignerThe Role of a Designer

Application Goal

Describe applicationrequirements in InTml

documents

Check correctness ofInTml documents

Develop media

Yes

No

No Yes

Designer

Are the user requirements met?

Can the InTmlimplementation support

the application?

Developer

Matching Application GoalsMatching Application Goals

The user must manipulate three solid 3D objects The user must manipulate three solid 3D objects so that they match in position and orientation so that they match in position and orientation with three corresponding translucent 3D objects. with three corresponding translucent 3D objects.

When the user matches a solid object with its When the user matches a solid object with its translucent counterpart both the object and its translucent counterpart both the object and its copy disappear. copy disappear.

The application logs the user’s performance to a The application logs the user’s performance to a database and terminates when all three pairs of database and terminates when all three pairs of objects are matched.objects are matched.

Matching Application RequirementsMatching Application Requirements

Application Initialization Tasks

• Load three solid 3D objects

• Generate a translucent copy of each object

• Position solid objects at random

• Position translucent copies at random

User Behaviour at Run Time

• Select an object

• Rotate selected object

• Translate selected object

Application Behaviour at Run Time

• Highlight selected object so as to give feedback to the user

• Compare each object with its translucent copy, and delete both the object and the copy if their positions and orientations match

• Log the user’s behaviour to a database for future analysis

Matching App in Multiple EnvironmentsMatching App in Multiple Environments

Standard PC with Mouse and Keyboard• 2-button mouse used for selection, rotation, translation• determination of which behaviour is enabled depends on which mouse and/or keyboard buttons are pressed• fixed viewpoint

SmartBoard• Selection, rotation and translation achieved by drawing with different pens• fixed viewpoint

Matching App in Multiple EnvironmentsMatching App in Multiple Environments

PC with Head Mounted Display and Joystick• 4 button joystick used for selection, rotation, translation• determination of which behaviour is enabled depends on which joystick buttons are pressed• 3 degrees of freedom head mounted display used to control the orientation of the viewpoint

VizRoom• head tracker/hand tracker used for go-go selection• hand tracker used for rotation, translation • position of the user wearing the head tracker used to control viewpoint position, orientation• immersive display (3 Screens)

Example: How would we describe a Example: How would we describe a small task in InTml?small task in InTml?

To change the orientation of an object, it To change the orientation of an object, it must be selected then rotated.must be selected then rotated.

Let us examine the filters and ports needed Let us examine the filters and ports needed to implement selection & rotation in InTml.to implement selection & rotation in InTml.

What do we want to do?What do we want to do?We would like to use our input device(s) to select an object, We would like to use our input device(s) to select an object,

receive feedback to show us which object is selected, and receive feedback to show us which object is selected, and rotate the object.rotate the object.

This means we need to represent the connections between:This means we need to represent the connections between:

Input Device(s)Input Device(s)A selection techniqueA selection techniqueA means of displaying feedback to the userA means of displaying feedback to the userA means of rotating the objectA means of rotating the object

Selection & Rotation -- PC with MouseSelection & Rotation -- PC with Mouse

Mouse

Select ByRay

Rotation

HighlightedFeedback

Left button press

2D Position

Scene(Selectable Objects)

Object

Left button release

Selection & Rotation -- VizRoomSelection & Rotation -- VizRoom

Wand

Head Go-GoSelection

HighlightedFeedback

Rotation&

Translation

3D Position

Orientation

3D Position

Orientation

Object

HandRepresentation

Scene(Selectable Objects)

Go-Go 3D Position

Go-Go Orientation

How do the 2 Implementations Compare?How do the 2 Implementations Compare?

Input Device(s)Input Device(s)– PC: mousePC: mouse– VizRoom: head tracker and wandVizRoom: head tracker and wand

A selection techniqueA selection technique– PC: ray selectionPC: ray selection– VizRoom: Go-Go selectionVizRoom: Go-Go selection

A means of displaying feedback to the userA means of displaying feedback to the user– PC & VizRoom: highlightPC & VizRoom: highlight

A means of rotating the objectA means of rotating the object– PC: 2D to 3D conversionPC: 2D to 3D conversion– VizRoom: rotation based on 3D orientationVizRoom: rotation based on 3D orientation

ConclusionsConclusions

InTml allows the designer to describe a InTml allows the designer to describe a program’s functionality in terms of the program’s program’s functionality in terms of the program’s tasks and how these tasks relate to one another.tasks and how these tasks relate to one another.Different platforms likely require different Different platforms likely require different interaction techniques, but largely similar interaction techniques, but largely similar functionality.functionality.The use of filters and connections allows The use of filters and connections allows designers to plug in newly developed platform-designers to plug in newly developed platform-specific interaction techniques without interfering specific interaction techniques without interfering with the underlying functionality of the with the underlying functionality of the application.application.