Sponsored Link
Launch Scalable iOS Chat In Days With Stream
This tutorial shows how easy it is to use Stream’s scalable chat API & UI components to ship in-app chat in a fraction of the time. Start a free trial now and try out Stream's chat API, SDK and chat React Components. See why Stream powers the feeds and chat for over 500 million end-users.
News
Pick your poison
You may have noticed I don't link to many articles on why you should or should not use a specific architecture in this newsletter. There really is no right answer to the question, and articles on the subject often claim definitively that X is better than Y. I got a little frustrated and have avoided articles like that for several years now. This piece by Rui Peres had me nodding along with every word, he puts these thoughts into words really well.
Tools
BuildSettingExtractor
I first linked to this tool from James Dempsey back in Issue 306. At the time you had to build it yourself from source, but it's now available as a pre-built app. It's still a great idea to use .xcconfig files, and this tool still makes it trivial to get started, so you should check it out if you haven't already!
Code
The Scene Delegate in iOS 13
Reinder de Vries with everything you need to know about scene delegates and adapting your app to run in multiple windows. A new class to take on some of the responsibilities of the app delegate has been needed for a long time, and the scene delegate manages to do that at the same time as giving us more functionality.
Size-Limiting Frames
Programming is the art of endlessly solving the same problems in different ways, with different technologies, right? Scott James Remnant has a fantastic explanation here of some of the subtleties of sizing views in SwiftUI. It's a great article. 👍
Data in SwiftUI: Why another framework?
I liked this series of three articles from Sarun Wongpatcharapakorn. The first two parts (1, 2) set out the problem to be solved and then the third part linked here is a great look at @State
, @Binding
, and the basics of the Combine framework.
macOS Development
A guide to NSButton styles
I remember feeling quite overwhelmed by all the styles that NSButton made available when I first started Objective-C development with my first Mac app. If I remember rightly, figuring out which belonged where was the first time I came across the the HIG! If you've ever wondered what all of the different button types are intended to be used for, Kuba Suder has a great summary of the rules here.
Design
Designing for Catalyst
This is a fantastic article from Vidit Bhargava on building a Catalyst version of LookUp. I love how much thought went into making the app fit with the platform. ❤️ If you're thinking of converting an app, read this.
Business and Marketing
What To Do When You Get Sherlocked By Apple
It's always hard to watch a company or a product get sherlocked, but it's not always the end of the road. There are great lessons to be learned here from Savannah Reising about diversification of revenue sources, developing deeper functionality than might appeal to the masses (which is where Apple focus) and targeting multiple platforms.
Apple’s New Subscription Management Prompt Seems to Be Working
I think we can all agree that the new subscription prompts when deleting an app are a good thing. Are they starting to affect subscription rates though? David Barnard writes about the changes and what kind of apps they might affect most.
No more fine print in Apple's subscription example screenshots
Talking of subscriptions, did anyone else apart from Ryan Jones notice this?
Videos
How to build a UICollectionView like the App Store
Paul Hudson doing a video that isn't about SwiftUI? Oh yes! This is a fantastic guide to the new collection view APIs introduced at this year's WWDC. If you haven't looked at the changes yet, this is a great way to catch up.
Jobs
Senior iOS Engineer @ Cochlear – Take accessibility to the next level by working on iOS apps that control and manage a users’ sense of hearing. Work with custom hardware and a strong focus on device security to build all-native apps that you are proud of. We're looking for someone excited about SwiftUI and Combine, and who cares about great product. Having a passion for test automation would be a bonus! – Sydney, Australia
Senior iOS Developer @ Fresh – We design Apple Award winning apps for startups and enterprise customers like Netflix and Facebook. Join our Swift development team and enjoy flexible work hours from wherever home is. – Remote, or Provo UT
iOS Developer @ Dynamic Signal – Dynamic Signal’s Employee Communication and Engagement Platform is trusted by hundreds of enterprise companies, including more than 20 percent of the Fortune 100, to modernize, streamline, and measure their communication and engagement with one platform to reach all employees, wherever they work. – San Bruno CA
Senior iOS Software Engineer @ pMD – pMD is a fast-growing, highly rated health care technology company rated 5/5 on Glassdoor and has been recognized as a Best Place to Work by SF Business Times, Modern Healthcare, and Inc. We're profitable, have extremely happy customers, and make up a team of people as talented and passionate as you are. We love what we do and care about doing good in the world. – Remote, or San Francisco CA
iOS Developer (Remote) @ komoot – Komoot is changing the way people explore. Our technology empowers millions of people to get outside and discover more of the great outdoors. If you’d like to help to build the future of outdoor exploration - we want you to join us! – Remote
Senior iOS Engineer @ Tally – Tally's goal is to make people less stressed financially and provide full financial automation to every one of our customers, for free. We've raised nearly $100 million in funding and have launched two products: Tally Cards to help people pay down their credit card balances faster, and Tally Save to help people save automatically and earn rewards. – San Francisco CA, or Vancouver BC
Mobile Full Stack Engineer @ Expensify – Expensify seeks a self-driven and collaborative individual passionate about making code beautiful and effective, with a general understanding of and experience in JavaScript, Android and/or iOS SDKs, and mobile design patterns. PHP is a plus, but not a requirement. – London, Portland OR, or San Francisco CA
Are you looking for a new job? Find even more opportunities, right here.
Comment
We're now one month into the general availability of iOS 13, and I must admit that I was expecting the adoption rate to be slower this year. The news of bugs and instability certainly broke through into mainstream media, and plenty of people who wouldn't normally care have asked me whether they should upgrade or not. I didn't expect adoption rates to tank, but I did expect them to be affected.
So, I was surprised to see yesterday that iOS 13 is already installed on well above 50% of devices. MixPanel have graphs available showing >60% adoption, and Apple's support page backs it up with a figure of ~55%. Incredibly, that's actually slightly faster than last year's "record-breaking adoption" of iOS 12, a release that was widely publicised as being extremely stable.
So, do consumers care about stability? I think they do, but I don't think any amount of bad press can counter the years of work that Apple have put into making it harder and harder for end-users to avoid updates.
As third party developers, we should be happy that OS updates are being pushed hard by Apple and adopted quickly by users, but I also hope that Apple really focus on stability over features in the future. I'd love to see them really take advantage of the fact that this year's blip in stability hasn't affected the numbers and return to focusing on reassuring people that it's always safe to install updates when the little red dot appears.
What I hope they don't do is look at these numbers and think that everything was fine this year! I'm pretty confident they won't be doing that though. 🤞
Dave Verwer