Reduce SDK bloat and improve data quality with mParticle
Excess SDKs slowing your app down? mParticle’s Customer Data Platform helps app developers at enterprises and high-growth startups streamline real-time mobile event collection, simplify SDK integrations, and improve data quality for better, faster apps. New open-source tools like Smartype and Data Planning API make it easy to update data plans and ensure proper event collection at runtime.
Installing the macOS Big Sur beta on a new partition
We all agree that installing the first beta of a new macOS on your primary partition is a bad idea, right? But as Daniel Jalkut noticed, the release notes have a little gotcha if you install it on a new APFS volume, rather than on a new partition. I'm happy that Marc Aupont took the time to write up a great guide to getting up and running with the beta safely.
I think it’s safe to say that given the circumstances, this year’s WWDC was a complete success. I lost count of the number of times I saw people compliment Apple on the session videos, especially the fact that they can be of different lengths when there’s no fixed schedule. I feel the same way and feel confident in saying that the videos this year got the information across in a much more engaging way than a “traditional” conference talk.
I also saw several people say they’d be happy if future editions were entirely virtual too. I certainly think there are lots of positive lessons that’ll come out of this year’s event, but I do hope that we haven’t seen the last in-person WWDC.
I know it’s entirely my fault, but I didn’t make as much of this year’s conference as I usually do. I attended several online events, met some new people, and watched a couple of session videos, but I found it hard to take full advantage of the week. The fact that I was sitting at my desk at home meant that what I mostly did this week was… work! 😬 One advantage of being in a physical location for a conference is that it forces you to pay attention and take advantage of what’s happening. I know this is entirely my fault, but I’m sure I’m not alone.
So, let’s get started with this week’s links! I say this every year, but it’s worth repeating. I won’t try to sum up every announcement or cover every new API this week. Not only would that be impossible, but how would I keep you busy for the rest of the summer if I covered everything today? 👍
For almost nine years, this newsletter has been a collection of links that caught my eye during the week. It’s the same this week, and it’ll be the same next week. If we’re lucky, we might be getting close to digesting everything by September. 🤞
Library content providers
Apple has tried several times to make custom controls usable in its visual design tools. First, Interface Builder plugins, then @IBDesignable and friends, and now this. I love that the overhead when creating the control is virtually nothing, so it feels like this one might stick! 👍 Sarun Wongpatcharapakorn has the details.
Sidenote: I forget who created it now, but I remember a set of standard UI controls that had a dark appearance, for use in inspector style windows back in the 10.4/10.5 era that had an IB plugin. The controls were great, but the IB plugin was more trouble than it was worth. Can anyone remember who made them?
Update: Within 5 minutes of publishing, we have an answer! It was BWToolkit from Brandon Walkin. I knew I wouldn't need to wait long. 🚀
Scroll Hitch Rate
In my opinion, scroll smoothness is one of the most critical aspects of whether people will perceive your app as performant. So, I was incredibly happy to see Xcode 12 include a way for you to visualise and test how your apps perform when scrolling. ❤️ There's a little more information on how to activate the feature, but I haven't seen this anywhere else apart from in this tweet from Antoine van der Lee.
How SwiftUI can now be used to build entire iOS apps
The application delegate has been a cornerstone of Cocoa since before the word only meant a chocolatey evening beverage. 🤩 With this year's SwiftUI release, the app delegate is no longer necessary in a SwiftUI app. It's not yet a complete replacement, but it's a sign of where things might be heading in future years. John Sundell takes a quick look.
What’s new in SwiftUI for iOS 14
The most surprising thing about this year's SwiftUI changes is that they were mostly additive! Great news if you adopted early and have existing code, but it also shows what a great job the team did with the API design last year. There were lots of additions though, and Paul Hudson immediately started writing a million new blog posts. 🚀
Building Lists the Modern Way
Did Apple just deprecate table views?! 🤯 Ever since collection views appeared, with none of the "standard" cell fields like
detailTextLabel the design of the table cell API felt a little outdated. It's been possible to use collection views in place of table views for a long time, but this year's changes make that the recommended option. Here's Hesham Abd-Elmegid with a rundown of what's new. I also think that Fernando Bunn might have summed this up in the best way! 😂
Here's Mohsen Alijanpour talking about a topic that has been on my mind recently too. Where UIKit pushed you towards MVC, SwiftUI is completely unopinionated in terms of your application architecture. Even more so with this year's release, where you may also say au revoir to the AppDelegate. Even though the framework isn't opinionated in software architecture anymore, I would like to see Apple give some guidance on architecture. Leaving it completely open is fantastic for those people who are passionate about software architecture, but might be bad for the platform on a broader scale.
Human Interface Guidelines Release Notes
The Human Interface Guidelines are worth reading from cover to cover every time there's a new iOS release, and this year is no different. Even better, this year's new version of the document came with release notes, just in case you had memorised the rest of the document! 😍
Business and Marketing
Changes are coming to the app review process
I'd be surprised if last week's shouting prompted this as Apple doesn't tend to make sudden moves in situations like that. Regardless of why this happened, it's a good step forward:
Additionally, two changes are coming to the app review process and will be implemented this summer. First, developers will not only be able to appeal decisions about whether an app violates a given guideline of the App Store Review Guidelines, but will also have a mechanism to challenge the guideline itself. Second, for apps that are already on the App Store, bug fixes will no longer be delayed over guideline violations except for those related to legal issues. Developers will instead be able to address the issue in their next submission.
The Gentlest of Sherlockings
A good reminder from David Smith that a sherlocking isn't the end of the world. A rising tide lifts all boats. ⛵️
A grid control was widely anticipated in this year's version of SwiftUI, and sure enough, it made an appearance this week. Here's Ben Scheirman with a video showing how to get started with SwiftUI grids. It's nowhere near as flexible as a UIKit collection view, but that's OK. It can do the vast majority of what people actually use collection views for, in a much more approachable way.
Senior iOS Engineer @ Cochlear – Make a difference in the world with the apps you work on. Build apps for cutting-edge hearing implants, with Bluetooth LE connectivity, that allow users to control and manage their sense of hearing. Work with custom hardware and a strong focus on security to build all-native apps that you are proud of. Passion for the latest iOS tech is a must; come help us build great products. – Remote, or Sydney Australia
Senior iOS Developer @ Vessel – Our mission is to provide instant health tracking at home - we launch in August! Our mobile experience needs to be top-notch so we’re hiring a Senior iOS Developer. We are a consumer-facing company focused on creating an incredible UI/UX. We have a lean team of excellent developers that collaborate to create something truly special. – Remote, or San Diego CA
It wouldn't be WWDC without a ukelele, and a song about
Join James for the best way to end this week. As always, it's also supporting a collection of fantastic causes, so please consider a donation. Also, is this the largest number of breakpoints in a single song ever? It might be!
The question of Apple not caring enough about the Mac and macOS has been a frequent topic of conversation for years now, ever since the iPhone started dominating the company’s financials.
They’ve been consistent with their message about how important the Mac is for a long time though. Back as far as 2010, they ran a “Back to the Mac” event as they unveiled iLife ’09 and Tim Cook spent several minutes saying how important the Mac was to their financial performance as a way to reassure people about their commitment to the platform. Craig Federighi also directly addressed the issue of whether iOS and macOS would merge in 2018.
I think this year’s WWDC will silence that conversation, at least for a few years. Yes, there was plenty of news on iOS and watchOS, but this year’s keynote felt like a love letter to the Mac, in both hardware and software.
It wasn’t just the introduction of Apple silicon either. Big Sur is so much of a step forward for macOS that they finally “went to 11”. 🎸 My gut feeling says that the name change might have been a last-minute decision, as the Apple site still had several mentions of 10.16 when the covers came off on Monday, but I don’t think the change of version number is unwarranted. I did like this theory too. 😂
I’ve never felt more confident that the Mac is going to remain more than “a product in the lineup” and that Apple cares about the things that make it unique. If Apple wanted to “lock down” or “cripple” the platform, the move to Apple silicon would have been the perfect time to start moving in that direction. But they didn’t, and I’ve never felt happier about the future of the Mac and macOS.Dave Verwer