iOS Dev Weekly - iOS Dev Weekly - Issue 653

We stand on the shoulders of so many giants that it's hard to see beneath the clouds! ☁️

iOS Dev Weekly

View on the Web    Archives

ISSUE 653  March 22nd 2024




Watching this video from Daniel Leivers demonstrating his master’s dissertation this week set me thinking.

What Daniel has built is clearly impressive. You can sketch UI with your iPad’s pencil and see real interactive UI or Swift code appear alongside it. The app uses a model created from sketched UI components fed into the yolov5 algorithm and converted to a CoreML model to generate code from the identified UI components. It’s a good idea and makes a fantastic demo. If you’re interested in reading his dissertation, it’s available here.

I took a couple of things away from Daniel’s video. With all the light shining on GPT and LLMs at the moment, it’s easy to forget that CoreML is still capable of building amazing features like this. It’s also easy to think that AI means “running in the cloud” with how resource-intensive LLMs are, but this all runs locally.

But more significantly, his video set me thinking about progress. Thinking back to my own final year project that made up part of my software engineering degree that I completed in 1996, 28 years ago. I created an HTML editor using Borland Delphi 1. Remembering what my app did, it seems almost comical. It did not have an integrated browser preview, syntax highlighting, auto-completion, auto-indentation, or any number of other features that would be table stakes for even the most basic code editor today. To give you an idea, it was a slightly less capable version of something like this. I was still proud to complete it, though, as I am sure Daniel is proud of his project.

But still, I stood on the shoulders of giants to create my little 16-bit text editor, and so did Daniel with his remarkable iPad app. There are obvious dependencies like the machine learning algorithms and CoreML, but there are so many more that you might not immediately consider. Think about some of the more “mundane” parts of his app. How difficult would it have been to implement the sketching functionality without PencilKit? Not to mention technologies like SwiftUI, UIKit, the Swift language, Foundation, and even Darwin!

I don’t say this to undermine the amount of work Daniel did on his project. I want to celebrate the amazing technologies and development environments we have access to today that make projects like this possible as dissertations.

We truly do stand on the shoulders of giants I stood on the shoulders of the giants that created Borland Delphi, HTML, and the web back in 1994 and Daniel stands on countless researchers and computer scientists that made his project possible. One of the things I love about this industry is that even if we build an app in a team of one, we’re not working alone. Whether open or closed source, the APIs that others create are constantly pushing the industry forward and it’s a huge part of why it’s one of the fastest-paced industries that exist. I find it incredibly inspiring.

Dave Verwer  Permalink


  Sponsored Link  


Nail the toughest tech interviews

Get trained by tier-1 instructors with individualized coaching and 1:1 sessions, mock interviews, and personal feedback. Register now for the next Interview Kickstart webinar and nail your next interview.  Permalink




Provide your trader status in App Store Connect

You probably received an email yesterday telling you to add your “trader status” to App Store Connect. The legal definition of a trader is hard to parse, but I think RevenueCat’s attempted definition is reasonable:

If you make money with your app, probably.

Many people are upset about needing to provide an address and phone number that will be public, but don’t think it’s unreasonable. Maybe it’s because I’m used to needing to have a public business address in the UK, but I don’t have a problem with the EU requiring businesses not to be anonymous. If you’re on an individual account, it’s trickier, but if you’re making money then you might be about to cross that line to becoming a business. There are good tips on avoiding exposing your personal address in the RevenueCat article for those based in the US, so I’d recommend reading that.

Note: RevenueCat are a sponsor of this newsletter, but I am including this link here not as part of any sponsorship, but as it contained by far the clearest explanation I found about all this.  Permalink


Visual Studio App Center Retirement

I’m sad to see the retirement of Microsoft’s App Center as it means the end of the timeline for HockeyApp, which was always my favourite way to distribute apps for testing before Apple released their integration of the competing TestFlight service¹. The retirement makes perfect sense, of course, since both Apple and Google have fantastic pre-release distribution systems, and Microsoft gives details of other services that people can use for the other pieces of functionality it had. I was sceptical but also hopeful when the acquisition happened, but it turned out much better than expected. I doubt many of you were using App Center in 2024, but I link to this announcement mainly because I want to give one more link to HockeyApp. 🫡

¹ One of the rare occurrences where Apple purchased a company and didn’t rebrand it. There are others, like Siri, Beats, and Shazam, but they are few and far between.  Permalink




How to link to native type extensions in DocC

Daniel Saidi on DocC in Xcode 15:

While DocC was already great, Xcode 15 made it even better. You can now use metadata to describe your pages, create interactive tabs and grids, and much more.

He goes on to explain one of the biggest features in this year’s DocC release, support for documenting your extension methods.  Permalink




Nerdy internals of an Apple text editor

I enjoyed Mihhail Lapushkin’s write-up on creating a TextView-based editor. He tackles lots of background and high-level details in his first article and moves to the technical side of things in the second part. Both are very well-written and illustrated, and I’d recommend checking them out!  Permalink


Sending trial notifications with provisional authorization on iOS

As Natalia Panferova explains in this article, “provisional” push notifications are a powerful way to show your users that your app can provide useful information via push before without needing any opt-in from users at all. This doesn’t use a new API, it was introduced with iOS 12, but I don’t see enough apps taking advantage of it.  Permalink


Complementing Unit Tests with Performance Checks

We’ve all probably run some kind of benchmark against a piece of code we’ve written at some point, but I bet most of them get thrown away once we reach the point of “Yep, it’s good enough!”

How about if we made that benchmark a part of our test suite, so we know if it regresses? Joakim Hassila believes that would be a good idea, and made a package to make it easier!  Permalink


Guide to Naming SwiftUI Components

This is a great tip on naming SwiftUI components, and a great example that not all blog posts need to be epic! Useful is useful. 👍  Permalink




iOS Engineer @ trivago – trivago, a metasearch engine using real-time auction and petabytes of data, enables millions of travelers compare hotel prices from hundreds of booking sites. Based in Düsseldorf, we foster a culture of learning and innovation, embracing flexibility for our talents to shape the travel industry. – On-site (Germany) with some remote work (Anywhere)

Senior iOS/macOS Developer @ Paste – Joining Paste means crafting impactful, user-focused products alongside a team that values innovation, flexibility, and a culture of collaboration. Dive into projects that push the boundaries, enjoy freedom in how you work, and help shape the future of productivity tools. – Remote (within European timezones)



If you’d like to see your job featured in iOS Dev Weekly, post it on iOS Dev Jobs and select “Featured listing” as you check out, and it’ll be in next week’s newsletter. 🎉



  And finally...  


You thought you had a tough debugging problem? Think again!


You received this email because you subscribed via the iOS Dev Weekly site.
We'll be sorry to see you go but you can unsubscribe instantly.
iOS Dev Weekly is published by Verwer Services Ltd. with a registered office at 5 Albert Road, Southsea, Hampshire, England, PO5 2SE.



©2024 iOS Dev Weekly | Privacy Policy | Mastodon | Suggest a Link
Published with Curated

Older messages

iOS Dev Weekly - Issue 652

Friday, March 15, 2024

We all make mistakes, but I just show 50000 people my mistakes 🫣 View on the Web Archives ISSUE 652 March 15th 2024 Comment I received two types of emails in response to last week's introductory

iOS Dev Weekly - Issue 651

Friday, March 8, 2024

How do you make a software developer deeply suspicious? Have them turn on a feature they expect to show errors but produce none! 😂 View on the Web Archives ISSUE 651 March 8th 2024 Comment Swift 5.10

iOS Dev Weekly - Issue 650

Friday, March 1, 2024

Tell me again about your new app idea… 😴 What's that? Sorry, I dropped off for a second 💤 View on the Web Archives ISSUE 650 March 1st 2024 Comment People often ask me about a new app idea they

iOS Dev Weekly - Issue 649

Friday, February 23, 2024

Platform fit? What kind of platform is it, and where are you trying to make it fit? 🫣 View on the Web Archives ISSUE 649 February 23rd 2024 Comment I know it's possibly a less popular opinion

iOS Dev Weekly - Issue 648

Monday, February 19, 2024

Have you ever wanted to learn SwiftUI with a focus on how the layout system works? 💭 View on the Web Archives ISSUE 648 February 16th 2024 Comment Did you see Chris Eidhof's announcement of The

You Might Also Like

Power BI Weekly #253 - 9th April 2024

Tuesday, April 9, 2024

Power BI Weekly Newsletter Issue #253 powered by endjin Welcome to the 253rd edition of Power BI Weekly. A couple of announcements this week. One of them has probably made itself apparent to those of

Microsoft employees did it

Tuesday, April 9, 2024

Microsoft employees opened the door View this email online in your browser By Christine Hall Tuesday, April 9, 2024 Good afternoon! In today's TechCrunch PM, we learn what caused a Microsoft breach

📲 Forget Google, Samsung's Stock Apps Are Pretty Great — Why I Prefer Linux Over Windows

Tuesday, April 9, 2024

Also: Google One Should Copy Apple One, and More! How-To Geek Logo April 9, 2024 📩 Get expert reviews, the hottest deals, how-to's, breaking news, and more delivered directly to your inbox by

Inline Dependencies, pipx, Multiplying Sequences, and More

Tuesday, April 9, 2024

Install and Execute Python Applications Using `pipx` #624 – APRIL 9, 2024 VIEW IN BROWSER The PyCoder's Weekly Logo Install and Execute Python Applications Using pipx In this tutorial, you'll

Daily Coding Problem: Problem #1407 [Medium]

Tuesday, April 9, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Mailchimp. You are given an array representing the heights of neighboring buildings on a

Charted | Visualizing the Growth of $100, by Asset Class (1970-2023) 📈

Tuesday, April 9, 2024

In this graphic, we show asset class returns across US equities, bonds, real estate, gold and cash since 1970. View Online | Subscribe Presented by: Your golden opportunity awaits. Learn more about

Noonification: AI and the Problem of “Knowledge Collapse”

Tuesday, April 9, 2024

Top Tech Content sent at Noon! Get Algolia: AI search that understands How are you, @newsletterest1? 🪐 What's happening in tech this week: The Noonification by HackerNoon has got you covered with

We're live

Tuesday, April 9, 2024

AI Demo Day just started ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

⚙️ DJ's 💀

Tuesday, April 9, 2024

Plus: Disharmony in the Google AI ranks... ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

Everything announced at Google Cloud Next '24

Tuesday, April 9, 2024

5 maintenance Linux commands; Sennheiser's new earbuds; Best home battery -- ZDNET ZDNET Tech Today - US April 9, 2024 placeholder Google Workspace gets new generative AI features, including an AI-