Swift UI Tutorial – Part 3

The big conferences expect you to provide a topic and a brief description several months in advance. This can be challenging as you have to pick something that you think will still be interesting in eight months or so, even if there is a WWDC and the larger part of the beta phase of a new macOS and iOS version in between. It also has to be able to hold my attention for about eight months, which is not an easy requirement.

I usually try to meet that challenge by choosing something that is complex enough that it has a large likelihood of remaining relevant. For this year’s JNUC, I chose “Use Swift with the Jamf API.” This would very certainly remain relevant, as both Swift and the Jamf Pro API were certain to remain in existence. I was also not expecting too great changes in either and if there were smaller changes—both Swift and the Jamf API update regularly—I was confident I would be able to handle them.

It also covered another goal I have for my presentation: it was something I didn’t really know at the time and wanted to learn more about. I had dabbled with SwiftUI before, most prominently for my 2021 MacSysAdmin Online presentation “Let’s Swift Again” and I had also tried myself with using the Jamf API from Swift. But the new concurrency features of Swift 5.5 looked like they could make the code much more interesting.

My hunch was correct. But, even though the new concurrency features simplified the code, using Swift to retrieve and work with objects from the Jamf API still remained quite a bit more complex than doing so with curl in a shell script. A JNUC session was supposed to fit into 30 minutes.

So, I hatched a crazy plan. To remain in the 30 minutes, I would just superficially introduce the most important concepts in the sessions, and then publish a tutorial and some sample code that would explain the details. Ideally, the tutorial would publish around the same time as JNUC.

Even early in putting together the session slides and sample code, I realized, there is far too much to explain for a single post. So it would become a series of posts. No problem, I have done that before. I suggested the series to Jamf marketing and they were happy to go with it, so I was committed.

I did manage to get the first part done and published in time for JNUC. Then the work that piled up over being away for the conference struck and it took a while to get part two out. Part three was published yesterday. The project is starting to take form and is diving into some really essential, but also exciting features of Swift.

I am polishing part 4 right now and will send it to the great people who run the Jamf blog for editing and more polishing soon-ish. I am working on the sequels, where we finally, actually will get into the SwiftUI part of the tutorial. I expect there to be seven parts in total, though this project may have more surprises for me yet.

I think this worked out well, even though it certainly turned out to be far more complex and far more work than I had originally anticipated. I have certainly learned a lot along the way, so that goal was achieved! I hope you will enjoy this series as much as I did writing it. (Some people like it.)

Next year, maybe I will go for something less complex… maybe…

MDOYVR 22 Talk: The Encyclopedia of macOS Automation

Last week I had the pleasure and honor of participating and presenting at MacDevOps YVR. The videos for the sessions are now appearing on YouTube.

There is a page for my talk “The Encyclopedia of macOS Automation,” in which I discuss the options for scripting and automation on macOS, with extra links and notes. You can go directly to the video here.

The talks this year were graphic recorded by the amazing Ashton Rodenhiser (website, twitter). The graphic at the top of this post was made by her while I was presenting.

As always, I had a lot of fun at this conference. Many thanks to the organizers and all the other speakers. Until next year!

2022 Conference Season Speaking Schedule

With WWDC starting very soon, the MacAdmin conference season ramping up. I keep track of all the major MacAdmin conferences on my conferences page but I thought a summary of where I am going to present might be interesting:

MacDevOps YVR, June 15–17, Online

Yes, it is very disappointing that the uncertainties of the pandemic still make in-person conferences impractical. That said, I really enjoy the online format of MacDevOps YVR. Presentations are held on YouTube with Q&A and “Hallway Track” interactions on Discord. This year, most of the presentations, including my talk on ‘The Encyclopaedia of macOS Automation” will be restricted to 15 minute quick talks, which is an interesting challenge. Registration is still open!

Jamf Nation Live, Munich, Germany, June 23

Not a conference, but close. I will be presenting at the Jamf Nation Live event at the Allianz Arena near Munich on June 24. You will get the privilege of seeing me try to present in German for the first time in 17 years. Registration is still open. There are other Jamf Nation Live events in London (June 10), Amsterdam (June 16), and Paris (June 21).

Jamf Nation User Conference, San Diego, USA, September 27–29

Jamf Nation User Conference (JNUC) is going to be a hybrid event this year. You can choose to attend in person in San Diego, CA or online. Several sessions will be online only but some will be on stage. I am proud that my session on “Use Swift with the Jamf API” has been accepted to be presented on stage. Registration for both in person and online is still open.

MacSysAdmin, Göteborg, Sweden, October 4–7

In its 17th year, MacSysAdmin is going virtual again. Details are still forthcoming, but I will be providing a presentation.

So this is where you can see me present this year. Now I really should go work on those slides…

MacSysAdmin Online 2021 is live!

The first set of sessions for the MacSysAdmin Online sessions are… well… online!

There is an introduction video from Patrik Jerneheim, a session on Time Machine by Howard Oakley, Rich Trouton demonstrates AutoPkg in the cloud and Charles Edge celebrates Scandinavian contributions to computing. Oh, and I talk about building tools with Swift and SwiftUI.

You can find the links to all the videos from today on the MacSysAdmin website. More sessions will be published every day this week at 09:30 CEST (UTC+2).

You can find the links and resources for my Swift session here.

You can still support MacSysAdmin Online by purchasing a T-Shirt. The store will remain open until Friday.

Many thanks to Patrik Jerneheim and the team for putting this on. Also to all the presenters for building these sessions.

MacDeployment and MacDevOps YVR Presentations

I am a bit behind: the videos for both presentations I did in the last weeks at MacDeployment and MacDevOps YVR are now available. I made pages for each presentation with links to the slides, videos, and all the links I mentioned:

I had a really good time presenting and participating at both conferences. Even though they were remote, it was good to see everyone—again and for the first time.

There are more conferences coming up this year and I will be presenting more. You can see the list of MacAdmin conferences on the continually updated conference page.

(Illustration by Ashton Rodenhiser (Twitter, Web))