Pervasive Computing MIT 6.883 SMA 5508 Spring 2006 Larry Rudolph 1 GUI’s and Keyboards Larry Rudolph March 13, 2006.

Slides:



Advertisements
Similar presentations
BRIDGE COURSE of INFORMATION & COMMUNICATION TECHNOLOGY
Advertisements

Create a Simple Game in Scratch
Windows Test Review.
Intro to Computers!.
Windows Basics An Introduction to the Windows Operating System.
Introduction to Microsoft Access
Computer Basics Hit List of Items to Talk About ● What and when to use left, right, middle, double and triple click? What and when to use left, right,
CS0004: Introduction to Programming Visual Studio 2010 and Controls.
 Use the Left and Right arrow keys or the Page Up and Page Down keys to move between the pages. You can also click on the pages to move forward.  To.
Tips for New Mac Users 20 simple tips to make using a Mac quicker and easier.
Controls & Widgets. Overview General controls & widgets Switch Button Dial Latch Slider Handle Physical only Jog dial Joystick Track ball Digital only.
Word Processing First Steps
Visual Basic 2010 How to Program. © by Pearson Education, Inc. All Rights Reserved.2.
Visual Basic 2010 How to Program Reference: Instructor: Maysoon Bin Duwais slides Visual Basic 2010 how to program by Deitel © by Pearson Education,
XP Exploring the Basics of Microsoft Windows XP1 Exploring the Basics of Windows XP.
User Interface Design: Methods of Interaction. Accepted design principles Interface design needs to consider the following issues: 1. Visual clarity 2.
ENGR 111 Class 5.2a AutoCAD Basics Thursday, September 30 th, 2004.
Exploring the Basics of Windows XP. Objectives Start Windows XP and tour the desktop Explore the Start menu Run software programs, switch between them,
Graphical User Interface (GUI) Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Rapid Prototyping Marti Hearst (UCB SIMS) SIMS 213, UI Design & Development February 25, 1999.
Conversational Computers
Exploring the Basics of Windows XP
Spreadsheet. Objectives Create a new blank workbook. Create a new blank workbook. Identify user interface elements that you can use to accomplish basic.
Laboratory Exercise # 3 – Basic File Management Office Productivity Tools 1 Laboratory Exercise # 3 Basic File Management Objectives: At the end of the.
Microsoft Visual Basic 2012 CHAPTER TWO Program and Graphical User Interface Design.
Ch 26 & 27 User Interfaces.
What is a computer? What is its definition? A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic.
Key Applications Module Lesson 16 — Excel Essentials Computer Literacy BASICS.
Input Devices What is input? Everything we tell the computer is input.
Hong Kong Taoist Association Wun Tsuen School Computer Studies Microsoft Word 2010.
IE 411/511: Visual Programming for Industrial Applications
11.10 Human Computer Interface www. ICT-Teacher.com.
Word Processing Understanding Microsoft Word 10. Benefits of a Word Processor Word Processing Is the use of a computer and software to produce written.
Input Devices. What is Input?  Everything we tell the computer is Input.
Microsoft Excel. Today’s Topics Overview of the Excel Screen The Excel Menus: File, Edit, View, Insert, Format, Tools, Data, Window, Help Entering Formulas.
Introduction To Windows Operating Systems Manipulating Windows GUI
WINDOWS Part 1 – Start Up Basics
Visual Basic 2005 CHAPTER 2 Program and Graphical User Interface Design.
Lesson 2 – Editing a Document Microsoft Word
XP New Perspectives on Windows XP Tutorial 1 Exploring the Basics.
Basic Computer and Word Functions, part 1 Read the information and use to answer the questions in the Basic Computer and Word Functions Study Guide.
Copyright © 2010 Wolters Kluwer Health | Lippincott Williams & Wilkins Introduction to Windows Chapter 2.
Hi, Learning Skills Students! This is Slide 1 of your Power Point Instruction for this class. After reading each slide, make sure you: 1.Follow the instructions.
Visual Basic 2005 CHAPTER 2 Program and Graphical User Interface Design.
Basic Computer and Word Functions, part 1 Read the information and use to answer the questions in the Basic Computer and Word Functions Study Guide.
E.g.: MS-DOS interface. DIR C: /W /A:D will list all the directories in the root directory of drive C in wide list format. Disadvantage is that commands.
Lesson No: 6 Introduction to Windows XP CHBT-01 Basic Micro process & Computer Operation.
MIT 6.893; SMA 5508 Spring 2004 Larry Rudolph Lecture 4: Graphic User Interface Graphical User Interface Larry Rudolph MIT 6.893; SMA 5508 Spring 2004.
CMPF124: Basics Skills for Knowledge Workers Manipulating Windows GUI.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Touch screen function manual Right & left scroll key Room selecting key, Maximal quantity 50. Controlling Target icon Room background image brightness.
Microsoft Visual Basic 2010 CHAPTER TWO Program and Graphical User Interface Design.
CMPF124 Personal Productivity With Information Technology Chapter 1 – Part 2 Introduction to Windows Operating Systems Manipulating Windows GUI CMPF 124.
Hardware By Ollie Coles Ollie Coles, Hardware. Graphics cards are the reason we are able to see anything on our computer screens A graphics card produces.
What’s on Your Desktop?. Programs on your computer Some programs are standard on most computers for example: Microsoft Word Internet Explorer Microsoft.
Module 2 Part II Introduction To Windows Operating Systems Manipulating Windows GUI Introduction To Windows Operating Systems Manipulating Windows GUI.
 2002 Prentice Hall. All rights reserved. 1 Introduction to the Visual Studio.NET IDE Outline Introduction Visual Studio.NET Integrated Development Environment.
Lesson 1 – Microsoft Word. Contents 1. Introduction 2. Managing folders and saving documents 3. Changing fonts 4. Page layout 5. Paragraphs 6. Adding.
MS WORD INFORMATION TECHNOLOGY MANAGEMENT SERVICE Training & Research Division.
COMPUTER INPUT DEVICE Keyboard. Keyboard cont…… Print Screen Print contents of screen Pause/Break Terminate/Interrupt Scroll Lock Modify behavior of the.
Lecture Input Devices Keyboard. Mouse Microphone Digital Camera Scanner.
Fundamentals of Windows Mouse n 4 Basic Operations: –Pointing –Clicking –Double Clicking –Dragging.
Scratch for Interactivity
Program and Graphical User Interface Design
User Interface Design and Development
Program and Graphical User Interface Design
European Computer Driving Licence
An Introduction to the Windows Operating System
Presentation transcript:

Pervasive Computing MIT SMA 5508 Spring 2006 Larry Rudolph 1 GUI’s and Keyboards Larry Rudolph March 13, 2006

Pervasive Computing MIT SMA 5508 Spring 2006 Larry Rudolph User Interface Goal Convey and gather information from user Support a set of standard actions and outputs Graphical User Interfaces have been well studied and used Must understand them before generalizing Pervasive computing uses many types of user interfaces A web page is an example of a GUI Why is there a need for anything else? Because of historical and efficiency reasons Want more direct and richer variety of interface

Pervasive Computing MIT SMA 5508 Spring 2006 Larry Rudolph User Interface Goal II “As interfaces become easier to use, they become harder to create” [Meyers 1994] Do you agree? KISS: Keep It Simple It takes a lot of hard work to make things look simple What user interfaces do you like? iPod, Tivo,... Microsoft Windows 2000 have dynamic pulldown menus Does anyone like them? why not?

Pervasive Computing MIT SMA 5508 Spring 2006 Larry Rudolph KISS: Keep it simple Goal is for user to not think about how to do something; it should be automatic: If there is a choice, then one must think movie theaters offer very limited choice of candy supermarkets offer huge variety of soft drinks -- what is difference? Save file via menu, keyboard, icon, rightclick,... One mouse button simpler than three Pay a lot of money for large screen, why waste it on rarely used menu bar

Pervasive Computing MIT SMA 5508 Spring 2006 Larry Rudolph KISS: Keep it simple People do not think about repetitive actions “Do you really want to delete file?” after third time, people usually click OK without thinking Lots of research on design principles and it is often ignored :(

Pervasive Computing MIT SMA 5508 Spring 2006 Larry Rudolph Manipulation Indirect Manipulation E.g. program places graphic objects on screen Nothing is “clickable” Today it feels awkward to use keys on mobile phone to manipulate objects on screen. Everything used to be that way. Direct Manipulation of Objects User directly manipulates Graphical Objects with mouse or keyboard “Tangible User Interface” of the future, users will manipulate physical objects with their hands

Pervasive Computing MIT SMA 5508 Spring 2006 Larry Rudolph Widgets For lack of natural term, GUI objects are Widgets Everything in a GUI is a widget Widget is picture displayed on screen that is under control of the GUI. Widgets are hierarchical: they contain other widgets. Examples are: Window frame, radio button, scroll bar, menu,.. GUI’s support certain types of pictures others types must be converted

Pervasive Computing MIT SMA 5508 Spring 2006 Larry Rudolph “Any problem in computer programming can be solved by adding a level of abstraction” “Performance can be improved in programs by removing a level of abstraction” Indirection used to support abstraction Big Idea: Abstraction

Pervasive Computing MIT SMA 5508 Spring 2006 Larry Rudolph Non-widgets A GUI is a level of abstraction between user and program, hence it affects performance Graphical Computer Games demand high performance for realistic animations They directly manipulate the screen, mouse, keyboard Audio not part of GUI Duh. OK, but not part of window system either Could do it by assigning a “channel” to each application and have user select the channel as in a radio

Pervasive Computing MIT SMA 5508 Spring 2006 Larry Rudolph Mice Mouse is clicked inside of window or widget e.g.: controls standard widgets: drag a slider, twist a dial, scroll up or down -- all ways to enter a number Major innovation: mouse cursor changes sprite as moves between widgets Real world analogy: frog looks different on a lilly pad and in the pond, car looks same in drive- & park- way Mouse is part of GUI, but not multiple mice New need arising from wireless mouse and from pda or cell phone as “mouse” Perhaps we need different sprites per user?

Pervasive Computing MIT SMA 5508 Spring 2006 Larry Rudolph Mice II Mouse actions: Click is two actions: “button down” and “button up” Movement is relative: “delta x, delta y” events Drag: move while button is down Wheel: “Button D” or “Button U” events One button mouse easier to handle Multiple button mouse requires training people have been successfully trained already Mouse acceleration big success. Are there other applications of acceleration?

Pervasive Computing MIT SMA 5508 Spring 2006 Larry Rudolph Touch Screens Not exactly the same as a mouse Click: no button down or button up dwell: leave finger in same location double click hard to hit same pixel twice in a row Movement: absolute, no consistent origin top left, or bottom right can be (0,0) Drag: very difficult, need “modal” command modes are considered harmful, e.g. shift lock is bad Wheel: perhaps use some gesture? Not easy to simply replace mouse with touch

Pervasive Computing MIT SMA 5508 Spring 2006 Larry Rudolph Keyboards It seems simple, precise, and nothing new One hand typing -- my idea: double keypress -- means mirror key “aa” means “;;” “ss” means “ll” & “gg” means “hh” I needed it when I sat with a baby in my lap there exist other one hand keyboards: twiddler (chording keyboard) half keyboard Telephone pad keyboard: 1-2, 2-3, 1-4, , 2-5 Keyboard entry not exact on-screen keyboard a “G” could be an “f”, “t”, “h”, or “b” Cellphone keyboard a “G” could be a “4” or “H” or “I”

Pervasive Computing MIT SMA 5508 Spring 2006 Larry Rudolph Dasher go to

Pervasive Computing MIT SMA 5508 Spring 2006 Larry Rudolph Expressive Typing Writing with a pen on paper does more than express words: it is a picture & conveys non-verbal expression Use the intercharacter typing speed to vary either the font or the inter-character spacing or vertical alignment

Pervasive Computing MIT SMA 5508 Spring 2006 Larry Rudolph GUI Programming Embed in code Java AWT, Python TCL,TK Very hard to code, debug, maintain and modify Use GUI builder, e.g. Visual Basic rapid prototype reliable consistency across applications easier to implement “help” and “undo” easier to port

Pervasive Computing MIT SMA 5508 Spring 2006 Larry Rudolph Glade (for linux, x- windows) Three layers: user application, user GUI, window system we care about first two, glade deals with GUI Application separate from GUI Interface is via “callbacks” Each widget has a set of standard interfaces see