UI Toolkits. HCID 520 User Interface Software & Technology
|
|
- Jessie Wilson
- 6 years ago
- Views:
Transcription
1 UI Toolkits HCID 520 User Interface Software & Technology
2
3 Xerox Alto 1973
4 Evolution of User Interfaces Command Line (UNIX shell, DOS prompt) Interaction driven by system User prompted for input when needed Text-based input and output Event-Driven Interfaces (GUIs) Interaction driven by user System waits for user action and responds Pointing & text input, graphical output More complex architecture & development
5 Component Model
6
7
8
9 Component (Widget) Model Encapsulate interactive components (widgets) Component library (button, slider, container) Interface built as a hierarchy of components Widgets drawn by underlying graphics library Input event generation and dispatch Historically mouse & keyboard, now touch, Bounds management & damage/redraw Model geometry, redraw updated regions only
10 User Interface Components Each component (widget) is an object with: A bounding box A method for drawing itself Drawn in the component s coordinate system Methods (callbacks) to process input events public void paint(graphics g) { g.fillrect( ); // interior g.drawstring( ); // label g.drawrect( ); // outline }
11 User Interface Components Label TextArea Each component has its own 2D coordinate system. Buttons
12 Containment Hierarchy Window Panel Label TextArea Panel Button Button
13 Event-Driven Architecture
14 Events User input is modeled as events. Events are dispatched to components for processing.
15 Events User input is modeled as events. Events are dispatched to components for processing. Hardware Events Mouse: move, button-down, button-up Keyboard: key-down, key-up
16 Events User input is modeled as events. Events are dispatched to components for processing. Hardware Events Mouse: move, button-down, button-up Keyboard: key-down, key-up Inferred Events Mouse: click, double-click, enter, exit, drag Keyboard: key-press Window: move, resize
17 Anatomy of an Event Events encapsulate the information needed for components to react to input or changes. Event Type (mouse moved, key down, etc) Event Target (the input component) Timestamp (when did event occur) Modifiers (Ctrl, Shift, Alt, etc) Event Content: Mouse: x,y coordinates, button pressed, # clicks Keyboard: which key was pressed
18 Demo: Browser DOM Events Go to Open the JavaScript console, enter: var h = document.queryselector("header"); h.addeventlistener("click", function(event) { console.log(event); }); Click the header region at the top of the page. Inspect the events in the JavaScript console.
19
20 Event Dispatch Loop Event Queue List of input events Mouse moved (t 0,x,y) Event Loop (runs in dedicated thread) Remove next event from queue Determine event type Dispatch to proper component(s) Invoke callbacks on components Continue, or wait until event arrives Component Invoked callback method Update application state Request repaint, if needed
21 Event Dispatch Loop
22 Event Dispatch Loop Mouse moved (t 0,x,y)
23 Event Dispatch Loop Event Queue List of input events Mouse moved (t 0,x,y)
24 Event Dispatch Loop Event Queue List of input events Mouse moved (t 0,x,y) Event Loop (runs in dedicated thread) Remove next event from queue Determine event type Dispatch to proper component(s) Invoke callbacks on components Continue, or wait until event arrives
25 Event Dispatch Loop Event Queue List of input events Mouse moved (t 0,x,y) Event Loop (runs in dedicated thread) Remove next event from queue Determine event type Dispatch to proper component(s) Invoke callbacks on components Continue, or wait until event arrives Component Invoked callback method Update application state Request repaint, if needed
26 Event Dispatch Window Event Queue Mouse moved (t 0,x,y) Mouse pressed (t 1,x,y,1) Mouse dragged (t 2,x,y,1) Key typed (t 3, F1 ) Panel Label TextArea Panel Button Button
27 Event Dispatch Window Event Queue Mouse moved (t 0,x,y) Mouse pressed (t 1,x,y,1) Mouse dragged (t 2,x,y,1) Key typed (t 3, F1 ) Panel Label TextArea Panel Button Button
28 Event Dispatch Window Event Queue Mouse moved (t 0,x,y) Mouse pressed (t 1,x,y,1) Mouse dragged (t 2,x,y,1) Key typed (t 3, F1 ) Panel Label TextArea Panel Button Button
29 Event Dispatch Window Event Queue Mouse moved (t 0,x,y) Mouse pressed (t 1,x,y,1) Mouse dragged (t 2,x,y,1) Key typed (t 3, F1 ) Panel Label TextArea Panel Button Button
30 Event Dispatch Window Event Queue Mouse moved (t 0,x,y) Mouse pressed (t 1,x,y,1) Mouse dragged (t 2,x,y,1) Key typed (t 3, F1 ) Panel Label TextArea Panel Button Button
31 Event Dispatch Event Queue Mouse moved (t 0,x,y) Mouse pressed (t 1,x,y,1) Window Mouse dragged (t 2,x,y,1) Key typed (t 3, F1 ) Panel Label TextArea Panel /* callback for TextArea */ function mousemoved(evt) { // process mouse moved event } Button Button
32 UI Tools Discussion
33 Myers, Hudson & Pausch Brief UI tool history, establish vocabulary in wide use today, and chart future trajectories. At any point did they miss the mark?
34 Myers, Hudson & Pausch Brief UI tool history, establish vocabulary in wide use today, and chart future trajectories. At any point did they miss the mark? Web: subsuming many desktop applications Design vs. Dev: In practice often done by teams with varied skills (interaction design, graphic design, implementation) 3D: Mostly limited to games? BUT fabrication now likely to drive new 3D design tools. VR?
35 Toolkits Abound Not just for desktop GUI widgets & events Mobile applications (ios, Android) Information visualization (d3.js, Protovis, Prefuse) Tangible user interfaces (Papier-Maché) Gestural user interfaces (Kinect API) Speech user interfaces (MS Speech API) Proxemic user interfaces (Proximity Toolkit) Many exhibit similar tensions around expressiveness, efficiency and ease-of-use
36 Toolkit Benefits & Shortcomings Simplify & accelerate UI development Lower the threshold of specification difficulty Raise the ceiling of what can be expressed But hard to do both! Establish path of least resistance Makes common / successful designs easy Makes unusual / ineffective designs harder Can limit & shape what we conceive / design Enforce consistency of design Maintain familiar widgets and interactions
37 Discussion Question Topics Threshold/Ceiling, Expressivity vs. Usability Recognition-Based UIs Multi-Device Interaction 3D UIs / Augmented and Virtual Reality Timeliness & Future Predictions The Moving Target Problem Accessibility Role of Tools in Collaboration & Communication
38 Clarifications What are event languages and object oriented programming? What is the difference between scripting languages and compiled languages? Clarify: the trick that has been used by CS researchers of buying expensive, high performance computers to investigate what will be available to the public in five or 10 years no longer works
39 Questions How has responsive web design evolved to meet the needs of devices with varying input and output capabilities? - Christopher Chung Do you think that some techniques that did not catch on in the past - such as model-based and automatic techniques - could provide viable and effective UI tools in the current landscape of technology? Why or why not? - Fannie Jou I wonder, how much more or less effective would interfaces be if designers had stayed clear of skeuomorphism and allowed the digital world to develop as something far removed from the expectations of pen and paper interactions? - Megan Taylor
40 More Questions Were the authors wrong in their prediction that handwriting interpretation would play a pivotal role? Is speech a preferable form of natural language input that leapfrogged handwritten input? - Lyle Kyne Is it feasible to consider a system that requires no understanding of the underlying code and technology that allows the construction of an interface and interactions to suit a specific person, eg a nurse, mechanic, schoolteacher, etc? - Kyle Freed [A]re user interface software tools really as important as argued in the article? - Elsa Ho
41 EXERCISE 1 Widget Design
42 Hello
43 Default State Hello
44 Default State Data: styling, content, etc. Hello
45 Default State Data: styling, content, etc. Hello form-checkboxes-and-radio-buttonssky-ui-kit-psd/ FID=9&TID=10550 Origin Unknown.
46 Checked State Hello FID=9&TID=10550 Origin Unknown.
47 Disabled-Unchecked Disabled-Checked Focus Maybe-Checked HTML/Forms/The_native_form_widgets FID=9&TID=10550 Origin Unknown. library/ui-elements/html5- checkboxes
48
49 State Diagram to the Rescue Click Checked Disabled Default Click
50 State Diagram to the Rescue Click Checked Disabled Default Click Click Maybe
51 State Diagram to the Rescue Click Checked Disabled Default Click Shift- Click Click Maybe
52 Your Turn! Submit! In pairs, brainstorm the states + transitions for a submit button.! What does the button look like in each state?! What are the transitions between states?! What actions trigger the transitions?! How does a user know what to do?! Regroup in ~10 mins to share ideas.
53 Your Turn! I am a textbox! In pairs, brainstorm the states + transitions for a textbox.! Hint: States+transitions for the textbox but also its contents (e.g., text selection).! Regroup in ~10 mins to share ideas.
54 Your Turn: Interactive Prototypes
UI Toolkits. HCID 520 User Interface Software & Technology
UI Toolkits HCID 520 User Interface Software & Technology http://www.cryptonomicon.com/beginning.html Xerox Alto 1973 Evolution of User Interfaces Command Line (UNIX shell, DOS prompt) Interaction driven
More informationUI Toolkits. HCID 520 User Interface Software & Technology
UI Toolkits HCID 520 User Interface Software & Technology http://www.cryptonomicon.com/beginning.html Xerox Alto 1973 Evolution of User Interfaces Command Line (UNIX shell, DOS prompt) Interaction driven
More informationCS260. UI Toolkits. Björn Hartmann University of California, Berkeley EECS, Computer Science Division Fall 2010
CS260 UI Toolkits Björn Hartmann University of California, Berkeley EECS, Computer Science Division Fall 2010 In the beginning cryptonomicon.com/beginning.html The Xerox Alto (1973) Event-Driven UIs Old
More informationEvent Driven UIs and Model-View-Controller
Event Driven UIs and Model-View-Controller CS160: User Interfaces John Canny Includes slides based on those of James Landay & Jeffrey Heer Reminder Archos 5 hardware available in class this Weds one per
More informationMOBILE COMPUTING 1/20/18. How many of you. CSE 40814/60814 Spring have implemented a command-line user interface?
MOBILE COMPUTING CSE 40814/60814 Spring 2018 How many of you have implemented a command-line user interface? How many of you have implemented a graphical user interface? HTML/CSS Java Swing.NET Framework
More informationFall UI Design and Implementation 1
Fall 2005 6.831 UI Design and Implementation 1 1 Suggested by Daniel Swanton Fall 2005 6.831 UI Design and Implementation 2 2 Suggested by Robert Kwok Fall 2005 6.831 UI Design and Implementation 3 3 Input
More informationInteractive Programming
Interactive Programming CS160: User Interfaces John Canny. Reminders Midterm one week from Weds. Review next Monday. Previous semesters midterms will be posted today. Due today Low fidelity prototype Pair
More informationCS 4300 Computer Graphics
CS 4300 Computer Graphics Prof. Harriet Fell Fall 2011 Lecture 8 September 22, 2011 GUIs GUIs in modern operating systems cross-platform GUI frameworks common GUI widgets event-driven programming Model-View-Controller
More information8/30/15 MOBILE COMPUTING. CSE 40814/60814 Fall How many of you. have implemented a command-line user interface?
MOBILE COMPUTING CSE 40814/60814 Fall 2015 How many of you have implemented a command-line user interface? 1 How many of you have implemented a graphical user interface? HTML/CSS Java Swing.NET Framework
More informationWindows and Events. created originally by Brian Bailey
Windows and Events created originally by Brian Bailey Announcements Review next time Midterm next Friday UI Architecture Applications UI Builders and Runtimes Frameworks Toolkits Windowing System Operating
More informationSoftware Tools. Scott Klemmer Autumn 2009
stanford hci group http://cs147.stanford.edu Software Tools Scott Klemmer Autumn 2009 It accomplishes an important task (for better and for worse) You don t have to make it yourself, and it abstracts a
More informationBerkeley. CS160: User Interface Design. Video Puppetry: SIGGRAPH Asia Widgets, Events, MVC 02/29/12 2/29/12
CS160: User Interface Design Widgets, Events, MVC 02/29/12 Berkeley UNIVERSITY OF CALIFORNIA Video Puppetry: SIGGRAPH Asia 2008 Authors: Connelly Barnes, David E. Jacobs, Jason Sanders, Dan B Goldman,
More informationGraphical User Interface (GUI)
Graphical User Interface (GUI) An example of Inheritance and Sub-Typing 1 Java GUI Portability Problem Java loves the idea that your code produces the same results on any machine The underlying hardware
More informationGraphical User Interface (GUI)
Graphical User Interface (GUI) An example of Inheritance and Sub-Typing 1 Java GUI Portability Problem Java loves the idea that your code produces the same results on any machine The underlying hardware
More informationCS123. Programming Your Personal Robot. Part 2: Event Driven Behavior
CS123 Programming Your Personal Robot Part 2: Event Driven Behavior You Survived! Smooth Sailing Topics 2.1 Event Driven Programming Programming Paradigms and Paradigm Shift Event Driven Programming Concept
More informationUser Interaction. User Interaction. Input devices. Input devices. Input devices GUIs and GUI design Event-driven programming 3D interaction
User Interaction User Interaction Input devices GUIs and GUI design Event-driven programming 3D interaction CS 465 lecture 19 2003 Steve Marschner 1 2003 Steve Marschner 2 Input devices Input devices Discrete
More informationNapkin Sketch Visualizations Sketch-Based Authoring of Improvisational Visualizations
Napkin Sketch Visualizations Sketch-Based Authoring of Improvisational Visualizations William O. Chao wochao@gmail.com Description of Domain Can you think of a time when you wished you could quickly sketch
More informationstanford hci group / cs376 UI Software Tools Scott Klemmer 14 October research topics in human-computer interaction
stanford hci group / cs376 UI Software Tools Scott Klemmer 14 October 2004 research topics in human-computer interaction http://cs376.stanford.edu cs547 tomorrow: Scott Snibbe Body, Space, and Cinema 2
More informationGI PageBus AMS Integration Demo
GI PageBus AMS Integration Demo Last updated: 24/05/2012 Table of contents 1 INTRODUCTION...3 2 USING THE DEMO...4 2.1 Available Stock List...4 2.2 Update Panel...5 2.3 Configuration Panel...5 2.4 Monitor
More informationEvent-driven Programming: GUIs
Dr. Sarah Abraham University of Texas at Austin Computer Science Department Event-driven Programming: GUIs Elements of Graphics CS324e Spring 2018 Event-driven Programming Programming model where code
More informationHuman-Computer Interaction. Chapter 2. What is HCI?
Human-Computer Interaction Chapter 2 What is HCI? Overview 2.1 The Human 2.2 The Computer 2.3 The Interaction Models of Interaction Interaction Styles Elements of the WIMP Interface HCI 2.3.1 Models of
More informationToday s Hall of Fame or Shame example is a feature of Microsoft Office 2007 that gives a preview of what a style command will do to the document
1 Today s Hall of Fame or Shame example is a feature of Microsoft Office 2007 that gives a preview of what a style command will do to the document while you re mousing over it. Here, the mouse is hovering
More informationUser Interfaces for Web Sites and Mobile Devices. System and Networks
User Interfaces for Web Sites and Mobile Devices System and Networks Computer Systems and Networks: Device-Aware Interfaces Interfaces must take into account physical constraints of computers and networks:
More informationJavaScript Specialist v2.0 Exam 1D0-735
JavaScript Specialist v2.0 Exam 1D0-735 Domain 1: Essential JavaScript Principles and Practices 1.1: Identify characteristics of JavaScript and common programming practices. 1.1.1: List key JavaScript
More informationChapter 6: Interfaces and interactions
Chapter 6: Interfaces and interactions Overview Introduce the notion of a paradigm Provide an overview of the many different interface paradigms highlight the main design and research issues for each Consider
More informationUI Software Organization
UI Software Organization The user interface From previous class: Generally want to think of the UI as only one component of the system Deals with the user Separate from the functional core (AKA, the app
More informationHistory. A (brief) history of interaction. Outline. Major paradigms of interaction. Visionaries who inspired advances
History A (brief) history of interaction Outline Major paradigms of interaction - Batch interfaces - Conversational interfaces - Graphical interfaces Visionaries who inspired advances - Vannevar Bush -
More informationEnhanced Collaborative Visualization with LS-PrePost-VR and LS-PrePost-Remote
4. LS-DYNA Anwenderforum, Bamberg 2005 Enhanced Collaborative Visualization with LS-PrePost-VR and LS-PrePost-Remote Todd J. Furlong Inv3rsion, LLC, Goffstown, New Hampshire, USA Summary: This paper describes
More informationEvent Dispatch. Interactor Tree Lightweight vs. Heavyweight Positional Dispatch Focus Dispatch. 2.4 Event Dispatch 1
Event Dispatch Interactor Tree Lightweight vs. Heavyweight Positional Dispatch Focus Dispatch 2.4 Event Dispatch 1 Event Architecture A pipeline: - Capture and Queue low-level hardware events - Dispatch
More informationFor the Beginner: c) Click the settings tab to set screen resolution d) Set resolution with slider bar.
For the Beginner: Preparing and Logging In to Run JobSite OnLine 1) Jobsite works best with a screen resolution of at least 800 x 600 preferably 1024 x 768. To set this, follow the instructions below.
More informationWe will talk about Alt-Tab from the usability perspective. Think about: - Is it learnable? - Is it efficient? - What about errors and safety?
1 This lecture s candidate for the Hall of Fame & Shame is the Alt-Tab window switching interface in Microsoft Windows. This interface has been copied by a number of desktop systems, including KDE, Gnome,
More informationMyScript Application Toolkit 2.2 Release Note
MyScript Application Toolkit 2.2 Release Note Table of Contents 1 Release Objectives... 3 2 Component version... 3 3 Installation... 3 4 Diagram Widget... 4 5 New APIs... 4 5.1 Android... 4 5.1.1 Math
More informationInput: Interaction Techniques
Input: Interaction Techniques Administration Questions about homework? 2 Interaction techniques A method for carrying out a specific interactive task Example: enter a number in a range could use (simulated)
More informationJavaScript Programming
JavaScript Programming Course ISI-1337B - 5 Days - Instructor-led, Hands on Introduction Today, JavaScript is used in almost 90% of all websites, including the most heavilytrafficked sites like Google,
More informationWidget. Widget is a generic name for parts of an interface that have their own behaviour. e.g., buttons, progress bars, sliders, drop-down
Widgets Jeff Avery Widget Widget is a generic name for parts of an interface that have their own behaviour. e.g., buttons, progress bars, sliders, drop-down menus, spinners, file dialog boxes, etc are
More informationC# Forms and Events. Evolution of GUIs. Macintosh VT Datavetenskap, Karlstads universitet 1
C# Forms and Events VT 2009 Evolution of GUIs Until 1984, console-style user interfaces were standard Mostly dumb terminals as VT100 and CICS Windows command prompt is a holdover In 1984, Apple produced
More informationGraphical User Interface. GUI in MATLAB. Eng. Banan Ahmad Allaqta
raphical ser nterface in MATLAB Eng. Banan Ahmad Allaqta What is? A graphical user interface () is a graphical display in one or more windows containing controls, called components, that enable a user
More informationInput (part 2: input models)
Input (part 2: input models) Dealing with diversity Saw lots of diversity in devices actual details of devices (e.g., device drivers) is a real pain how do we deal with the diversity? Need a model (abstraction)
More informationMicrosoft Office OneNote 2007
Microsoft Office OneNote 2007 Microsoft Office OneNote 2007 is a digital notebook that provides a flexible way to gather and organize your notes and information, powerful search capabilities so you can
More informationDesigning RIA Accessibility: A Yahoo UI (YUI) Menu Case Study
Designing RIA Accessibility: A Yahoo UI (YUI) Menu Case Study Doug Geoffray & Todd Kloots 1 Capacity Building Institute Seattle, Washington 2006.11.30 What s Happening? 2 3 Web 1.0 vs. Web 2.0 Rich Internet
More informationCMSC434. Introduction to Human-Computer Interaction. Week 10 Lecture 17 Mar 31, 2016 Engineering Interfaces III. Jon
CMSC434 Introduction to Human-Computer Interaction Week 10 Lecture 17 Mar 31, 2016 Engineering Interfaces III Jon Froehlich @jonfroehlich Human Computer Interaction Laboratory COMPUTER SCIENCE UNIVERSITY
More informationwhere are we? ICS 105: Project in HCI ui toolkits what does the toolkit do? model-view-controller model-view-controller lectures
where are we? ICS 105: Project in HCI UI Toolkits and Programming Models lectures done with evaluation techniques a couple of lectures on toolkits and programming other topics: graphical design and screen
More informationUser Interface Design
User Interface Design & Development Lecture 07 Direct Manipulation João Pedro Sousa SWE 632 George Mason University today direct manipulation window UIs support for operations mouse, pen, eye tracking,
More informationSOFTWARE REQUIREMENTS ENGINEERING LECTURE # 7 TEAM SKILL 2: UNDERSTANDING USER AND STAKEHOLDER NEEDS REQUIREMENT ELICITATION TECHNIQUES-IV
1 SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 7 TEAM SKILL 2: UNDERSTANDING USER AND STAKEHOLDER NEEDS REQUIREMENT ELICITATION TECHNIQUES-IV 12 th June, 2013 Instructor Information 2 Course Instructor:
More information2 Related work. 2.1 Mouse-based prototyping software Microsoft Visio
2 Related work Several tools can aid the prototyping stage, with many approaches available: desktop or web-based applications, UI-specific or generic diagrammatic solutions, mouse-based or pen-based interaction,
More informationVisual HTML5. Human Information Interaction for Knowledge Extraction, Interaction, Utilization, Decision making HI-I-KEIUD
Visual HTML5 1 Overview HTML5 Building apps with HTML5 Visual HTML5 Canvas SVG Scalable Vector Graphics WebGL 2D + 3D libraries 2 HTML5 HTML5 to Mobile + Cloud = Java to desktop computing: cross-platform
More informationWhat is a good pen based application? HCI For Pen Based Computing. What is a good UI? Keystroke level model. Targeting
What is a good pen based application? HCI For Pen Based Computing The windows desktop and browser are NOT good pen based apps! Richard Anderson CSE 481 B Winter 2007 What is a good UI? How do you measure
More informationCMSC434. Introduction to Human-Computer Interaction. Week 10 Lecture 16 Mar 29, 2016 Engineering Interfaces II. Jon
CMSC434 Introduction to Human-Computer Interaction Week 10 Lecture 16 Mar 29, 2016 Engineering Interfaces II Jon Froehlich @jonfroehlich Human Computer Interaction Laboratory COMPUTER SCIENCE UNIVERSITY
More informationEvent Dispatch. Interactor Tree Lightweight vs. Heavyweight Positional Dispatch Focus Dispatch. Event Architecture. A pipeline: Event Capture
Event Dispatch Interactor Tree Lightweight vs. Heavyweight Positional Dispatch Focus Dispatch 2.4 Event Dispatch 1 Event Architecture A pipeline: - Capture and Queue low-level hardware events - Dispatch
More informationSoftware Tools. Scott Klemmer. stanford hci group / cs147. tas: Marcello Bastea-Forte, Joel Brandt, Neil Patel, Leslie Wu, Mike Cammarano
stanford hci group / cs147 Software Tools Scott Klemmer tas: Marcello Bastea-Forte, Joel Brandt, Neil Patel, Leslie Wu, Mike Cammarano 04 December 2007 http://cs147.stanford.edu Developers are People
More informationJava Swing Introduction
Course Name: Advanced Java Lecture 18 Topics to be covered Java Swing Introduction What is Java Swing? Part of the Java Foundation Classes (JFC) Provides a rich set of GUI components Used to create a Java
More informationIntroduction to Automation. What is automation testing Advantages of Automation Testing How to learn any automation tool Types of Automation tools
Introduction to Automation What is automation testing Advantages of Automation Testing How to learn any automation tool Types of Automation tools Introduction to Selenium What is Selenium Use of Selenium
More informationVisAssist Web Navigator
VisAssist Web Navigator Software Requirements Specification Trevor Adams Nate Bomberger Tom Burdak Shawn Busolits Andrew Scott Matt Staniewicz Nate Vecchiarelli Contents Introduction... 4 Purpose... 4
More informationIntroduction. Key features and lab exercises to familiarize new users to the Visual environment
Introduction Key features and lab exercises to familiarize new users to the Visual environment January 1999 CONTENTS KEY FEATURES... 3 Statement Completion Options 3 Auto List Members 3 Auto Type Info
More informationPage 1. Interface Input Modalities. Lecture 5a: Advanced Input. Keyboard input. Keyboard input
Interface Input Modalities Lecture 5a: Advanced Input How can a user give input to an interface? keyboard mouse, touch pad joystick touch screen pen / stylus speech other more error! harder! (?) CS 530:
More informationChapter 11 DESIGN, PROTOTYPING and CONSTRUCTION
Chapter 11 DESIGN, PROTOTYPING and CONSTRUCTION Overview Prototyping Conceptual design Concrete design Using scenarios Generating prototypes Construction 2 Prototyping What is a prototype? Why prototype?
More informationOverview of Today s Lecture. Analytical Evaluation / Usability Testing. ex: find a book at Amazon.ca via search
Overview of Today s Lecture Analytical Evaluation / Usability Testing November 17, 2017 Analytical Evaluation Inspections Recapping cognitive walkthrough Heuristic evaluation Performance modelling 1 2
More informationPowerPoint Creating Presentations 25
Contents Contents 3 PowerPoint 00 7 What is PowerPoint? 8 PowerPoint Requirements 9 New and Improved Features 0 Installing PowerPoint 00 Starting PowerPoint 00 3 Exploring the Ribbon 4 003 Commands in
More informationUP L11 Using IT Analytics as an Alternative Reporting Platform Hands-On Lab
UP L11 Using IT Analytics as an Alternative Reporting Platform Hands-On Lab Description IT Analytics has a diverse and powerful way of displaying data to your users. In this lab, you will learn how to
More informationCS Computer Graphics: Intro to OpenGL
CS 543 - Computer Graphics: Intro to OpenGL by Robert W. Lindeman gogo@wpi.edu (with help from Emmanuel Agu ;-) OpenGL Basics Last time: What is Computer Graphics? What is a graphics library What to expect
More informationCS Computer Graphics: Intro to OpenGL
CS 543 - Computer Graphics: Intro to OpenGL by Robert W. Lindeman gogo@wpi.edu (with help from Emmanuel Agu ;-) OpenGL Basics Last time: What is Computer Graphics? What is a graphics library What to expect
More informationCSE1720 Lecture 08; Week 05 Lecture 09 Second level Third level Fourth level Fifth level
Shooter Games CSE1720 Click to edit Master Week text 04, styles Lecture 08; Week 05 Lecture 09 Second level Third level Fourth level Fifth level Winter 2014! Thursday, Jan 29, 2015/Tuesday, Feb 03, 2015
More informationCS 116x Winter 2015 Craig S. Kaplan. Module 03 Graphical User Interfaces. Topics
CS 116x Winter 2015 Craig S. Kaplan Module 03 Graphical User Interfaces Topics The model-view-controller paradigm Direct manipulation User interface toolkits Building interfaces with ControlP5 Readings
More informationAccessibility. Mike McBride
Mike McBride 2 Contents 1 Accessibility 4 1.1 Introduction......................................... 4 1.1.1 Bell.......................................... 4 1.1.2 Modifier keys....................................
More informationMidterm Exam, October 24th, 2000 Tuesday, October 24th, Human-Computer Interaction IT 113, 2 credits First trimester, both modules 2000/2001
257 Midterm Exam, October 24th, 2000 258 257 Midterm Exam, October 24th, 2000 Tuesday, October 24th, 2000 Course Web page: http://www.cs.uni sb.de/users/jameson/hci Human-Computer Interaction IT 113, 2
More informationPage 1. Ideas to windows. Lecture 7: Prototyping & Evaluation. Levels of prototyping. Progressive refinement
Ideas to windows Lecture 7: Prototyping & Evaluation How do we go from ideas to windows? Prototyping... rapid initial development, sketching & testing many designs to determine the best (few?) to continue
More informationCSE 510: Advanced Topics in HCI
CSE 510: Advanced Topics in HCI Interface Toolkits James Fogarty Daniel Epstein Tuesday/Thursday 10:30 to 12:00 CSE 403 Tools and Interfaces Why Interface Tools? Case Study of Model-View-Controller Case
More informationTxWin 5.xx Programming and User Guide
TxWin 5.xx Programming and User Guide Jan van Wijk Brief programming and user guide for the open-source TxWin text UI library Presentation contents Interfacing, include files, LIBs The message event model
More informationJobSite OnLine User s Guide Table of Contents
JobSite OnLine User s Guide Table of Contents For the Beginner: 2 Preparing and Logging In to Run JobSite OnLine...2 How Drawings and Specs are Organized - Ease of Use...3 Searching for Files or Containers...4
More informationUI Elements. If you are not working in 2D mode, you need to change the texture type to Sprite (2D and UI)
UI Elements 1 2D Sprites If you are not working in 2D mode, you need to change the texture type to Sprite (2D and UI) Change Sprite Mode based on how many images are contained in your texture If you are
More informationJavaScript and Events
JavaScript and Events CS 4640 Programming Languages for Web Applications [Robert W. Sebesta, Programming the World Wide Web Jon Duckett, Interactive Frontend Web Development] 1 Events Interactions create
More informationDay 1 Agenda. Brio 101 Training. Course Presentation and Reference Material
Data Warehouse www.rpi.edu/datawarehouse Brio 101 Training Course Presentation and Reference Material Day 1 Agenda Training Overview Data Warehouse and Business Intelligence Basics The Brio Environment
More informationChapter 0 : MVC review / Threading & Concurrency. CSCI 251 Android App Development
Chapter 0 : MVC review / Threading & Concurrency CSCI 251 Android App Development Part I: Model / View / Controller Review (courtesy of Prof. Lambert) TUI vs GUI Text-based I/O Sequential process Direct
More informationGUI s and Keyboards. Larry Rudolph March 13, Pervasive Computing MIT SMA 5508 Spring 2006 Larry Rudolph
GUI s and Keyboards Larry Rudolph March 13, 2006 1 User Interface Goal Convey and gather information from user Support a set of standard actions and outputs Graphical User Interfaces have been well studied
More informationIntroduction to Windows 10. Windsor Senior Computer Users Group October 12, 2015
Introduction to Windows 10 Windsor Senior Computer Users Group October 12, 2015 Should you upgrade? Availability Windows 10 will be available as a free upgrade (until July 2016) for anyone with a valid
More informationGraphical User Interfaces (GUIs)
CMSC 132: Object-Oriented Programming II Graphical User Interfaces (GUIs) Department of Computer Science University of Maryland, College Park Model-View-Controller (MVC) Model for GUI programming (Xerox
More informationGraphics. Lecture 18 COP 3252 Summer June 6, 2017
Graphics Lecture 18 COP 3252 Summer 2017 June 6, 2017 Graphics classes In the original version of Java, graphics components were in the AWT library (Abstract Windows Toolkit) Was okay for developing simple
More informationComprehensive AngularJS Programming (5 Days)
www.peaklearningllc.com S103 Comprehensive AngularJS Programming (5 Days) The AngularJS framework augments applications with the "model-view-controller" pattern which makes applications easier to develop
More informationPython Scripting for Computational Science
Hans Petter Langtangen Python Scripting for Computational Science Third Edition With 62 Figures 43 Springer Table of Contents 1 Introduction... 1 1.1 Scripting versus Traditional Programming... 1 1.1.1
More informationUXD. using the elements: structure
using the elements: structure defining structure you are here structure essentially defines how users get to a given screen and where they can go when they re done. structure also defines categories of
More informationGoals PROTOTYPING) Cris%an(Bogdan( (
PROTOTYPING) Cris%an(Bogdan( cris%@kth.se( ( Goals illustrate(how(we(can((help(designers)( generate(and(share(new(ideas,(get(feedback( from(users(or(customers( choose(among(design(alterna%ves,(and( ar%culate(reasons(for(design(choices.(
More informationDreamweaver: Web Forms
Dreamweaver: Web Forms Introduction Web forms allow your users to type information into form fields on a web page and send it to you. Dreamweaver makes it easy to create them. This workshop is a follow-up
More informationGetting Started (1.8.7) 9/2/2009
2 Getting Started For the examples in this section, Microsoft Windows and Java will be used. However, much of the information applies to other operating systems and supported languages for which you have
More informationUSERINTERFACE DESIGN & SIMULATION. Fjodor van Slooten
USERINTERFACE Fjodor van Slooten TODAY USERINTERFACE -Introduction -Interaction design -Prototyping Userinterfaces with Axure -Practice Do Axure tutorial Work on prototype for project vanslooten.com/uidessim
More informationUsability Testing! Hall of Fame! Usability Testing!
HCI+D: USER INTERFACE DESIGN + PROTOTYPING + EVALUATION Hall of Fame or Shame? Usability Testing Computer Science Department Apple One Button Mouse Autumn 2014 November 4, 2014 Hall of Shame Hall of Fame
More informationJava FX 2.0. Dr. Stefan Schneider Oracle Deutschland Walldorf-Baden
Java FX 2.0 Dr. Stefan Schneider Oracle Deutschland Walldorf-Baden Keywords: JavaFX, Rich, GUI, Road map. Introduction This presentation gives an introduction into JavaFX. It introduces the key features
More informationCS 160: Evaluation. Professor John Canny Spring /15/2006 1
CS 160: Evaluation Professor John Canny Spring 2006 2/15/2006 1 Outline User testing process Severity and Cost ratings Discount usability methods Heuristic evaluation HE vs. user testing 2/15/2006 2 Outline
More information2 Getting Started. Getting Started (v1.8.6) 3/5/2007
2 Getting Started Java will be used in the examples in this section; however, the information applies to all supported languages for which you have installed a compiler (e.g., Ada, C, C++, Java) unless
More informationObject Orientated Programming in Java. Benjamin Kenwright
Graphics Object Orientated Programming in Java Benjamin Kenwright Outline Essential Graphical Principals JFrame Window (Popup Windows) Extending JFrame Drawing from paintcomponent Drawing images/text/graphics
More informationcs465 principles of user interface design, implementation and evaluation
cs465 principles of user interface design, implementation and evaluation Karrie G. Karahalios 24. September 2008 1. Heuristic Evaluation 2. Cognitive Walkthrough 3. Discuss Homework 3 4. Discuss Projects
More informationInput part 3: Interaction Techniques
Input part 3: Interaction Techniques Interaction techniques A method for carrying out a specific interactive task Example: enter a number in a range could use (simulated) slider (simulated) knob type in
More informationEvent Dispatch. Dispatching events to windows and widgets.
Event Dispatch Dispatching events to windows and widgets. Review: Event Architecture 2 Event capture, processing and dispatch. Event Capture Hardware events (interrupts) Event Dispatch Software events
More informationWidget Toolkits CS MVC
Widget Toolkits 1 CS349 -- MVC Widget toolkits Also called widget libraries or GUI toolkits or GUI APIs Software bundled with a window manager, operating system, development language, hardware platform
More informationTips for Preparation
Midterm review Tips for Preparation During the term Keep up with readings Before the exam Review readings and lecture notes List concepts Group similar concepts together Make up exam questions Why is this
More informationCase Study: Dodging the Pitfalls of Enterprise Ajax Applications
www.thinwire.com Case Study: Dodging the Pitfalls of Enterprise Ajax Applications A Quick Introduction: Joshua Gertzen Lead Architect of the ThinWire Ajax RIA Framework Core Technology Architect for CCS
More informationPython Scripting for Computational Science
Hans Petter Langtangen Python Scripting for Computational Science Third Edition With 62 Figures Sprin ger Table of Contents 1 Introduction 1 1.1 Scripting versus Traditional Programming 1 1.1.1 Why Scripting
More informationLuckily, our enterprise had most of the back-end (services, middleware, business logic) already.
2 3 4 The point here is that for real business applications, there is a connected back-end for services. The mobile part of the app is just a presentation layer that is unique for the mobile environment.
More informationHeuristic Evaluation. Ananda Gunawardena. Carnegie Mellon University Computer Science Department Fall 2008
Heuristic Evaluation Ananda Gunawardena Carnegie Mellon University Computer Science Department Fall 2008 Background Heuristic evaluation is performed early in the development process to understand user
More informationSBD:Interaction Design
analysis of stakeholders, field studies ANALYZE Problem scenarios claims about current practice SBD:Interaction Design metaphors, information technology, HCI theory, guidelines DESIGN Activity scenarios
More informationHow to Locate and Start PowerPoint 2007? Click on Start Click on All Programs Click on Microsoft Office Folder
How to Locate and Start PowerPoint 2007? Click on Start Click on All Programs Click on Microsoft Office Folder Click on Microsoft Office PowerPoint 2007 Menu Bar Office Button How to Save a PowerPoint
More information