Presentation is loading. Please wait.

Presentation is loading. Please wait.

Programming for Interactivity Professor Bill Tomlinson Tuesday & Wednesday 6:00-7:50pm Fall 2005.

Similar presentations


Presentation on theme: "Programming for Interactivity Professor Bill Tomlinson Tuesday & Wednesday 6:00-7:50pm Fall 2005."— Presentation transcript:

1 Programming for Interactivity Professor Bill Tomlinson Tuesday & Wednesday 6:00-7:50pm Fall 2005

2 Standard Inputs What makes an input “standard”?

3 Keyboard Connect keys to different behavior (Correction: KeyAdapter, etc., is in java.awt.event)

4 Mouse Clicks, drags, etc.

5 gridCanvas.addMouseListener( new TesterMouseMotionListener()); class TesterMouseMotionListener implements MouseListener, MouseMotionListener { public void mousePressed(MouseEvent e) { int xPos = e.getX(); int yPos = e.getY(); System.out.println("Clicked at "+xPos+", "+yPos); if ((xPos = 0 && yPos >= 0){ ((Device)(Tester.getAllDevices().elementAt(0))).setPosition(new Vec2(xPos, yPos)); } Tester.getGridCanvas().repaint(); } public void mouseDragged(MouseEvent e) {} public void mouseMoved(MouseEvent e) {} public void mouseReleased(MouseEvent e){} public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mouseClicked(MouseEvent e) {} }

6 Equivalent to: gridCanvas.addMouseListener(new TesterMouseAdapter()); class TesterMouseAdapter extends MouseAdapter { public void mousePressed(MouseEvent e) { int xPos = e.getX(); int yPos = e.getY(); System.out.println("Clicked at "+xPos+", "+yPos); if ((xPos = 0 &&yPos >= 0) { ((Device)(Tester.getAllDevices().elementAt(0))).setPosition( new Vec2(xPos, yPos)); } Tester.getGridCanvas().repaint(); }

7 Graphical User Interfaces (GUIs) “Standard” screen widgets

8 Buttons Clickable area of screen, graphically represented as a raised button, often with a text label.

9 Sliders Variable input (and output) Text label Returns an int, so need to give it a large scale if an approximately continuous response is wanted.

10 Check boxes Set parameters Often paired with one or more buttons

11 Radio Buttons Only one can be selected at a time

12 Text Boxes Enter one or more lines of text. Often coupled with a button.

13 Others?

14 Example: New York Times What GUI elements does the site include?

15 Other GUI Elements? Can we think of any other GUI widgets that would be useful?

16 Less Standard Does not ship with typical PCs

17 Adapting the Mouse and Keyboard Physical coupling

18 3D GUI Croquet Alan Kay

19 Game Pad

20 Stylus

21 Accelerometer EcoRaft Repurposing mouse

22 USB Button

23 Telephone tones

24 Voice: Non-verbal AlphaWolf Volume Harmonicity Length

25 Voice: Language-based Sphinx

26 Sphinx + FreeTTS

27 IrDA EcoRaft

28 Vision: Background subtraction Look for differences in the pixels from frame to frame.

29 Vision: Multi-camera

30 Tangible User Interfaces (TUIs) Ishii et al.

31 Location: GPS Geocaching

32 Location: Other PlaceLab - 802.11 access points, etc.

33 Synthetic Nose Natalie Jeremijenko

34 Integrating Input with Graphics and Sound

35 Evaluating Input Technologies Quantitative study - e.g., how fast can users accomplish some task using the input? Qualitative study - which inputs do they like and why? Artistic license - what feels good to you?

36 Readings

37 Dourish Context How much input needs to be consciously delivered by a person? How much can provide implicit contextual cues? How much context can be extrapolated/interpolated from other information?

38 Reeves & Nass Social interactions with computers Politeness

39 Schechner Indian Theater vs. Western Theater Engaging the body viscerally. How can interactive computational systems engage the body and the senses?

40 Vectorpark http://www.vectorpark.com/ball.html

41 Ze Frank’s Frog http://www.zefrank.com/frog/frog.html

42 Other sites to analyze?


Download ppt "Programming for Interactivity Professor Bill Tomlinson Tuesday & Wednesday 6:00-7:50pm Fall 2005."

Similar presentations


Ads by Google