Recently...

My thoughts on product design and development

  • Published on

    Introducing Verses

    The year 2020 has really thrown a wrench into all our lifestyles. Here at home, and around the world, the LDS Church has cancelled Sunday services due to the global COVID-19 pandemic. In addition to the great resources the Church has provided for home-centered learning, I wanted a convenient way to keep up with my daily reading of The Book of Mormon.

  • Published on

    Swift Number Formatting

    Swift Ranges hero image

    Numbers are everywhere. They come in many different flavors. Currency, dates, scientific, etc. Computers are excellent and reading and interpreting the way numbers are expressed, humans less so. That's why we need to take the numbers that a computer understands and package them up in a way that makes sense to an average user.

  • Published on

    Swift Ranges

    Swift Ranges hero image

    Ranges are generic Swift Structures for selecting a range, or a limited subset, of an existing type. Ranges are used commonly for identifying elements between the lowest and highest values in a set.

  • Published on

    Intro to SwiftUI part one - Apps

    Swiftui Basics hero image

    What is SwiftUI?

    SwiftUI is Apple's new framework for describing views, interface controls and layout tools for software development. It provides for controlling user input, managing data flow, and updating of views displayed to the user. I'm personally very excited about this new approach to app development. It's fundamentally different from the imperative approach with UIKit.

  • Published on

    A Combine Primer

    What is Combine? Apple's reactive programming framework.

    Combine is the new reactive programming framework from Apple. Like SwiftUI (which it pairs beautifully with), Combine is declarative. It provides tools for managing streams of your app's events over time, and react accordingly. Because it has the blessing of Apple, you know it's here to stay.

  • Published on

    Basics of Swift Access Control

    Swift Access Control her image

    When writing stuctures, class and functions you need to let other code or even other developers know what is available and what is not. This is done by access control prefixing with public, open, internal, private, and fileprivate. Access control is another foundational concept that eluded me for years while learning the Swift language.

  • Published on

    Swift Generics

    Swift Generics Hero Image

    Generics are one thing that completely escaped me as I started learning Swift. Turns out they are one of the most powerful features in the entire Swift Language. Generics allow you to write flexible, reusable functions by writing code that is independent of Types.

  • Published on

    Swift Enumerations

    Swift Enumerations hero image

    An enumeration defines a common type for a group of related values and enables you to work with those values in a type-safe way within your code.

  • Published on

    SwiftUI Basics

    Swiftui Basics hero image

    Apple describes SwiftUI is a modern way to declare user interfaces for any Apple platform. Unlike imperative UI layout tools like Interface Builder and Auto Layout, the declarative nature of SwiftUI Views allows developers to concentrate on composition and state.

  • Published on

    Foundational Swift Types

    Swift Generics Hero Image

    In the Swift programming language, nearly everything is based on a named type or compound type. Named types can be assigned names when created. These include classes, structures, enumerations, and protocols. Instances of user-defined named types carry the name of the given type. For example, a class named MyClass will have the type MyClass. Swift also includes many standard named types for arrays, dictionaries and optional values.

  • Published on

    Figma Variants

    The team at Chatbooks has been fully invested in Figma for several years now. We found it replaced a host of 3rd party solutions that never quite played well together.

  • Published on

    Hello World 👋

    This blog is a long time coming. The rise of social media has largely replaced the desire for self-publishing on the web. This is my attempt to recapture that desire, build my writing skills, and possibly share some things with others. I've noticed friends and peers firing up their own blogging engines lately. So with this post I am turning the ignition to START.