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

 
Comment

  Comment  

 

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.

interviewkickstart.com  Permalink

 
 
 

  News  

 

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.

apple.com  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.

microsoft.com  Permalink

 
 

  Tools  

 

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.

danielsaidi.com  Permalink

 
 

  Code  

 

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!

papereditor.app  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.

nilcoalescing.com  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!

swift.org  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. 👍

ptrkstr.com  Permalink

 
 

  Jobs  

 

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)

 Permalink

 

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. 🎉

 Permalink

 
 

  And finally...  

 

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

 Permalink

 
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.
 
 

 
 

RSS

 
©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

💻 Issue 437 - Introducing local Azure Service Bus Emulator

Thursday, November 21, 2024

This week's Awesome .NET Weekly Read this email on the Web The Awesome .NET Weekly Issue » 437 Release Date Nov 21, 2024 Your weekly report of the most popular .NET news, articles and projects

💎 Issue 444 - Why did people rub snow on frozen feet? (2017)

Thursday, November 21, 2024

This week's Awesome Ruby Newsletter Read this email on the Web The Awesome Ruby Newsletter Issue » 444 Release Date Nov 21, 2024 Your weekly report of the most popular Ruby news, articles and

💻 Issue 444 - JavaScript Dos and Donts

Thursday, November 21, 2024

This week's Awesome JavaScript Weekly Read this email on the Web The Awesome JavaScript Weekly Issue » 444 Release Date Nov 21, 2024 Your weekly report of the most popular JavaScript news, articles

📱 Issue 438 - Reverse Engineering iOS 18 Inactivity Reboot

Thursday, November 21, 2024

This week's Awesome iOS Weekly Read this email on the Web The Awesome iOS Weekly Issue » 438 Release Date Nov 21, 2024 Your weekly report of the most popular iOS news, articles and projects Popular

💻 Issue 362 - React Anti-Pattern: Stop Passing Setters Down the Components Tree

Thursday, November 21, 2024

This week's Awesome React Weekly Read this email on the Web The Awesome React Weekly Issue » 362 Release Date Nov 21, 2024 Your weekly report of the most popular React news, articles and projects

💻 Issue 444 - Building simple event-driven applications with Pub/Sub

Thursday, November 21, 2024

This week's Awesome Node.js Weekly Read this email on the Web The Awesome Node.js Weekly Issue » 444 Release Date Nov 21, 2024 Your weekly report of the most popular Node.js news, articles and

📱 Issue 441 - Shift Left Is the Tip of the Iceberg

Thursday, November 21, 2024

This week's Awesome Swift Weekly Read this email on the Web The Awesome Swift Weekly Issue » 441 Release Date Nov 21, 2024 Your weekly report of the most popular Swift news, articles and projects

💻 Issue 439 - Async/Await Is Real And Can Hurt You

Thursday, November 21, 2024

This week's Awesome Rust Weekly Read this email on the Web The Awesome Rust Weekly Issue » 439 Release Date Nov 21, 2024 Your weekly report of the most popular Rust news, articles and projects

📲 Why I Ditched Linux for Samsung DeX — Buy This Instead of a Gaming Headset

Thursday, November 21, 2024

Also: Taking Instagram Stories to the Next Level, and More! How-To Geek Logo November 21, 2024 Did You Know Thurl Ravenscroft was both the voice behind the Christmas song "You're a Mean One,

Ranked | The World's 30 Largest Exporters 🌎

Thursday, November 21, 2024

We show the largest exporters in the world amid a surge in trade restrictions, rising populism, and shipping route disruptions. View Online | Subscribe | Download Our App 5 DAYS LEFT! Learn Visual