JavaScript
FrontEnd
HTML: Basic Structures
CSS: Style and format
JavaScript: Hidden Layer-->Logic
Ways to interact:
Internal JS (loaded based on location in html, has delay sometimes)
Extrenal JS (defer and async attributes)
Inline JS handler
JS interpreted:
JS engine: v8(Chrome), SpiderMonkey(Firefox)
Node.js encompasses v* within C++ environ to compile without browser (VScode Run with Node.js)
Online Sandboxes (codepen.io, codesandbox.io)....
LiveServer-->Local Server
Syntax
7 standard data types: numbers, string, boolean, null, undefined, symbol, object
Dynamically, loosely, typed languages; No need to specify, data type inferred, can change
Interacting with User-facing elements
Document Object Model (DOM): Tree structure
Objects: HTML elements,
Property: Value that can get or set, like id of element
Method: An action, like adding or deleting and HTML element
Access HTML elements:
getElementById(id).innerHTML (also using tag name, class name, CSS selector)
getElementById(id).src = "HeadShot.png";
getElementById(id).style.color = "red";
querySelector(CSS selector)
DOM Events:
onclick, onload, onunload, onchange, onmouserover......
Inline event handlers
DOM on-event handler
Event listener
JSON Data
Definition: Objects are unordered collections of related data or primitive or reference types.
Working with APIs
Definition: API facilitate the programming of complex functionality
Browser API: fullscreen, screen orientation, vibration....
Third-party API: Google Maps API, Twitter API....
JS interacts with APIs over JS obejcts
Working with Component Library
Bootstrap: npm install bootstrap
Width breakpoints to reorganize the layout
Container: basic element of layout
Grids
Content
Design Thinking
Definition: Approach-->handson, user-centric; Process-->6 phase process: understanding, exploration, materialization
Empathize
Define
Ideation
Prototyping
Testing
Implementation
Empathize
Understand users' need, preference, expectations by studying what they do, think, and feel
Think-alouds
Ask participant to do the task while describing their behavior, and observe their actions with the interface.
Define
gather: gather findings
analyze: consolidating, categorizing, distilling
recommend: translate into insight
Affinity Diagramming: Organize data into clusters based on "affinity"
AKA affinity mapping, collaborative sorting, snowballing
Start initial set of categories
Sort notes into these categories
Add subcategories or consolidate categories as needed
Present each category
Rank categories in severity, importance, prevalence, frequency
Ideate
Active, creative, highly iterative process for forming ideas for design
Individually or Collaboratively
Idea creationg => Critiquing (2-step process)
IDEO's Rules of Engagement:
Defer judgement
Encourage wild ideas
Build on the ideas of others
Stay focused on the topic
One conversation at a time
Be visual
Go for quantity
Sketch: quick and rough drawing that gives a general outline of an idea
Everyone can sketch
More effective than words
Not inhibit exploration
Disposable
==> Conceptual Design: Abstract characterization of context
Storyboarding: Sequence of visual frames that illustrate user interaction that shape user exp.
Journey Maps: A visualization of the process that a person goes through in order to accomplish a goal
Visual Design
Elements of Design
Space: Canvas on which visual elements are placed
Positive: where the subject is positioned
Negative: space surrounding the subject
Negative can be used as positive
Line: Most primal design element, divide space, call attention, organize, and make up other
Shape: Space outlined by a contour
Geometric
Organic
Abstract
Size: Scale, the relative extent of the design elements such as shapes and lines
Pattern: Repetition, systematic duplication of design elements such as shapes and lines
Texture: Tactile and visual quality of a shape or space, by different color, material, structure
Value: The intensity in which a design element is expressed, such as foggy and lightening
Principle of Design
Focal Point: Area of visual interest, where the design directs the attention of the viewer first
Color
Large Size
Location of Element
Contrast: Juxtaposition of design elements that strikingly differ from each other
Balance: Organization of design elements on canvas to provide a sense of balence/imbalance
Symmetry or Asymmetry
Movement: Organization of design elements that suggests a particular flow on the canvas
Rhythm: Patterned use of design elements that communicate movement or order
Perspective: Creating a sense of horizon and movement along the depth axis of canvas
Unity: Reflects the holistic consistency in the use of design element
Associated Concepts
Font: style in which type is created
Typeface: font family
Glyph: particular character
Category of typefaces
Old-style fonts: "serifs" at the tips of a glyph that taper closer to the tip
Modern & slab-serif fonts: Very thin or very thick serifs
Sans-serif fonts: Lack the serif at the tips, stroke follow uniform weight
Script fonts: Simulate cursive writing where glyph connect with each other at the downstroke
Decorative fonts: Specifically to convey a particular context or elicit a particular feeling
Font parameters:
Style variation: bold, italic, oblique
Caps: all caps, small caps
Weight: extra light, light, medium, bold
Color: Visual Perception of light reflecting from object
Creates emphasis
Organizes content
Evokes emotion
Tints: Add White to color
Shades: Add Black to color
Hue: Standard color: red, yellow, blue
Color Palettes
Analogous: Nearby colors on color wheel
Complementary: Opposite colors on color wheel
Split-Complementary: One color on 1 side, 2 colors on opposite side
Triadic: 3 distinct colors
Monochromatic: One Hue, adjust gray scale
Achromatic: Only use gray scale colors
Color Vision Deficiencies
Intensity vs Hue for emphasis
Size of colored element
Proximity of similar colors
Images
Photograph, illustrations, 3D art, etc... convey rich information or context
Raster Graphic: Conventional, bitmap, pixels, zoom in-->blurry
Vector Graphic: Computer generated, flexible in scaling
Last updated