Issue 601
17th March 2023
Written by Dave Verwer
Comment
It doesn’t all need to look the same.
I’m sure I’m not the only person mildly frustrated by apps where it’s instantly obvious that the Android app looks identical to the iOS one at the cost of platform fit on both platforms¹. That topic has been discussed to death, and I’m not going to go there, but David Smith’s post on a watchOS design conundrum this week made me consider something more subtle.
You should read the whole post, but the gist is that he ended up tweaking the positioning and spacing of how a UI element looked for every different watch size. It’s a beautiful demonstration of meticulous attention to detail. In isolation, everything appears to be in just the right place in every screenshot, and because of that, an untrained eye may not even see differences. In reality, there are reasonably significant details that change on each device.
You probably won’t have to go to this level of customisation very often, but It’s worth remembering that consistency is only important for things the same person will see regularly. With David’s watch designs, every person (apart from David) is only ever going to see one version of that rounded rectangle and will never know that other versions exist, and that’s worth bearing in mind next time you’re trying to make an app layout work across a range of device sizes.
¹ There are plenty of good reasons to make a cross-platform app, and it’s the correct choice in many cases. I also understand that cross-platform design is often a consequence of that decision. But I do notice it.
Dave Verwer
Sponsored Link
Join a FREE iOS Architect Crash Course for a limited timeIf you’re a mid/senior iOS developer looking to improve both your skills and salary level, join this free online crash course. It’s available only for a limited time, so get it now.
News
Online Developer WorkshopsI wasn’t aware these were happening, but Apple is running some online developer workshops. Covering topics like widgets, app performance, and making UIKit and SwiftUI work well. They’re live, code-along events and run for the next month or so in UK/European time zones.
Note: I noticed that if you’re not logged in to the developer site already, the link will lose the search term for these events once you log in. So either click the link, then log in and click the link again or search for “Apple Online Developer Workshop“ after getting to the events page. I wish this link didn’t need a tutorial! 😂
Code
SVG to SwiftUI ConverterI found this tool via Michal Tynior’s post on recreating the Macintosh “hello” in SwiftUI. The tool, created by Antoni Silvestrovič, takes SVG code and turns it into a SwiftUI Shape
. It might come in handy if you want infinitely scaleable images in your app, or if you want to turn them into animations, as with the “hello” example.
Building Large Scale Apps with SwiftUI
I’m not going to try to summarise this post from Mohammad Azam, but I will say is that it is comprehensive and looks to have come together over an extended period of learning from multiple sources, which is always a good sign. You may remember that I’m not a big fan of linking to “this is how you do your architecture” posts, as I don’t think there’s a single good answer, but resources like this are worth a look. 👍
RequestDL
I keep saying that every problem does not need a ResultBuilder
, and yet I keep coming across example after example where they make sense, like this new package from Brenno De Moura for making network requests more readable!
Quick unit testing tip for optionals
This is a great reminder from Natascha Fadeeva that if you’re not already using XCTUnwrap
in your tests, that you should be. 👍
Business and Marketing
Postmortem of an app launchIf you take only one thing away from Ben Dodson’s article, make it this:
I’m not sure if it’s the Englishman in me or something else but I absolutely hate having to email people saying “please look at my app” followed by the waiting and hoping that somebody will feature it.
You must email people/blogs that you want to write about something you’ve made. The review sites want to hear about what you’ve done. It’s no guarantee that they’ll write about it, but you increase your chances by orders of magnitude.
Jobs
SwiftUI and TCA Developer @ MFB Technologies, Inc. – We make Align, an enterprise platform used by top trial lawyers. Looking for a motivated dev to join our iOS team and help us add new features and integrations to our iPad client. The client app is written entirely in SwiftUI using The Composable Architecture (TCA) framework. U.S. residents only. – Remote (within US timezones)
Tech Lead @ Learn Chess with Dr. Wolf / Chess.com – Millions of students have learned chess from the kind and patient Dr. Wolf. “Learn Chess with Dr. Wolf” started as an indie labor of love. With your creativity, dedication and attention, we can bring the joy of chess and learning to many more people. – Remote (within US or European timezones)
Don’t forget that more jobs are available at iOS Dev Jobs. Sign up for the weekly jobs digest email, grab the iOS or macOS app, and never miss an opportunity again.
And finally...
Hey Siri, use ChatGPT. 🤖