final Flashcards
(88 cards)
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.