HCI/CHI: Computer-Human Interaction

Slides:



Advertisements
Similar presentations
Prof. Yitzchak Rosenthal
Advertisements

Introduction to Computers Section 6A. home The Operating System (OS) The operating system (OS) is software that controls the interaction between hardware.
Setting Up a Peer-to-Peer Network For Each PC –Install the Client for Microsoft Networks –This supports peer-peer networking Implement Sharing –In the.
QT GUI Programming CS340 – Software Design © 2009 – Jason Leigh University of Illinois at Chicago.
Chapter 3 the interaction extras … more about widgets.
Graphical User Interface (GUI) Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
Object-Oriented Analysis and Design
Graphical User Interfaces A Quick Outlook. Interface Many methods to create and “interface” with the user 2 most common interface methods: – Console –
Qt Igor November 8, 2002 Friday’s HENP Group Meeting.
Programming a GUI Hanan sedaghat pisheh. For calling GUI, we need a function with no inputs or outputs First We create a m.file m file has the same name.
Blanchette and Summerfield, Ch. 2
Introduction to Graphical User Interfaces. Objectives * Students should understand what a procedural program is. * Students should understand what an.
David Streader Computer Science Victoria University of Wellington Copyright: David Streader, Victoria University of Wellington GUI and the UI API COMP.
Department of Mechanical Engineering, LSUSession VII MATLAB Tutorials Session VIII Graphical User Interface using MATLAB Rajeev Madazhy
© Copyright 2000, Julia Hartman 1 Next An Interactive Tutorial for SPSS 10.0 for Windows © by Julia Hartman Using Command Syntax.
Introduction to Matlab & Data Analysis
FLTK Help Session By Richard Yu Gu CS 638 -Graphics Fall, 1999.
Adding a New Option to the Framework. Introduction This is intended as a step by step guide to adding a new action to the menu or toolbar. The order of.
Performance Basics Exploring Microsoft Office 2007 Lesson 1.
UNIT 7 Describing how an item functions [2] (infinitive with or without ‘to’)
Lexi case study (Part 2) Presentation by Matt Deckard.
CSCE 121: Introduction to Program Design and Concepts, Honors Dr. J. Michael Moore Spring 2015 Set 15: GUIs 1.
Visual C# 2012 How to Program © by Pearson Education, Inc. All Rights Reserved.
SE-3910 Real-time Systems Week 7, Class 1 – GStreamer – QT SE Dr. Josiah Yoder Slide style: Dr. Hornick Much Material: Dr. Schilling, Some from.
Model View Controller A Pattern that Many People Think They Understand, But Has A Couple Meanings.
How the Session Works Outline Practical on arrival Talk 1 Reflect on practical Clarify concepts Practical exercises at your own pace Talk 2: Further concepts.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
CSE 331 Software Design & Implementation Hal Perkins Autumn 2012 Event-Driven Programming 1.
Oct 021 Outline What is a widget? Buttons Combo boxes Text components Message boxes.
QT Programming QT Programming Ruku Roychowdhury. Background QT is a cross platform application framework. Widely used to develop GUI applications. Originally.
GUIs Basic Concepts. GUI GUI : Graphical User Interface Window/Frame : a window on the screen Controls/Widgets : GUI components.
SE-3910 Real-time Systems Week 7, Class 1 – Announcement – GStreamer – Bins Boardshots – QT Swing & Qt Signals & Slots – Code – Example SE Dr. Josiah.
CMPF124 Personal Productivity With Information Technology Chapter 1 – Part 2 Introduction to Windows Operating Systems Manipulating Windows GUI CMPF 124.
Application software- programs that let you do things What are some computer programs that you or your parents use on the computer?
CS112 Scientific Computation Department of Computer Science Wellesley College Blind to change More on GUIs.
Dale Roberts Introduction to Visual Programming Dale Roberts, Lecturer Computer Science, IUPUI Department of Computer and.
MATLAB and SimulinkLecture 61 To days Outline Graphical User Interface (GUI) Exercise on this days topics.
Dale Roberts Programming with Qt Dale Roberts, Lecturer Computer Science, IUPUI Department of Computer and Information Science,
Today (or Thursday) Qt Thursday Quiz SE-2811 Slide design: Dr. Mark L. Hornick Content: Dr. Hornick Errors: Dr. Yoder 1 SE3910 Week 6, Lab.
12-Jun-16 Event loops. 2 Programming in prehistoric times Earliest programs were all “batch” processing There was no interaction with the user Input Output.
1. 2 Qt Toolkit ● C++ toolkit for cross-platform GUI application development – GUI functions (GUI = graphical user interface) – Data access components,
Chapter 2 – Introduction to Windows Operating System II Manipulating Windows GUI 1CMPF112 Computing Skills for Engineers.
Allows the user and the computer to communicate with each other.
An Interactive Tutorial for SPSS 10.0 for Windows©
GUI Design and Coding PPT By :Dr. R. Mall.
Advanced User Interfaces
Introduction to Event-Driven Programming
Chapter Topics 15.1 Graphical User Interfaces
Java Look-and-Feel Design Guidelines
Section 64 – Manipulating Data Using Methods – Java Swing
Unit 2 User Interface Design.
Ellen Walker Hiram College
Personal computer basics
Fundamentals of Python: From First Programs Through Data Structures
Event Driven Programming
Tkinter GUIs Computer Science and Software Engineering
Qt Programming.
COMMON CONTROLS A control is a child window that an application uses in conjunction with another window to enable user interaction. Controls are most often.
GRAPHICAL USER INTERFACE
Starting Design: Logical Architecture and UML Package Diagrams
Event Driven Systems and Modeling
Event loops 17-Jan-19.
Chapter 15: GUI Applications & Event-Driven Programming
the interaction extras … more about widgets
Constructors, GUI’s(Using Swing) and ActionListner
Graphical User Interfaces
Event loops.
ACM programming contest
Brown Bag Seminar Summer 2007
Presentation transcript:

HCI/CHI: Computer-Human Interaction Who knows best what users want/expect in a GUI developer? human factors engineer? user? Must meet user expectations even if they don’t make sense Where is the Quit menu item? Why? Where is help? What about keyboard shortcuts? Don’t let the application interfere with the GUI and vice versa

GUI programming with C++ (lessons for Java) Widget is a generic term for a GUI component (aka window) listbox, file dialog, button, slidebar, radio button, ... widgets (components) typically have child widgets (see the Composite pattern) When a widget is constructed it often requires a parent widget as a parameter Design Heuristic: keep GUI and the application separate minimize coupling in a coupled environment re-use/redesign one part mor easily Design Heuristic don’t have widgets talk to each other (use mediator) GUI/applications deal with event processing mouse clicks, button presses, slidebars, etc. what mechanism exists for processing events?

Qt, a GUI toolkit events processed with signals and slots signal generates an event, e.g., button push slot processes the event, e.g., pop up a file dialog box QPushButton * quitB = new QPushButton(“Quit”,...,...); connect (quitB, SIGNAL(clicked()), qApp, SLOT(quit()); qApp is a global variable, of type QApplication one QApplication per program defined first in main() main returns qApp.exec() SIGNAL and SLOT are macros, expanded by a meta-object compiler (moc) moc generates .cc files from user-defined Qt subclasses

What about Designing GUIs? Design decisions: who designs the GUI? What (if anything) do you need to know about app internals? Qt expertise, who has it? [remember, Java on the horizon] Implementation Lay out the GUI [draw it, sketch it] get the main widgets up and running, but not connected develop methods/events that are application specific develop commands, menus, buttons, etc. Compiling using moc, Qt classes, see Makefile