Back to the Mac

An online conference for Mac developers

Email · Newsletter · GitHub · YouTube


About

Join us in November for the first 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.

Deadlines for the 2020 conference:

  • Submissions are open from August 1 through September 8
  • Accepted speakers are notified on September 15
  • Recordings of accepted presentations and demos are due by October 31
  • Conference videos published on YouTube on November 9 and 10

Submit your talk

If you would like to give a presentation or demo, please submit your talk via email by September 8. Include the items listed below in your submission. Keep in mind that presentations and demos should be less than 30 minutes.

  • Presentation title
  • Presenters first and last name
  • A brief description of your talk or demo
  • Links to your GitHub, Twitter, personal website, or blog

Here are some ideas for presentations. Other topics are welcome as long as they are relevant to native Mac app development.

  • Command line applications
  • Server side programming with Swift
  • Machine learning on macOS
  • Using Swift and SwiftUI for Mac app development
  • Utilize C++, Python, and other languages in a native Mac app
  • GPU programming with Metal
  • Scientific computing with Swift and Accelerate
  • Distributing Mac apps outside the App Store

Recording your talk

Presenters should record their presentation or demo at fullscreen resolution. This will ensure the videos are encoded at the highest quality for YouTube. Try to keep the duration of the video to 30 minutes or less. Presenters will be given a Dropbox link for uploading their video. See the resources provided below for information about recording videos along with some recommended software and hardware options.

Presentations

Using Vision and Combine to search for text in screenshots

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.

Notarization and your continuous integration 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'll start from a new Xcode project and build a 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 multiple windows of varying sizes, preferences, menus, keyboard shortcuts, and UI elements that are not available on iOS or are different on the Mac. This demo is inspired by my series of blog posts on SwiftUI for Mac.

Developer ID distribution with GitHub Actions

by Vadim Shpakovski   GitHub   Twitter   Website

For this presentation, I would like to share a full-featured solution that replaces tools like Sparkle and App Center with free and easy-to-use services from Microsoft such as GitHub Actions and GitHub Releases. This presentation shows a modern approach for Mac app distribution outside the App Store.

Turbo charge SQLite with Swift: CLI, server-side, and apps

by Jason Jobe   GitHub   Twitter   Website

Swiftly and easily extend SQLite with virtual tables, table-values functions, and custom scaler, aggregate, and window SQL functions. Imagine a SQL interface to Number Series, Clocks, Calendars, File Systems, User Defaults and more. I'll introduce some extenstions to a great SQLite Swift Framework and illustrate how and why you might create your own. Written in Swift, these extensions can be used from a modified sqlite3 command line shell or incorporated into any Swift application.

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 search for answers. I believe this topic could help macOS developers understand clearly the entry points and what makes up an application bundle.

Notarizing disk images for Developer ID distribution

by Sasmito Adibowo   GitHub   Twitter   Website

Distributing Mac apps outside the store means signing and notarizing the app. When your app needs to function offline, this implies that you need to stamp the notarization result. Otherwise, you 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 a 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.

What if video was just another texture?

by Ted Bradley   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. I'll also give a taste of what we can achieve when we render these frames via Metal and SceneKit. We'll also see what's possible once you have some metadata about the camera providing the video.

The journey of making a Mac app in SwiftUI

by Malin Sundberg   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.

Building 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.

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.

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.

Archive

Nothing to see this year. Check back next year.

Support

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 www.flaticon.com.


Moof!