Back to the Mac

An online conference for Mac developers

Email · Newsletter · GitHub · YouTube


Join us in November for the second annual Back to the Mac conference where misfits, rebels, troublemakers, and the ones who think differently will share their knowledge about developing Mac apps. The conference is free. There are no registration or application fees. It is completely online as a collection of videos on our YouTube channel. Videos are recorded by the speakers and information is provided so viewers can contact presenters with questions or comments.

Dates for the 2021 conference:

  • Submissions are open from September 3 through September 30
  • Accepted speakers are notified by October 8
  • Recordings of accepted presentations and demos are due by November 8
  • Conference videos are published on YouTube on November 22

Call for proposals

The call for proposals is over for 2021. Check back next year.

2021 Presentations

The making of VimR

by Tae Won Ha   GitHub   Twitter   Website

VimR is a macOS-native Neovim UI written in Swift. This presentation will give a short demo of the app along with some history such as the transition from the Vim-backend to the Neovim-backend and from Objective-C to Swift. Technical inner workings of VimR will also be discussed.

Automating Your Mac

by Sarah Reichelt   GitHub   Twitter   Website

In this talk, Sarah will cover a wide range of tips and techniques for automating everyday tasks on your Mac using apps and utilities that come pre-installed on every Mac. This will start the very simplest methods using keyboard shortcuts and text expansions. After that, she will introduce some Terminal tricks, including adding aliases for commonly used commands. Then scripting using AppleScript, shell scripts, Python. Finally, the more graphical automation options such as Automator and Shortcuts.

Shipping your app without the App Store

by Janez Troha   GitHub   Website

How we at Niteo built the open-source Pareto Security app and pipeline using GitHub Actions to notarize, release and auto-update the app on its own without using the Mac App Store. In this presentation, we will talk about auto-updating, how Xcode 13 makes doing above a little bit easier this year around, and what are your options/considerations if you decide to do it for your app.

2020 Presentations

Building a screenshot search app

by Noah Martin   GitHub   Twitter   Website

I’m the creator of Screenie a Mac app to search for text in your screenshots. The core of the app is already open source. My talk will walk you through the text request Vision APIs, and how we can efficiently create an index for a large number of images in Swift using Combine, including code examples from Screenie. I’ll demonstrate how to improve search result accuracy using natural language concepts including tokenization, lemmatization, and data detection - all provided by the NaturalLanguage framework. Last, I’ll cover some new APIs added in macOS 11 for sentence embeddings which we can use to cluster similar screenshots. By the end of the talk, attendees will know how to use high level ML and NLP APIs on macOS to create an efficient image search.

Using XPC to execute Python code in your Mac app

by Gaige Paulsen   GitHub   Website

This presentation will discuss using XPC to create a Python interpreter environment within your Mac application, including describing why you’d want a Python interpreter in the first place, why you would benefit by using XPC, and how to establish bi-directional data links. Finally, I’ll discuss the results I observed doing this in my app, Cartographica. The GitHub repository for this presentation is

Notarization and your CI system

by Philippe Casgrain   GitHub   Twitter

If you want to distribute a Mac app outside the Mac App Store, Developer ID is no longer sufficient, you have to notarize your application. While Xcode can do everything for you in its organizer, it’s a good practice to have a separate machine for continuous integration, and that means scripting your builds for distribution. In this talk, we’ll go over the command-line `altool` to interface with Apple’s notarization system, and build a robust, yet simple script that can handle notarizing apps and disk images for immediate distribution from your website.

Build a Mac app inside 30 minutes using nothing but SwiftUI

by Sarah Reichelt   GitHub   Twitter   Website

In this demonstration, I will build a fully functioning Mac app using pure SwiftUI. I'll show how to use the standard Mac features that are not present in iOS apps such as windows of varying sizes and with multiple panes, toolbars, menus, keyboard shortcuts, and UI elements that are not available on iOS or are different on the Mac.

Building a modern Mac app with C++ libraries

by Leo Dion   GitHub   Twitter   Website

With Speculid, I built an app using existing C++ libraries to create app icons from SVG files. After WWDC 2020, I updated the app along with its build process and use of documents. In this talk, I'll explain how I used HomeBrew, GitHub Actions, and Swift Packages to create a consistent developer experience via continuous integration. I'll also cover how to integrate libraries like Cairo and Librsvg with Swift as well as the challenges associated with packaging, sandboxing, SwiftUI docs and more.

Understanding macOS application bundles by building an agent-based app

by Derik Ramirez   GitHub   Twitter   Website

Application bundles seem like a topic everyone understands, but few have tried to build an app manually. We leave all the responsibility to Xcode, but when something goes wrong, we don’t know where to go search for answers. I believe this topic could help macOS developers understand clearly the entry points and what makes up an application bundle. This presentation is based on the following article:

Notarizing disk images for use with Developer ID distribution

by Sasmito Adibowo   GitHub   Twitter   Website

Distributing Mac apps outside the store means signing and notarizing it. When your app need to function offline, this imply that you need to stamp the notarization result as well otherwise risk the dreaded “Apple cannot verify this application for malware” warning to your user. It also means needing to distribute apps as disk images instead of a simple ZIP archive since the latter cannot be stamped. But creating a notarized and stamped disk image is lengthy 10-step process. Xcode is yet to provide a 1-click command to do this. What is the process involved to create a properly notarized and stamped disk image and how to automate this entire ordeal? Watch the talk to find out more.

Video as a texture

by Ted Bradley   GitHub   Twitter   Website

Accessing a live video's raw frames opens up lots of possibilities such as chroma-keying and precisely timed graphical effects. Even accurately pausing on a single frame and drawing over the top is hard - frame synchronized real-time graphics is another level. People would usually turn to a third-party framework such as FFmpeg. Instead, I will demonstrate the less well-documented APIs in AVFoundation to make this possible. By the end of the talk you’ll know how to render frames from an AVPlayer within a Metal scene. The GitHub repository for this talk is available at

The journey of making a Mac app in SwiftUI

by Malin Sundberg   GitHub   Twitter   Website

In this talk, I’ll run through the journey of making a Mac app, using (mainly) SwiftUI. Building an app with such a new framework has been a lot of fun, but it also came with some challenges. I would love to share some of these challenges I encountered along the way, my troubleshooting process, and the solutions I found. SwiftUI has changed since I started building the app, so I also want to chat about the impacts this has had on the app and the codebase.

Create a custom search suggestions window

by Lucas Derraugh   GitHub   Twitter   Website

In this talk I will show how you get a window overlay that doesn't take focus from your main window but can interact with keyboard events. It will be something like Safari's search bar window and does not steal key focus from the main window.

Metal in two dimensions: Accelerating the canvas

by Warren Moore   GitHub   Twitter   Website

This talk describes how to use Metal to draw in 2D. Although we ordinarily think of Metal as a 3D graphics API, it can also be used to render 2D elements such as lines, curves, gradients, and text. These can be used to create custom user interfaces or even entire drawing applications. The talk begins with a brief introduction to the Metal API and command submission model, continues with several demonstrations of how to do high-performance low-level rendering in 2D, and concludes with a survey of popular GPU-accelerated UI systems, including Dear ImGui and NanoVG.

Swift Argument Parser is your friend

by Leo Dion   GitHub   Twitter   Website

The Swift Argument Parser is the premier way to build command line applications. In this talk, I explain the basics of the Swift Package manager and how to get started building your first command line tool using the Swift Argument Parser. I'll go over decoding arguments, flags, and options and how to build a robust terminal application.


If you would like to support this conference and its organizer, Gavin Wiggins, then please make a donation using the options given below. Thanks 😁

GitHub Sponsors · Patreon · Buy Me A Coffee · PayPal

Back to the Mac since 2020.

Back to the Mac is an independent conference
and has not been authorized, sponsored, or otherwise approved by Apple, Inc.

Computer icon in main logo by Smashicons from