YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

1

L C S

Larry Rudolph

An Oxygenated Presentation Manager

Larry Rudolph

Oxygen Workshop, January, 2002

Page 2: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

2

L C S

Larry Rudolph

Goals & Overview

• Integrate Many Oxygen Technologies

• Application Driven– Use an application that we understand

– Personally use often

– Would help if were more human-centric

• Develop Architectural Infrastructure– Exposes new requirements

• Identify some important, basic issues

• Infrastructure

• Critique of Presentation Manager– What is wrong with it

Page 3: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

3

L C S

Larry Rudolph

Application Scenario

Page 4: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

4

L C S

Larry Rudolph

An Oxygen Application

• Components– Input

* Vision

* Speech

* Touch

– Processing

* Changing configuration

– Output

* Projector

* Handheld

* Archive

Page 5: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

5

L C S

Larry Rudolph

Camera watching laser point on screen

* Camera Challenges• Inexpensive ones have wrong focal length

• Alignment issues – use edge of screen, display pattern, figure out from what is known to be visible– We ended up displaying a pattern of concentric circles

• Relative size of laser point depends on distance– Beyond ten feet, had to use only certain types of lasers

– Could slow-down camera and let pixels saturate (too complicated)

* Camera Interface• Click at point (x,y)

– Hold laser at same location for 5 seconds

• Select horizontal line ( (x1,y1) , (x1,y2) )– Sweep laser back and forth, line is diameter of ellipse

• Select object centered at point (x,y)– Sweep laser in circle, point is center of circle

• Previous or Next – Click in left (right) 1/8 of screen

Page 6: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

6

L C S

Larry Rudolph

Microphone listening to speaker

• Microphone– Many technologies; Current approach: ipaq

* Push to speak

• Audio server on ipaq– Detects start and stop

* Best results when human pushes to start and releases to stop

– Audio wave file sent to Galaxy speech system

• Galaxy output (HTTP Post cmd) to CGI-script Server

• Action are– Powerpoint

* Next slide, Previous slide, Goto slide #n, Goto slide named <xxx>

* Next item, Previous item, Goto item #n, Goto item named <xxx>

* Next animations, previous animation, goto animation #n

– Presentation* Start presentation <name>, End presentation, Pause presentation

– Session* Initialize Camera, test microphone

Page 7: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

7

L C S

Larry Rudolph

Speaker controlling presentation via ipaq• Ipaq output (HTTP Post cmd) to CGI-script Server

– Same actions as from speech server

• Action are– Powerpoint

* Next slide, Previous slide, Goto slide #n, Goto slide named <xxx>

* Next item, Previous item, Goto item #n, Goto item named <xxx>

* Next animations, previous animation, goto animation #n

– Presentation* Start presentation <name>, End presentation, Pause presentation

– Session* Initialize Camera, test microphone

• Handheld (Ipaq) display– GUI generated from speechbuilder grammar

– List of slides, items per slides

* Currently use ad-hoc solution where power-point sends lists to ipaq. Need more automatic solution

Page 8: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

8

L C S

Larry Rudolph

Processing – controlling session

• Easy to embed movies into presentation– Add rule that is invoked on slide #n

* Switch output producer from powerpoint to media player

• Remove interrupting technologies– Dynamically disconnect any input / output source

• All done via core language

Page 9: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

9

L C S

Larry Rudolph

Output to projector, handheld, archive

• Unlimited number of video / audio output producers – E.g. powerpoint just one producer of output

– At any time, each output device has an associated producer

* This producer can receive input from several producers

• Handheld has proxy – To reduce bandwidth to ipaq

– Current slide, list of slides, list of commands

• Archive– Each slide shown, audio (from a different microphone) sent to archive

* Currently just gif of current slide

Page 10: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

CORE: Communication Oriented Routing Environment

Part of ORG (Oxygen Research Group)

AssumptionsActuators / Sensors (I/O) in the environment

Many are shared by apps & users

Many are flaky / faulty

“User” does not know much about them

Environment, application, users desires change over time

Page 11: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

11

L C S

Larry Rudolph

An Oxygen Application

• Interconnected Collection of Stuff

• Who specifies the stuff?– I don’t know, but its mostly virtual stuff

– Many layers of abstraction

* “Don’t ask, its turtles all the way down”

• Two main layers of programming– Professionals

– Users, e.g. grandmother

Page 12: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

12

L C S

Larry Rudolph

Communications-Oriented Programs

• Connecting the (virtual) stuff done by user– Home stereo / theater analogy

* Plug Stuff together; unplug it if doesn’t work

* Don’t like it, unplug it

• Device drivers, services, clients, don’t know to whom or to what they connect– In client/server model,

* server knows a lot about the client,

* the client knows even more about the server

• Extend Unix Pipes

Page 13: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

13

L C S

Larry Rudolph

CORE

Larry Bear’sCORE

Physical Devices

App

App

Programs (Processes)

Larry Bear CORE

Other COREs

Page 14: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

14

L C S

Larry Rudolph

Message Flow

• Messages flow between nodes & core– Core is both language and router

• Within Core Router, some messages– are interpreted and may trigger actions

– other messages get routed to other nodes

• Request-Reply message strategy– Even number of messages

– No reply within time period, means error

Page 15: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

15

L C S

Larry Rudolph

CORE Language Elements

• Four elements1. Nodes,

2. Links,

3. Messages,

4. Rules

• Features– Interpreted Language

– Statement is a message & reply

– Each element has an inverse

Page 16: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

16

L C S

Larry Rudolph

Nodes – Specify via INS

CORE

Cam = [device=web-cam; location=518;…]

PTRvision = [device=process; OS=Linux;File=Laser Vision, ..]Slide

SpeechPresentation

Speech

CommandSpeech

LaserVision

Nodehandler = (nickname, specifier)

Page 17: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

17

L C S

Larry Rudolph

Node Statement Handler

• When ‘node’ message arrives– Verified for correctness (statements allowed)

– Routed to Node Manager (just another node)

• Node Manager– INS lookup, verifies if allowed, creates if needed

– Creates core thread to manage communication with node

– Bookkeeping & reply message with handle/error

Page 18: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

18

L C S

Larry Rudolph

CORE

SlideSpeech

PresentationSpeech

CommandSpeech

LaserVision

Lcamera,vision = (Cam,PTRvision)

Links

Page 19: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

19

L C S

Larry Rudolph

Link Statement Handler

• Message routed to ‘link’ manager

• Two queries to node mng for thread cntl

• Message to thread controller of source node– Specifying destination thread controller

• Message to thread controller of dest node– Specifying source thread controller

• Bookkeeping & reply message handler/error

Page 20: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

20

L C S

Larry Rudolph

CORE

SlideSpeech

PresentationSpeech

CommandSpeech

LaserVision

Messages flow over the links

Next Slide!

Messages

Page 21: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

21

L C S

Larry Rudolph

Message Handling

• Messages can be encrypted

• Core statement messages have fixed format

• Everything else is data message

• Each node thread has two unbounded buffers– Core to node & Node to core

• Logging, rollback, fault-tolerance

Page 22: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

22

L C S

Larry Rudolph

CORE

SlideSpeech

PresentationSpeech

CommandSpeech

LaserVision

RULES: (trigger,action)

Questions

( MESSQuestion , Lslide,lcd -- & Lslide,qlcd )

Rules

Questions

Questions

Page 23: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

23

L C S

Larry Rudolph

Rule Statement Handler

• ( trigger , consequence )

• Both are “event sets”

• Eight basic events:+Node, -Node, +Link, -Link

+Message, -Message, +Rule, -Rule

• Event set is a set of events

• Trigger is true when events are true

• Consequence makes events true

Page 24: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

24

L C S

Larry Rudolph

Rules – A link is a rule

• A message event is of form (node, message specifier)

( message specifier , node )

– Message came from or going to node

• A link (x,y) is just shorthand for the rule: +( x , m ) ( - (x, m) , +(m , y) )

If a message m arrives at node x, then make that event false (remove the message) and make the event of m arriving at y from core true.

Page 25: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

25

L C S

Larry Rudolph

Rules – Access Control Lists

• An access control list is just a rule

• When messages arrive at node, if they arrive from valid node, then allowed to continue to flow.

• Modifying access control lists is just adding or removing rules.

Page 26: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

26

L C S

Larry Rudolph

Rules

• Rule statement gets sent to rule manager

• Event set is just another shorthand for rules

• Rule manager sends command to trigger node thread that tells it about the consequence

• Rules are reversible

Page 27: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

27

L C S

Larry Rudolph

Reversibility

• Each statement is invertible (reversible)

• If there is an error in the application specification, then can undo it all.

• General debugging is possible with reversible rules and message flow

Page 28: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

Critique of Presentation Manager

Page 29: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

29

L C S

Larry Rudolph

Vision / Gesture Recognition

• Laser Pointer– Great for drawing attention to content

* Audience is primary consumer

* Secondary use to control presentation

– But it is not a mouse

* Semantics are tied to slide context

* Differs from Intelligent-room use

– Small number of identified gestures

* Gestures easily punctuated

– Low computational overhead

* Soon will be handled with a H21

Page 30: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

30

L C S

Larry Rudolph

Critique of Vision / Gesture Recognition

• Laser Pointer– Great for drawing attention to content

* Cheap technology but mostly distracting

* Too shaky, imprecise

– But it is not a mouse

* More awkward to use than mouse

* Another gadget to hold in the hand, button to identify, batteries to maintain

– Small number of identified gestures

* There are better ways of drawing attention to slide content

* I rarely use it and don’t like it when others do

– Low computational overhead

* Dumb vs Intelligent Device Discussion

Page 31: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

31

L C S

Larry Rudolph

Speech Recognition

• Initially seems like great idea– Speaker is already speaking, so can use it to control presentation

• Want passive, intelligent listener– Not a dialog

– No “prompt” :: alienating distraction

• Want no mistakes– For dialog, better to guess than ignore

– For us, high cost for incorrect guess

– Most words are not relevant to speech system

• More trouble than it is worth– But may be good for real-time search of content

Page 32: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

32

L C S

Larry Rudolph

More useful aspect – Output modalities

• Presenter has put the time and effort into the production– Simplier is better

• Audience has harder task– Understand material being presented

– Record thoughts, impressions, connections

– Filter for later review

– Process in real-time

– Keep-up with presentation

– Do all this with minimal distractions

• Output modalities– Content for live audience

– Content for speaker (superset of audience)

– Content for retrieval

* Correlate notes with content

Page 33: L C SL C S 1 Larry Rudolph An Oxygenated Presentation Manager Larry Rudolph Oxygen Workshop, January, 2002.

33

L C S

Larry Rudolph

Record and correlate notes with presentation


Related Documents