UI Toolkits. HCID 520 User Interface Software & Technology
|
|
- Christiana Powell
- 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
10 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
11 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 }
12 User Interface Components Label TextArea Each component has its own 2D coordinate system. Buttons
13 Containment Hierarchy Window Panel Label TextArea Panel Button Button
14 Component Layout Each container is responsible for positioning its contents. Window Panel Label TextArea Panel Button Button
15 Event-Driven Architecture
16 Events User input is modeled as events. Events are dispatched to components for processing.
17 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
18 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
19 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
20 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.
21
22 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
23 Event Dispatch Loop
24 Event Dispatch Loop Mouse moved (t 0,x,y)
25 Event Dispatch Loop Event Queue List of input events Mouse moved (t 0,x,y)
26 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
27 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
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 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
32 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
33 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
34 UI Tools Discussion
35 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?
36 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?
37 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
38 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
39 EXERCISE 1 Widget Design
40 Hello
41 Default State Hello
42 Default State Data: styling, content, etc. Hello
43 Default State Data: styling, content, etc. Hello form-checkboxes-and-radio-buttonssky-ui-kit-psd/ FID=9&TID=10550 Origin Unknown.
44 Checked State Hello FID=9&TID=10550 Origin Unknown.
45 Disabled-Unchecked Disabled-Checked Focus Maybe-Checked HTML/Forms/The_native_form_widgets FID=9&TID=10550 Origin Unknown. library/ui-elements/html5- checkboxes
46
47 State Diagram to the Rescue Click Checked Disabled Default Click
48 State Diagram to the Rescue Click Checked Disabled Default Click Click Maybe
49 State Diagram to the Rescue Click Checked Disabled Default Click Shift- Click Click Maybe
50 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.
51 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.
52 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 informationModel-view-controller View hierarchy Observer
-view-controller hierarchy Fall 2004 6831 UI Design and Implementation 1 Fall 2004 6831 UI Design and Implementation 2!"# Separation of responsibilities : application state Maintains application state
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 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 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 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 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 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 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 informationPotential issues: * Difficulty in coding and/or finding the. * Should I provide more source code? * Others
Assignment III Potential issues: * Division of the work within the team? * Difficulty in coding and/or finding the network data? * Should I provide more source code? * Others 1 InfoVis Software Toolkit
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 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 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 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 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 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 informationFramework. Set of cooperating classes/interfaces. Example: Swing package is framework for problem domain of GUI programming
Frameworks 1 Framework Set of cooperating classes/interfaces Structure essential mechanisms of a problem domain Programmer can extend framework classes, creating new functionality Example: Swing package
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 informationProgramming Training. This Week: Tkinter for GUI Interfaces. Some examples
Programming Training This Week: Tkinter for GUI Interfaces Some examples Tkinter Overview Set of widgets designed by John K. Ousterhout, 1987 Tkinter == Tool Kit Interface Mean to be driven by Tcl (Toolkit
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 informationGUI Implementation Support
GUI Implementation Support Learning Objectives: Why GUIs? What is a GUI? Why is implementation support needed? What kinds of implementation support are available? Basic concepts in OO GUI toolkit & app
More informationArtOfTest Inc. Automation Design Canvas 2.0 Beta Quick-Start Guide
Automation Design Canvas 2.0 Beta Quick-Start Guide Contents Creating and Running Your First Test... 3 Adding Quick Verification Steps... 10 Creating Advanced Test Verifications... 13 Creating a Data Driven
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 informationUniversity of Bahrain College of Applied Studies
University of Bahrain College of Applied Studies CSA 212: Human Interface and Design Activity 5: Front page 2003 Name : Student ID No : Section Instructor : : Demonstrator : Date : Total Marks : 10 Marks
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 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 information6.170 Preliminary Design Document
6.170 Preliminary Design Document SE64 Gadgix Presents: Gizmoball Austin Chu (eefi) Benjamin Gleitzman (gleitz) John Hawkinson (jhawk) Bill Magnuson (billmag) April 18, 2007 Contents 1. Overview... 1 2.
More informationProgramming Languages and Techniques (CIS120)
Programming Languages and Techniques (CIS120) Lecture 36 April 18, 2012 Swing IV: Mouse and Keyboard Input Announcements Lab this week is review (BRING QUESTIONS) Game Project is out, due Tuesday April
More informationA Top-Down Visual Approach to GUI development
A Top-Down Visual Approach to GUI development ROSANNA CASSINO, GENNY TORTORA, MAURIZIO TUCCI, GIULIANA VITIELLO Dipartimento di Matematica e Informatica Università di Salerno Via Ponte don Melillo 84084
More informationPART I: INTRODUCTION TO WINDOWS 8 APPLICATION DEVELOPMENT CHAPTER 1: A BRIEF HISTORY OF WINDOWS APPLICATION DEVELOPMENT 3
INTRODUCTION xix PART I: INTRODUCTION TO WINDOWS 8 APPLICATION DEVELOPMENT CHAPTER 1: A BRIEF HISTORY OF WINDOWS APPLICATION DEVELOPMENT 3 The Life of Windows 3 From Windows 3.1 to 32-bit 4 Windows XP
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 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 informationASSISTIVE CONTEXT-AWARE TOOLKIT (ACAT)
ASSISTIVE CONTEXT-AWARE TOOLKIT (ACAT) GETTING STARTED GUIDE VERSION 1.0.0 TABLE OF CONTENTS 1 GETTING STARTED... 3 1.1 ACAT Dashboard... 4 1.1.1 Dashboard Shortcuts... 5 1.2 Vision Tryout... 7 1.2.1 Vision
More informationGUI Components: Part 1
1 2 11 GUI Components: Part 1 Do you think I can listen all day to such stuff? Lewis Carroll Even a minor event in the life of a child is an event of that child s world and thus a world event. Gaston Bachelard
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 informationTYPES OF INTERACTORS Prasun Dewan Department of Computer Science University of North Carolina at Chapel Hill
TYPES OF INTERACTORS Prasun Dewan Department of Computer Science University of North Carolina at Chapel Hill dewan@cs.unc.edu Code available at: https://github.com/pdewan/colabteaching PRE-REQUISITES Model-
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 informationPropel PRO User Guide
Propel PRO User Guide Propel PRO Version 3.2.0a Page 1 Welcome to the latest version of Propel PRO which offers fast performance and easy navigation. Please refer to this user guide for common features
More informationWidgets. Widgets Widget Toolkits. User Interface Widget
Widgets Widgets Widget Toolkits 2.3 Widgets 1 User Interface Widget Widget is a generic name for parts of an interface that have their own behavior: buttons, drop-down menus, spinners, file dialog boxes,
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 informationWidgets. Widgets Widget Toolkits. 2.3 Widgets 1
Widgets Widgets Widget Toolkits 2.3 Widgets 1 User Interface Widget Widget is a generic name for parts of an interface that have their own behavior: buttons, drop-down menus, spinners, file dialog boxes,
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 informationAn applet is a program written in the Java programming language that can be included in an HTML page, much in the same way an image is included in a
CBOP3203 An applet is a program written in the Java programming language that can be included in an HTML page, much in the same way an image is included in a page. When you use a Java technology-enabled
More informationASSISTIVE CONTEXT-AWARE TOOLKIT (ACAT)
ASSISTIVE CONTEXT-AWARE TOOLKIT (ACAT) USER GUIDE VERSION 0.99.1 1 INTRODUCTION ACAT User Guide TABLE OF CONTENTS 1 INTRODUCTION... 7 1.1 Organization... 7 2 INSTALLATION... 8 2.1 Installing ACAT... 8
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 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 informationWeb Site Development with HTML/JavaScrip
Hands-On Web Site Development with HTML/JavaScrip Course Description This Hands-On Web programming course provides a thorough introduction to implementing a full-featured Web site on the Internet or corporate
More informationAutodesk Inventor Design Exercise 2: F1 Team Challenge Car Developed by Tim Varner Synergis Technologies
Autodesk Inventor Design Exercise 2: F1 Team Challenge Car Developed by Tim Varner Synergis Technologies Tim Varner - 2004 The Inventor User Interface Command Panel Lists the commands that are currently
More informationQt for Device Creation
Qt for Device Creation Speeding up ROI & Time-to-Market with Qt Andy Nichols Software Engineer, Qt R&D, Oslo Overview Problems facing Device Creators How Qt for Device Creation addresses those Problems
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 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 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 informationGUI Programming. Chapter. A Fresh Graduate s Guide to Software Development Tools and Technologies
A Fresh Graduate s Guide to Software Development Tools and Technologies Chapter 12 GUI Programming CHAPTER AUTHORS Ang Ming You Ching Sieh Yuan Francis Tam Pua Xuan Zhan Software Development Tools and
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 informationTable of Contents HOL CMP
Table of Contents Lab Overview - - vrealize Orchestrator - Advanced... 2 Lab Guidance... 3 Module 1 - Creating Advanced vrealize Orchestrator Workflows (45 min)...9 Introduction... 10 Prompting User Input
More informationHuman-Computer Interaction IS4300
Human-Computer Interaction IS4300 1 Quiz 3 1 I5 due next class Your mission in this exercise is to implement a very simple Java painting applet. The applet must support the following functions: Draw curves,
More informationUsing Microsoft Visual Studio to Create a Graphical User Interface
Using Microsoft Visual Studio to Create a Graphical User Interface ECE 480: Design Team 11 Application Note Joshua Folks April 3, 2015 Abstract: Software Application programming involves the concept of
More informationClient-side Debugging. Gary Bettencourt
Client-side Debugging Gary Bettencourt Overview What is client-side debugging Tool overview Simple & Advanced techniques Debugging on Mobile devices Overview Client debugging involves more then just debugging
More informationLesson 22 Enhancing Presentations with Multimedia Effects
Enhancing Presentations with Multimedia Effects Computer Literacy BASICS: A Comprehensive Guide to IC 3, 4 th Edition 1 Objectives Add clip art, shapes and drawn objects, SmartArt graphics, and pictures
More informationmgwt Cross platform development with Java
mgwt Cross platform development with Java Katharina Fahnenbruck Consultant & Trainer! www.m-gwt.com Motivation Going native Good performance Going native Good performance Device features Going native Good
More informationDashboard walkthrough: monitoring website performance
Dashboard walkthrough: monitoring website performance Published: 2018-01-19 When website performance slows down, knowing whether the issue is occurring at the application or network-level can save you
More informationDynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT
Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT AGENDA 3. Advanced C# Programming 3.1 Events in ASP.NET 3.2 Programming C# Methods 4. ASP.NET Web Forms 4.1 Page Processing
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 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 informationIn the first class, you'll learn how to create a simple single-view app, following a 3-step process:
Class 1 In the first class, you'll learn how to create a simple single-view app, following a 3-step process: 1. Design the app's user interface (UI) in Xcode's storyboard. 2. Open the assistant editor,
More informationFull Stack Web Developer
Full Stack Web Developer Course Contents: Introduction to Web Development HTML5 and CSS3 Introduction to HTML5 Why HTML5 Benefits Of HTML5 over HTML HTML 5 for Making Dynamic Page HTML5 for making Graphics
More informationIntroduction to Graphical Interface Programming in Java. Introduction to AWT and Swing
Introduction to Graphical Interface Programming in Java Introduction to AWT and Swing GUI versus Graphics Programming Graphical User Interface (GUI) Graphics Programming Purpose is to display info and
More informationQuick Multitouch Apps using kivy and Python
Quick Multitouch Apps using kivy and Python About Me! Python and Kivy + Setting up Kivy... 1) in Linux 2) in Windows 3) Mac OSX Hello World in Kivy :) Controlling the Environment Many environment variables
More informationAdvanced Dreamweaver CS6
Advanced Dreamweaver CS6 Overview This advanced Dreamweaver CS6 training class teaches you to become more efficient with Dreamweaver by taking advantage of Dreamweaver's more advanced features. After this
More information20480C: Programming in HTML5 with JavaScript and CSS3. Course Code: 20480C; Duration: 5 days; Instructor-led. JavaScript code.
20480C: Programming in HTML5 with JavaScript and CSS3 Course Code: 20480C; Duration: 5 days; Instructor-led WHAT YOU WILL LEARN This course provides an introduction to HTML5, CSS3, and JavaScript. This
More information