Skip to main content

Class 15: Interactive Web Application Design Patterns

  • Review: Last Class
  • Design Patterns
  • Interactive Web Application Design Patterns
  • Key Design Principles

Review


Review: Primary Database Operations

Create - Insert new documents into a collection.

Read - Query and retrieve documents from a collection.

Update - Modify existing documents in a collection.

Delete - Remove documents from a collection.

// Find all documents that are not "Galaxy"
db.space.find({ name: { $ne: "Galaxy" } })

Project 2: Community Events SPA

For your second project you will design and implement an interactive community events single-page application using the MERN stack. For this project, you may only use the methods taught in this course.

The idea for this project to encourage community engagement by providing a platform for community members to discover and participate in local events. However, community engagement is not a strict requirement for this project. You may create an events web application for any type of events you like regardless of whether it promotes community engagement.


Design Patterns

Interactive Web Applications

Source: Smashing Magazine


Design Pattern

A recurring, reusable solution that can be applied to solve a design problem.


Why Employ Design Patterns? Familiarity. Familiar design helps supports the user by leveraging their prior experience with similar designs.


width:300px

width:300px

width:300px


Learning Objective

Study the design of existing interactive web applications to identify common design patterns.

Why? Design trends change over time. What's popular today, may not be popular in a few years. Learning to identify design patterns will help you adapt to changing trends and design effective interactive web applications in the future.


Activity: Design Pattern Exploration

  1. Working with your peers (2-4), study the design of the main portion of each of the provided example interactive web applications.

  2. Identify common design elements and design trends among these web applications.

  3. Quickly sketch a "summary" version of these common design elements and trends.


Activity: Design Pattern Summary Sketch

Working with your peers (2-4) at the board, sketch a "summary" version of the common design elements and trends you identified in the previous activity.

Label the design elements and trends you include in your sketch.

Rotate around the room (clockwise) to view the sketches created by other groups.


Discussion: Interactive Web Application Design Patterns

What are some of the common design patterns you observed across the "summary" sketches created by your peers?

Let's document these...


Trending Interactive Web
Application Design Patterns

Source: Smashing Magazine


Content First

Prioritize the display of content.

center width:650px


Content Organized as Cards

A user interface design pattern of organizing content into visually distinct units.

Card: A visually distinct unit that groups related information and actions.

Each card serves as an entry point for further interaction or information.

center height:460px


Modal

Modal: A dialog box that appears on top of the main content, typically used to display additional information or prompt user actions without navigating away from the current page.

Support users in accessing additional information or performing actions without leaving the current page.

center width:580px


Filter Chips

Chip: A small block of information that represents a filter, attribute, or action.

Support users in filtering or refining displayed content using small blocks of information.

center width:550px


center height:700px


Visible Search Bar

Search Bar: An input field that allows users to enter keywords or phrases to find specific content.

Support users in finding specific content by entering keywords or phrases.

center height:550px


center height:700px


Skeleton

Skeleton: A placeholder element that mimics the layout of the actual content while it is loading. Frequently animated.

Support users in understanding the structure of the content and reduce perceived loading time.

center height:240px


Activity: Community Events Design

Working with your peers (2-4), sketch a design for the Project 2's community events single-page application that incorporates the design patterns we discussed today.

  • Content first
  • Content organized as cards
  • Modal dialogs for additional information and actions
  • Filter chips for filtering and refining displayed content
  • Visible search bar for finding specific content
  • Skeletons for loading content

Design Principles

Source: Smashing Magazine


Key Design Principles

Structure: Group related pieces of information

Spacing: Define clear relationships between pieces of information

Rhythm: Create a visual flow that guides the user through the content.

Contrast: Differences attract attention, create hierarchy, enhance readability, and evoke emotions.


Example: Structure

center height:460px


Example: Spacing

center height:460px


Example: Spacing -- Text in a Box

center height:460px


Example: Spacing -- Nested Boxes

center height:460px


Example: Rhythm -- Design System

center height:460px


Example: Contrast

center height:260px


Example: Contrast -- Skip a Weight

center height:460px


Example: Contrast + Hierarchy

center height:460px


Activity: Revise Events Design

Working with your peers (2-4), revise your design for the Project 2's community events single-page application to incorporate the design principles we just discussed.

  • Structure
  • Spacing
  • Rhythm
  • Contrast

Summary


Summary

  • Design patterns are recurring, reusable solutions that can be applied to solve design problems.
  • Design trends change over time. Learning to identify design patterns will help you adapt to changing trends.
  • Today, interactive web applications frequently leverage cards, modals, filter chips, visible search bars, and skeletons.
  • Key design principles include structure, spacing, rhythm, and contrast.

What's Next

Today: Project 2, Milestone 1 Due

Next Class: Utility First CSS Frameworks

Wednesday: Project 2, Milestone 2 Released

Friday: Practice Problem Workshop