Course Highlights
  • Design app assets, icons and logos from scratch.
  • Design wireframes, mockups and prototypes.
  • Build aesthetic, clean and beautiful iOS apps that stand out on the app store.
  • Apply animation and motion based design to bring interactivity to your app.
  • Become an all-in-one UI/UX designer and iOS developer.
  • Understand the thinking and principles behind great user experience and app design.
  • Create custom controls that supercharge your UI.
  • Learn how to build custom UI components and never rely on overused libraries.
Curriculum

1 Topic
[OPTIONAL] Course Roadmap

2 Topics
Welcome to App Design and UI/UX
Design Inspiration

6 Topics
Why Sketch
Understanding the Sketch Interface: Part 1
Boolean Operations
Getting Apple Design Resources
Understanding the Sketch Interface: Part 2
Challenge

13 Topics
Creating a Settings Icon
Creating a Home Icon
Flattening Icons
Creating an Add Icon
Making Icons Pixel Perfect
Rulers and Grids
Creating a Profile Icon
Creating a Friends Icon
Creating a Refresh Icon
Symbols
Artboards
Points and Pixels - The Reason We Need @2x and @3x Icons
Challenge

10 Topics
UI vs UX Design: What is the Difference?
Design Methods
iOS Design Themes and Principles
Choosing a Color Scheme: Part 1
Choosing a Color Scheme: Part 2
iOS Color Systems: Understanding RGBA HSB HEX CYMK and GrayScale
The Importance of Color Spaces and Gamut
Typography
How to Install a Custom Font in XCode
Challenge

6 Topics
Introducing the Vector Tool
[OPTIONAL] The Origins of the Bezier Curve
Vector Tool Practice
Creating a Weather App Logo
Importing our App Logo into Xcode
Challenge

8 Topics
Introduction to Wireframes and Mockups
Planning the Wireframe
Planning the Screens
The Home Screen Wireframe
Symbolising the Tab Bar
The Friends Screen Wireframe
The Profile Screen Wireframe
Challenge

11 Topics
Atomic Design and Colour Palette
Story Post Atomic UI - Part 1
Creating the Heart Icon
Story Post Atomic UI - Part 2
Creating the GPS Icon
Story Post Atomic UI - Part 3
The Home Screen Wireframe
The Friends Screen Wireframe
Friends Post Atomic UI
The Profile Screen Wireframe
Challenge

6 Topics
Mockup Design Strategy
Home Screen Mockup Part 1
Home Screen Mockup Part 2
Friends Screen Mockup
Profile Screen Mockup
Challenge

6 Topics
A Practical Understanding of User Experience
The 4 Key Elements of User Experience
Iteration and the App Design Process
The 5 Stages of the Design Thinking Process
5 Essential UX Design Patterns
Challenge

6 Topics
Introduction to UX Research and Usability Testing
UX Research Methods
A/B Testing
Heatmap Testing
Guerrilla Testing
Challenge

5 Topics
Prototype Setup
How to Scroll
How to Transition
Prototyping Limitations
Challenge

4 Topics
Introduction to User Flows
User Flows with Sketch
User Flow Atomic Elements
Challenge

5 Topics
Introduction
User Personas
User Journey Map Essentials
Practical User Journey Maps
Challenge

5 Topics
Introduction
Marissa Mayer's 3 Rules of App Design
Donald Norman's Design Principles for Usability
Jakob Nielsen's 10 Usability Heuristics for UI Design
Challenge

10 Topics
Introduction to Figma
The Figma Interface
Boolean Operations
Flattening
Settings Icon Style #1
Settings Icon Style #2
Arc Tool
Cloud Icon
Strokes and Joins
Challenge

4 Topics
Introduction to Vector Networks
Vector Points
End Caps
Challenge

12 Topics
Gradients
Bitmap Editing
Masks
Blurs
Shadows
Organisation
Getting the iOS GUI Kit
[OPTIONAL] Fixing the San Fransisco Font Problem
Components
Layout and Grids
Pixel Perfection
Challenge

7 Topics
Low Fidelity Wireframing
Constraints
High Fidelity Wireframing
Mockups
Using the iOS GUI Kit with Mockups
Prototyping
Challenge

1 Topic
Welcome to App Development

3 Topics
Downloading Xcode
Xcode Tour
Hello World

4 Topics
Introduction
User Interface Setup Part 1
User Interface Setup Part 2
App Logic

22 Topics
Introduction
Types and Variables - Mutability Part 1
Types and Variables - Mutability Part 2
Types and Variables - Naming Conventions
Optionals - Valueless State
Optionals - Unwrapping
Arithmetic Operators and Order of Evaluation
Comparison Operators Part 1
Comparison Operators Part 2
Logical Operators
Other Operators
String Interpolation
Enumerations and Switch Part 1
Enumerations and Switch Part 2
Functions - Fundamentals Part 1
Functions - Fundamentals Part 2
Arrays
Functions - Naming
Dictionaries
Control Flow - Loops Part 1
Control Flow - Loops Part 2
Control Flow - Early Exit and Control Transfer

3 Topics
Introduction
Starter Project Walkthrough
Building our App

2 Topics
Introduction + Code Problem Solving Tips
Download your Challenge Playground

15 Topics
Introduction
Named Types
Structures
Classes: Reference Semantics
Classes: Subclassing
Classes: Type Casting
Structures vs Classes
Properties
Access Control
[OPTIONAL] Object Oriented Programming: Abstraction Inheritance & Encapsulation
[OPTIONAL] Object Oriented Programming: Composition
[OPTIONAL] Object Oriented Programming: Testing Our Code So Far
[OPTIONAL] Object Oriented Programming: Polymorphism and Final Thoughts
Protocols
[OPTIONAL] Protocol Oriented Programming

22 Topics
UIView Fundamentals
The Case for Autolayout
The Basics of Storyboard Constraints
Horizontal and Vertical Container Alignment Constraints
Edge and Center Alignment Constraints
Intrinsic Content Size and Baseline
Content Hugging Priority
Content Compression Resistance Priority
Multiplier
Autolayout Practice: Simple Billing Form
Aspect Ratio Constraints
Landscape Orientation Problems
Adaptive Layout and Size Classes
Portrait and Landscape Orientation Autolayout
iPhone and iPad Autolayout
Safe Areas
Why Support iPhone 4S?
Autolayout as Equations
Programmatic Autolayout Basics
Programmatic Autolayout Priorities
Programmatic Autolayout Size Classes
Challenge

8 Topics
Introduction
What is MVC?
Creating our Model Part 1
Creating our Model Part 2
Creating the User Interface
View Controller Life Cycle Part 1
View Controller Life Cycle Part 2
Creating our Controller

16 Topics
Scroll View
PayPal App Part 1: Basic Setup
PayPal App Part 2: Balance View
PayPal App Part 3: Activity View
PayPal App Part 4: Security View
PayPal App Part 5: Send and Receive Money
PayPal App Part 6: Connecting UI to Code
XIBS
TableView
TableView with XIBS
Intro to CollectionViews
CollectionView Basics
CollectionView Insets and Spacing
CollectionView with XIBS
Customising the Status Bar
Challenge

24 Topics
Introduction
ToDoItem Model
ToDoList TableView
Push Segue
Passing Data with Segues
Passing Data with Delegates
Navigation Items
Present Modally Segue
TableView Editing Mode
Dismissing ViewControllers
Creating a Toolbar
TouchView Part 1
Observing Keyboard Events
TouchView Part 2
Maintaining TextField Visibility when Keyboard Shows Part 1
TextField and TextView Delegate
Maintaining TextField Visibility when Keyboard Shows Part 2
Maintaining TextField Visibility when Keyboard Shows Part 3
TextView Visibility
Data Validation
Reporting Errors with UIAlertController
Passing Data with Notifications Part 1: Objects
Passing Data with Notifications Part 2: UserInfo
Challenge

5 Topics
Intro to Realm
Creating a Realm Model
Adding Data
Reading and Deleting Data
Updating Data

5 Topics
Introduction to Core Data and Setup
Creating a Core Data Entity
Adding Data
Reading Updating and Deleting Data
Testing our Core Data Changes

5 Topics
Snapsie: Photo Camera with UIImagePickerController
Snapsie Plus: User Interface
Snapsie Plus: Creating the Capture Session
Snapsie Plus: Preview Layer
Snapsie Plus: Capture Delegate and Image Preview

5 Topics
User Interface
Capture Session
Preview Layer
Recording Delegate
Playing Video

6 Topics
Intro to Git and Setup
Our First Commit
Branching
Time Travel
Git Command Line Basics and Gitignore
Pushing and Pulling from Github

14 Topics
How Web APIs Work
A GET Request Example using POSTMAN
Building our Weather App User Interface
Setting Up Alamofire and SwiftyJSON
Setting Up the API Client
User Location Detection with Core Location Part 1
User Location Detection with Core Location Part 2
Creating Requests with URLSession Part 1
Creating Requests with URLSession Part 2
Creating Requests with Alamofire
#1 Parsing JSON: The Manual Way
#2 Parsing JSON: Using SwiftyJSON
#3 Parsing JSON: Using Codable Protocol Part 1
#3 Parsing JSON: Using Codable Protocol Part 2

4 Topics
Grand Central Dispatch Part 1: Serial and Global Queues
Grand Central Dispatch Part 2: Custom Global Concurrent Queues
Memory Management: Weak and Unowned References
Memory Management: Capture Lists

2 Topics
Do...Catch Try and Throws
Practical Error Handling

8 Topics
Introduction
Functions as First Class Citizens
Closures as First Class Citizens
Closure Expressions
Escaping Closures
Type Alias
Higher Order Functions
Functional Programming In Practice

3 Topics
Introduction to Machine Learning and Basic Intuition
Image Analysis Request
Detecting Objects

8 Topics
Introduction
Convolutional Neural Networks
Transfer Learning
Introducing CreateML
Finding and Curating a Dataset
Training
Improving Training and Validation Accuracy
Testing and Evaluation

9 Topics
Introduction
SOLID Principles Part 1
SOLID Principles Part 2
Singleton Design Pattern
Delegate Design Pattern
Extension Design Pattern
Observer Design Pattern
Adapter Design Pattern
Factory Design Pattern

6 Topics
Equatable Protocol Part 1
Equatable Protocol Part 2
Comparable Protocol
Hashable Protocol
Generics Part 1
Generics Part 2

1 Topic
Introduction

34 Topics
Starter Project Overview
Storyboards and ViewControllers
Tab Bar Part 1
Tab Bar Part 2
Tab Bar Part 3
HomeViewController Setup
Stories Setup
StoriesTableViewCell
Completing the FeedTableViewCell XIB
FeedTableViewCell and StoryTableViewCell Code
Completing the HomeViewController
ExploreCollectionViewCell
Creating the Search
Custom Collection Layout Part 1
Custom Collection Layout Part 2
Custom CollectionLayout Part 3
Completing the SearchViewController
New Post Storyboard Setup
Tab Bar Delegate
NewPostViewController
PageViewController Part 1
PageViewController Part 2
PageViewController Part 3
Simple Camera
Photo Album
New Post Test
Activity Interface Setup
Custom Segmented Control Part 1
Custom Segmented Control Part 2
ActivityTableViewCell XIB
ActivityView XIB
ActivityViewController Part 1
ActivityViewController Part 2
ActivityViewController Test

3 Topics
Starter Project Overview
Installation of Firebase
Helper + Extension

6 Topics
Authentication: Login Part 1
Authentication: Login Part 2
Authentication: Sign Out
Authentication: Sign Up
User Model
Firebase Data Event Types

5 Topics
UIImagePicker (Photo Library and Camera)
UIProgressView
Upload to Google Cloud Storage Part 1
Upload to Google Cloud Storage Part 2
SDWebImage

5 Topics
Creating a Post Part 1
Creating a Post Part 2
Refactoring the Post Model
Displaying Posts
User Post Details

3 Topics
Likes Model
Liking and Unliking Posts Part 1
Liking and Unliking Posts Part 2

6 Topics
Comments Model
Updating the Feed Delegate
Updating the CommentTableViewCell
Creating a Comment
Observing New Comments
Observing New Posts

4 Topics
Pagination
Deleting Posts Part 1
Deleting Posts Part 2
Updating HomeViewController

7 Topics
Updating SearchViewController
Search Part 1
Search Part 2
Search Part 3
Refactoring the ProfileViewController Part 1
Refactoring the ProfileViewController Part 2
Selecting Comments and Search Results

3 Topics
Following Follower and Post Count
Follow Model
Toggle Following

1 Topic
Welcome to Custom Interface Development

7 Topics
CALayer Properties Part 1
CALayer Properties Part 2
Gradients with CAGradientLayer
Travel App Intro
Travel App Part 1
Travel App Part 2
Challenge

13 Topics
Anatomy of iOS Animations
Understanding Timing Functions
UIView Animations Part 1: The Basics
UIView Animations Part 2: Chaining Animations
UIView Animations Part 3: Timing Functions and Springs
Property Animations Part 1: Theory and Basics
Property Animations Part 2: Animation State
Property Animations Part 3: Reverse Scrub Interrupt and Dynamic Addition
Animated Login App Part 1
Animated Login App Part 2
Constraint Animations Part 1: Interface Setup
Constraint Animations Part 2: Open/Close Menu
Challenge

6 Topics
Introduction to Motion Design
Usage
Continuity
Transitions
Speed
Challenge

4 Topics
Microinteractions Theory
Tab Bar Microinteraction Starter
Tab Bar Microinteraction Final
Challenge

10 Topics
Understanding Model and Presentation Layers
CABasicAnimation Part 1: Basics Model & Presentation States and Delegate
CABasicAnimation Part 2: KVO FillMode and Model & Presentation Layer Sync
Instagram Style Animated Gradient App
CAKeyFrameAnimation and Shaking Login Animation
Standalone and Backing Layers
CATransaction Part 1: Batching and Overriding Duration & Timing Functions
CATransaction Part 2: Disabling Animation and Completion Callback
Grouping Animations with CAAnimationGroup
Challenge

21 Topics
UX Principles of Custom Transitions and Interactive Design
Custom Modal Transitions
Circular Modal Transition Part 1
Circular Modal Transition Part 2
Custom Navigation Transition
Photo Album Transition Part 1: Setup
Photo Album Transition Part 2: Present Animation
Photo Album Transition Part 3: Dismiss Animation
Pan Gesture Recognizers
Tinder Style Swipe Card Part 1: Basic Setup
Tinder Style Swipe Card Part 2: Swipe Right
Tinder Style Swipe Card Part 3: New Card
Tinder Style Swipe Card Part 4: Swipe Left and Pivot
YouTube Style Pan Interaction Part 1: Setup
YouTube Style Pan Interaction Part 2
YouTube Style Pan Interaction Part 3
YouTube Style Pan Interaction Part 4
Custom Tab Bar Transition Part 1
Custom Tab Bar Transition Part 2
View Transitions
Challenge

13 Topics
Understanding Context and State
Strokes Fills and Paths Part 1
Strokes Fills and Paths Part 2
Making Arcs
Gradients
Clipping and Preserving State
Shadows
Transformations: Modifying the Current Transform Matrix
Transformations: Affine Transforms
Bar Graph Part 1: The Data
Bar Graph Part 2: The Labels
Bar Graph Part 3: The Bars
Challenge

11 Topics
Creating Shapes
CAShapeLayer Properties
CAShapeLayer Masks
CAShapeLayer Transformations
Ring Graph Part 1: The Backdrop
Ring Graph Part 2: The Progress Layer
Ring Graph Part 3: The Gradient Stroke
Marching Ants Loading Animation Part 1: The Ants
Marching Ants Loading Animation Part 2: The Marching Animation
Marching Ants Loading Animation Part 3: Pulsating Label
Challenge

9 Topics
UX Principles and Goals of App Launch
Human Interface Guidelines on App Launch
Twitter Style Splash Screen Part 1: Basic Setup
Twitter Style Splash Screen Part 2: Animated Launch
Facebook Style Skeleton Launch Part 1: Basic Setup
Facebook Style Skeleton Launch Part 2: Shimmering
Facebook Style Skeleton Launch Part 3: The Mask
Facebook Style Skeleton Launch Part 4: Wrapping It All Up
Challenge

10 Topics
Introduction to Custom Controls
Getting Started with Custom Controls
The Ball Indicator
UIControl Tracking Methods
Begin and Continue Tracking
Ball Angle
Ball Centre
Temperature Feedback
Test Run
Challenge

9 Topics
Introduction
Creating the Gauge Layer
Creating the Gauge Layout
The Anchor Point
The Arc
The Markers
The Labels
Rotation
Challenge

6 Topics
Custom Timing Functions
Path Animation
Fluid Spring Animations Part 1: The Underlying Theory
Fluid Spring Animations Part 2: Practical Application
CADisplayLink
Challenge

  Write a Review

iOS 12 & Swift 5 - App Design, UI/UX plus Development

Go to Paid Course