final Flashcards
GUI
“Graphical User Interface” is a computer display format that allows the user to select commands, call up files, start programs, and do other routine tasks by using a mouse to point to pictorial symbols (icons) or lists of menu choices on the screen as opposed to having to type in text commands.
WIMP
“Windows, Icons, Menus and Pointing device” is a graphical user
interface that allows a user to interact with the computer through the means of a pointing device such as a mouse to select words from drop down menus or images such as icons on the display screen that represent commands for
movement, activation or some other action.
Model View Controller (MVC)
*Probably the most quoted design pattern in UI development.
*It is also the most misquoted.
*Create a clear division between domain objects (model) that model the real world, and presentation objects that are the GUI elements visible on the screen.
*Domain objects should be completely self contained and work without reference to the presentation, they should also be able to support multiple presentations, possibly simultaneously.
GUI framework
*A cohesive set of interfaces and classes that collaborate to provide services for the core, unvarying part of a logical subsystem.
*Contains concrete (and especially) abstract classes that define interfaces to conform to, object interactions to participate in, and other invariants.
*Usually (but not necessarily) requires the framework user to define subclasses of existing framework classes to make use of, customize, and extend the
framework services.
*Has abstract classes that may contain both abstract and concrete methods.
draw the structure of a web graphical user interface
slide 7
event source
creates event objects and maintains a list of listeners..
event listener
receives and processes event objects (implements an
interface).
event interface
a list of methods implemented by the listener and invoked by the
source with the event object as a parameter.
Event object
data passed from the source to the listener.
DOM Event Flow
o Capture: from the default view to
the target’s parent.
qEvent listeners must handle
the event before it reaches its target.
o Target: the event object must arrive
at the event object’s event target.
o Bubble: propagates through the
target’s ancestors in reverse order.
qEvent listeners must handle
the event after it reaches its target.
Box Model
Determines how elements are positioned within the browser window.
§CSS treats every element as if it were in a box.
§When a bottom margin of one element meets the top margin of another, only the
larger of the two margins shows.
§border: separates the edge of one box from other surrounding boxes.
§margin: the distance between
the border of a box and the box
next to it.
§padding: the space between
the content of the box and its
border.
three characteristics of react
*Declarative:
§Design simple views for each state in the application.
§React updates & renders the component if its data changes.
*Component Based:
§Encapsulated components that manage their own state.
§Composition of components to make complex UIs.
*Learn Once, Write Anywhere:
§No assumptions about the rest of technology stack.
§Rendering on server using Node.
§React Native for mobile applications.
React development steps
*Preparation:
§Mock: start with a mock user interface.
*Development Steps
1. UI structure: break the UI into a component hierarchy.
2. Static version: build a static version in React.
3. Minimal UI state: identify the minimal and complete representation of UI state.
4. State implementation: identify where the state should live.
5. Inverse data flow: add inverse data flow.
User Experience (UX)
Every aspect of the user’s interaction with a product, service, or company that make up the user’s perceptions of the whole. User experience design as a discipline is concerned with all the elements that together make up that interface, including layout, visual design, text, brand, sound, and interaction. UE (Usability Engineering) works to coordinate these elements to allow for the best possible interaction by users.
UX process lifecycle
§Understand needs (of users)
§Create design candidates
§Construct prototypes
§Evaluate UX
5 usability attributes
§Learnability: “… easy to learn so that the user can rapidly start getting some work done with
the system.”
§Efficiency: “… efficient to use, so that once the user has learned the system, a high level of
productivity is possible.”
§Memorability: “… easy to remember, so that the casual user is able to return to the system
after some period of not having used it , without having to learn everything all over again.”
§Errors: “… a low error rate, so that users make few errors during the use of the system, and
so that if they do make errors they can easily recover from them. Further, catastrophic errors
must not occur.”
§Satisfaction: “… pleasant to use so that users are subjectively satisfied when using it; they
like it.
rules for creating react components
*Always start component names with a capital letter:
§React treats components starting with lowercase letters as DOM tags.
Hooks
*A Hook is a special function that lets you “hook into” React features:
§useState is a Hook that lets you add React state to function components.
§useEffect is a Hook that can be viewed
as componentDidMount, componentDidUpdate,
and componentWillUnmount combined.
React Design Patterns
A named pair of a problem and solution:
§Effective solutions to common problems.
§We mentioned Model-View-Controller.
examples of react design patterns
§Factory: An interface for creating a singleobject, but let subclasses decide which class to instantiate.
§Façade: A unified interface to a set of interfaces in a subsystem.
§Iterator: Accessing the elements of an aggregate object sequentially without exposing its underlying representation.
§Monitor: An object whose methods are subject to mutual exclusion.
MUI
*MUI (previously Material UI) is a React UI library: https://mui.com
*Provides a robust, customizable, and accessible library of foundational and
advanced components:
§MUI core: foundational components
§MUI X: advanced components
§Templates: application templates
§Design kits: components for design tools
*Community edition include MUI core.
What is computer graphics?
The science and art of communicating visually via a computer’s display and its interaction devices.
Combining models to to produce a representation of a particular view of the
scene:
§Model of objects
§Model of the light
§Geometric model
§Mathematical model
Types of Visualization
*Scientific Visualization: the use of interactive visual representations of scientific
data, typically physically based, to amplify cognition.
*Information Visualization: the use of interactive visual representations of
abstract, non-physically based data to amplify cognition.
draw and describe the Visualization Stages
slide 25
*The collection and storage of data
*Preprocessing / transforming the data into something that is easier to
manipulate
*Mapping from the selected data to a visual representation
*The human perceptual and cognitive system (the perceiver)
GUI component
*A GUI component (widget) is an element that displays an information
arrangement changeable by the user and provides a single interaction point for
a given kind of data.
*GUI components are basic visual building blocks which, combined in an
application, hold all the data processed by the application and the available
interactions on this data.
*To appear onscreen, every GUI component must be part of a containment
hierarchy. A containment hierarchy is a tree of components that has a top-level
container as its root.
*A layout manager determines the size and position of the components within a
container.
*A GUI framework uses computer graphics to display individual GUI components
and the overall GUI.
Three-color Theory
*Human visual system has two types of sensors.
* Rods: monochromatic, night vision.
* Cones:
* Color sensitive.
* Three types of cones.
* Only three values (the tristimulus values) are sent to the brain.
*Need only match these three values:
* Need only three primary colors.
Commonly Used Types of Data Visualizations
*Amounts
*Distributions
*Proportions
*x-y relationships
*Geospatial data
*Uncertainty
Homogenous Coordinates
Homogenous coordinates define a point in a plane using three coordinates
instead of two.
What is SVG?
*SVG is an image that is text-based.
*Provides high quality, scalable, graphics on the web.
*Has a similar structure to HTML.
*Is a DOM object.
*Properties can be specified as attributes.
*Uses absolute positions.
Computer graphics can be viewed from several perspectives:
§Its applications.
§The various fields that are involved in the study of graphics.
§Some of the tools that make the images produced by graphics so effective.
§Some numbers to help understand the scales at which computer graphics works.
§The elementary ideas required to develop graphics program.
SVG Coordinate System
*A coordinate system or grid system is similar to the one used by HTML5
elements.
*The top left corner of the document is considered to be the point (0,0), or point
of origin.
*Positions are then measured in pixels
from the top left corner, with the
positive x direction being to the right,
and the positive y direction
being to the bottom.
*SVG can use absolute units (ones with
a dimensional identifier like “pt” or “cm”) and so-called user units, that lack that
identifier and are plain numbers.
OpenGL
*OpenGL controls whatever hardware you are using, and you use its functions
instead of controlling the hardware directly.
*It is a collection of routines that the programmer can call along with a model of
how the routines work together to produce graphics.
draw the webgl pipeline
slide 36
Coordinated Multiple Views
*The analysis and assessment of complex, multi-dimensional data is a challenge:
§We need multiple perspectives/views of the same data.
*The views/plots/charts can be coordinated or articulated within a
Coordinated
Multiple
Views (CMV)
tool.