Docstoc

Programming for Interactivity

Document Sample
Programming for Interactivity Powered By Docstoc
					Programming for Interactivity




      Professor Bill Tomlinson
      Tuesday & Wednesday
           6:00-7:50pm
             Fall 2005
           Standard Inputs

• What makes an input “standard”?
                 Keyboard

• Connect keys to different behavior
• (Correction: KeyAdapter, etc., is in
  java.awt.event)
                        Mouse
• Clicks, drags, etc.
                 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 < Tester.xSize) && (yPos < Tester.ySize) && 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) {}
}
 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 < Tester.xSize) && (yPos < Tester.ySize) && xPos >= 0 &&yPos >= 0)
           {
                      ((Device)(Tester.getAllDevices().elementAt(0))).setPosition(
                                new Vec2(xPos, yPos));
           }
           Tester.getGridCanvas().repaint();
    }
}
 Graphical User Interfaces (GUIs)

• “Standard” screen widgets
                 Buttons

• Clickable area of screen, graphically
  represented as a raised button, often with
  a text label.
                   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.
             Check boxes

• Set parameters
• Often paired with one or more buttons
             Radio Buttons

• Only one can be selected at a time
               Text Boxes

• Enter one or more lines of text.
• Often coupled with a button.
Others?
     Example: New York Times

• What GUI elements does the site include?
       Other GUI Elements?
• Can we think of any other GUI widgets
  that would be useful?
             Less Standard

• Does not ship with typical PCs
          Adapting the
       Mouse and Keyboard
• Physical coupling
             3D GUI
• Croquet
• Alan Kay
Game Pad
Stylus
            Accelerometer
• EcoRaft
• Repurposing mouse
USB Button
Telephone tones
             Voice: Non-verbal
•   AlphaWolf
•   Volume
•   Harmonicity
•   Length
       Voice: Language-based
• Sphinx
Sphinx + FreeTTS
            IrDA
• EcoRaft
   Vision: Background subtraction
Look for differences in the pixels from frame to
  frame.
Vision: Multi-camera
Tangible User Interfaces (TUIs)
• Ishii et al.
          Location: GPS
• Geocaching
           Location: Other
• PlaceLab - 802.11 access points, etc.
           Synthetic Nose
• Natalie Jeremijenko
Integrating Input with
Graphics and Sound
   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?
Readings
                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?
            Reeves & Nass

• Social interactions with computers
• Politeness
               Schechner

• Indian Theater vs. Western Theater
• Engaging the body viscerally.
• How can interactive computational
  systems engage the body and the
  senses?
               Vectorpark
• http://www.vectorpark.com/ball.html
            Ze Frank’s Frog

• http://www.zefrank.com/frog/frog.html
Other sites to analyze?

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:0
posted:10/1/2011
language:English
pages:42