Once-a-year Black Friday deals are coming. Read more.
Give your simulator superpowers

RocketSim: An Essential Developer Tool
as recommended by Apple

Issue 96
Jan 04, 2022

Setting goals for a quarter is much different compared to setting yearly goals!

This week, I'm setting up Objective Key Results (OKRs) for this year. Setting goals for a year often results in more minor challenging objectives since it's hard to realize how much you can do within a year. Objectives for only one quarter are better to oversee.

Therefore, I always try to set up goals per quarter. Doing so allows me to revisit my quarter goals and refine them accordingly. I've been able to stretch myself much more over the past year due to this.

One of the goals I had for Q1 2021 was to reach 5000 newsletter subscribers while I was at 3000 in January. Growing 2000 subscribers in just one quarter was quite a stretch goal, but it did allow me to grow towards almost 8000 subscribers in December. If I had set a yearly goal last year, I'm not sure if I would've dared to go for 8000 subscribers in the end!

This year, my goals are focused on SwiftLee and RocketSim. It will be quite a different year since we're expecting a baby in March, but I'm looking forward to finding a new way of contributing to the community alongside being a dad.

I know not everyone is looking to set goals for a year, yet, I still want to encourage you to do so! It's a great way of providing insights into the progress you've made over a year, and it will help you stay motivated.

Followed up on that: if one of your goals is to write more articles, check out this week's SwiftLee post.

Enjoy this week's SwiftLee Weekly!

THIS WEEK'S BLOG POST

I've been writing Swift articles every week since May 2018. It resulted in many great articles and made me a better writer. Since many of you might have a goal for 2022 to write more frequently, I decided to write down my learnings from the past few years. To give you a few more perspectives, I decided to ask John Sundell, Paul Hudson, and Vincent Pradeilles for their tips as well.

SPONSORED

With a few lines of code, RevenueCat gives you everything you need to build, analyze, and grow in-app purchases and subscriptions without managing servers or writing backend code. Get started for free.

CURATED FROM THE COMMUNITY

CODE

When you’re building a fantastic application, the last thing you want to do is spend a lot of time on an often boring Support page. If you’re like me, you’re often ending up with no support page at all in your app, resulting in wasting a lot of time responding to emails instead. Jordi Bruin has the perfect solution for this with his release of Supporter, a framework that makes it super easy to add a Support page backed with an external JSON. No more excuses!
Although proof of concept, it’s fascinating how Alejandro Martinez used the new Concurrency framework to solve his problem. The solution looks like a CurrentValueSubject to me, but async tasks instead. If anything, it’s at least interesting to browse through the sample code.
I’ve not often seen such detailed research into build times for specific topics. Geoff Hackworth takes us through a journey of finding out how assets affect build times and explains how he improved build times for his excellent app Adaptivity.
I loved this article by Point-Free taking us through creating custom purple warnings in Xcode. New to those purple warnings? Try updating UI on a background thread while having the main thread checker enabled—a fascinating deep dive into creatively using OSLog.
This article only misses Alice and Bob's names, which are often used in similar explanations. Yet, Natascha Fadeeva gives us a brief to-the-point overview of how we can implement a public-private key solution using CryptoKit.
I bookmarked this release by Alex Grebenyuk, who’s once again not disappointing when it comes down to publishing open-sourced frameworks. This time, CreateAPI promises to be an OpenAPI code generator generating code that actually compiles. I got something to do in 2022!
While I’m unsure whether I would ever need a solution as Magnus Jensen describes, the article did inspire me quite a bit. A combination of environment values and callAsFunction results in a pretty neat way of calling observers along with the stack.

ACCESSIBILITY

Are your apps supporting dynamic type already? If not, this article by Bas Broek might be a good starting point! He explains how dynamic type works and how you can test it in your application.
If Dynamic Type is not enough for you, how about an article covering the Accessibility Inspector? If you’re unfamiliar with this tool, you should read this article written by Bas Broek. How about at least performing an Accessibility Audit on one of your views? Or maybe calculate the color contrast for your design?

SWIFTLEE JOBS

Post your company's job positions for free

Make sure to post your company's open job positions for free at SwiftLee Jobs and reach thousands of developers.
For our Chat SDK team we are seeking an iOS SDK Developer to work on our native iOS SDK libraries. This role is open in our Boulder office and is...
Work with Swift, SwiftUI, and Combine in a project that’s fully written in Swift. A modular foundation built with Swift Package Manager makes it a great project to work in.

THANK YOU

Thanks for being a SwiftLee subscriber! 
Continue your journey: