Sponsored Link
Reliable mobile tests and actionable results in a fraction of the time
Stop spending time reproducing issues discovered during testing, and start debugging faster. KeepSafe has saved +1000 hours on mobile testing by switching to Waldo. Sign up for a free account today and see how!
Tools
Introducing EditKit Pro
It’s been a while since I saw a new Xcode source editor extension! I liked the look of this new one from Aryaman Sharda, and with almost 20 commands, it’s comprehensive!
The article has no download link, but you can grab it free on the App Store.
Code
Arbitrary Beautiful Colors
Surely generating random colours is as simple as three calls to random
assigned to red, green, and blue? Well… technically, yes… But what if you want them to look good together? Maybe you need to look into nature? Soroush Khanlou has a fantastic look at generating random colours.
Creating an XCFramework
What do we do when we find a library implemented in another language we’d like to use in a Swift project? We immediately start re-impleme… 🎉🎉🎉 Wait. No, we don’t. We read Joseph Heck’s article on making a multiplatform binary framework bundle. 💪
The weirdest bug/crash in widgets?
Don’t you hate it when you start your day with a list of 5 things to do, and the first one sends you down a huge rabbit hole and when you look up, it’s Thursday? 😬 Filip Němeček had one of those this week.
Design
Formulas for optical adjustments
I had never heard the word centroid before reading this article from Marc Edwards, but it turns out there is a more scientific way to visually align irregular shapes than “Nudge it a bit left, left more, left more, right a bit. That looks about right!”
Videos
Building Live Activities
How about finishing your week by watching James Warren demonstrate how to build a live activity in 20 minutes? That sounds like a good use of your time to me!
I also enjoyed the question at the end of James’ talk about how building apps for clients rarely extends beyond the experience people get after tapping the app icon. No widgets or other “accessories”, just the app. 😐
Jobs
Senior iOS Engineer @ Mindstone – Mindstone's vision is a world where people get ahead not because of who they know and where they came from, but what they know and their ability to learn. iOS is our most important platform to help millions of people to create a healthy learning habit, building confidence and skills. – Remote (within European timezones) or on-site (United Kingdom)
Senior iOS Engineer @ Polywork – Polywork is a well-funded startup looking for a third iOS developer to join the team. We’re building a modern professional social network that recognizes people as more than their job titles. – Remote (within US timezones)
Senior iOS Native Engineer @ MartianCraft – MartianCraft has been making Mac and later iOS software for discerning clients for nearly two decades. Our team of in house engineers and designers is second to none. As a full-time remote company for more than a decade we understand the needs, requirements, and pitfalls of working remotely. – Remote (within US timezones)
iOS Engineer @ Major League Baseball – Launched in 2001 as the tech arm of Major League Baseball, MLBAM is renown for creating mobile experiences that baseball fans love - and we are just getting started! – On-site (United States in CO or NY) with some remote work (within US timezones)
Are you hiring? You can post any iOS/macOS/Swift job for free over on iOS Dev Jobs. What are you waiting for?
And finally...
You have been a good reader. I have not been a good newsletter. 😊
You probably already read that link this week as it was widely shared, but you may have missed Allen Pike’s excellent explanation of context that causes some of these issues.
Comment
Whenever someone pitches me with an app idea, my first instinct is to ask, “Why can’t this be a website?” I love apps, and there are many reasons to develop them, but many ideas don’t need to be native.
The point where my argument inevitably breaks down is when the person pitching says, “then it sends a notification” … OK, so it does need to be an app. 😬
Or does it?
I was excited to read the announcement on the WebKit blog that Safari on iOS 16.4 will support Web Push and icon badges for apps installed on a home screen. If I’m honest, I wish that restriction didn’t exist, but I’ll take it if it means we get website push notifications. It looks like this was all announced at WWDC last summer, but I must have missed it!
“But Dave, why don’t you love native development?” I can hear you asking. I do! However, it’s rare that apps which only need a small set of native functionality, like push, make the best native experiences. This announcement fills a large gap between a tab in Safari and a full-blown native app, and I’m delighted to see it.
Dave Verwer