RSSAmplifier

Blog

Brendan Innis

I write about what I've learned, projects I'm working on and the philosophy of software craft.

brendaninnis.caRSS feed ↗14 posts

Latest posts

Building Your First App for visionOS: Part 2

In part 1 of this tutorial, you learned how to set up a new visionOS project and create a basic user interface using SwiftUI . In this part, you'll learn how to use RealityKit and SwiftUI to display and animate a 3D bar chart in a visionOS app. You can pickup this tutorial using the code you wrote in part 1, or download the finished project from part 1 here . After part 1 you should have a project…

Building Your First App for visionOS: Part 1

In this tutorial series you will learn how to build a complete app for visionOS using SwiftUI and RealityKit . You will learn how to create a new visionOS project, how to build an interface for visionOS using SwiftUI and how to display and animate 3D content using RealityKit . This tutorial will get you started building apps for visionOS right away and provide a solid foundation to learn from. We…

So I rebuilt my blog using Eleventy

I realized that I have more tags than I do blog posts. As of this post, that is no longer true. Thankfully I tagged this post only Web . I discovered static site generators with Jekyll, which I used to build this blog at brendaninnis.ca . Since then I've become unhappy with the version of the Hydeout theme I was using and I wanted to change up the look of my blog. Why Eleventy? # You want the…

Coding Makes You Less Creative

Every time I try to come up with an interesting and unique name for a new project I start drawing blanks. I released a daily fat counter app called Daily Fat Counter for Jobs' sake. There is a tendency to attribute creativity to software engineers because they invent novel solutions to real problems, but I believe that coding makes you less creative, exactly because it forces you to be…

Getting started with RealityKit 1: Programmatically placing content in RealityKit

In this tutorial you will create an iOS app where a user can tap the screen to place 3D content in their physical environment. You will learn how to load 3D resources from files into RealityKit entities and anchor them to phsyical locations in the real world. At the end of this guide there will be a link to download the finished version of the app we are building. Create an augmented reality app #…

How to choose an anchor for your RealityKit iOS AR app

If you are like me, you created a RealityKit AR app using the Xcode template Augmented Reality App under New Project . This template project includes a basic Reality Composer Experience.rcproject file which is loaded into the app and added to the Scene's anchors. This will anchor the scene to the first horizontal surface that is found. I wanted to know how to choose which surface my scene would be…

You Should Be Using Cloudflare For Your Website

Cloudflare provides a free service that will speed up your website, protect you from attacks and provide analytics all for free and with an incredibly fast and easy setup; if you have a small or personal website you should be using Cloudflare. Cloudflare will give you an SSL certificate so your website can provide HTTPS, a CDN network that will cache your website around the world and deliver…

What I Learned Publishing My First App

As a mobile developer, I have built many apps as side projects in my spare time. These are usually for the purpose of learning some new peice of technology, or prototyping some quick idea I had in my head, but somehow I've gone my entire career without publishing an app that I owned. I decided recently that should change, so I developed and published by first app under my name to the Apple App…

Make an App Icon With Swift UI

It's very easy to create an app icon for your iOS app using Swift UI, but this process is not a native part of Apple development and you will need to use a few tricks to get image assets that can be used for you Xcode project and the App Store. Why use Swift UI to create your app icon # As a developer, I have been getting joy from learning Swift UI and trying out a new framework. I have been…

Functions: Why Smaller is Not Always Better

Throughout my career as a software engineer, I have come across many simple heuristics that developers use to guide their design decisions and inform their coding style. One such rule-of-thumb I have heard quoted is that "small functions are better". Those following this rule-of-thumb assert that writing small functions enforces good coding principals and makes for better software. While I would…

Connect Nearby Devices Part 2: Local Networking Android

This post will show you how to create an Android app that can run on multiple nearby devices and connect them via a local network. This is part 2 of a larger tutorial that will explain how you can connect an app to other instances of the same app running on multiple devices and platforms. In part 1 of this tutorial we built an iOS app that can connect to other instances of the same app. In this…

Connect Nearby Devices Part 1: Local Networking iOS

Want to create an app that connects to nearby devices running the same app and is able to share data without going over the internet? So did I, but I had a hard time finding a good source of information online to teach me how to do that. In this series I'm going to explain how to create an app that can connect many devices running iOS or Android and share data between them. The first part of this…

Build a static site with Jekyll

Want to build an awesome static site like the one you are visiting right now? This post will explain step by step how I built this blog with Jekyll, installed a custom theme and hosted it on the web with GitHub pages. Why Jekyll? # I've been wanting to put more work into building an online presence lately, so I decided I should start blogging. I have used WordPress in the past, and had a great…

Hello World

Tonight I am deploying this Jekyll powered blog to GitHub pages and setting up my domain. This blog is a place for me to share things I have learned with the world, to document my coding experiments and side project and to serve as my about page on the web. I remember fondly internet 1.0 when personal webpages were in vogue. At that time I was learning about HTML and was facinated with the…