iOS Dev Weekly - iOS Dev Weekly - Issue 535

Why wouldn't you add that new feature? It'll only take a minute! 🤷‍♂️
 

iOS Dev Weekly

 
View on the Web    Archives

ISSUE 535  November 26th 2021

Curated
 
Comment

  Comment  

 

I loved this recent tweet from Russ Shanahan, and it inspired me to write about why I agree with him.

I vividly remember when I started feeling this way. It was caused by me regretting rushing something into Curated before we launched. We were deciding the initial feature set, and one feature I had on the list was a sponsorship scheduling system. I had written some thoughts on how it might work, and it was a feature I needed to run this newsletter, but I hadn’t put enough thought into how it’d affect the product. We rushed in a primitive implementation, but I felt uneasy about it as soon as we finished it. I should have put it behind a feature flag and re-thought it after release, but I didn’t. I shipped it.

The reasons I regretted it weren’t all technical either. Yes, it was a fairly rough, half-baked implementation, but it also fundamentally changed the external perception of the product. Instead of primarily seeing it as a tool they could use to make a great newsletter, many people started to see it as a tool to make money. That wasn’t my intention at all. Making money with a newsletter is about so much more than just having a sponsorship scheduling system! 😱 If we had launched that feature more carefully, I think we could have avoided that being the focus.

That experience permanently aligned me with Russ’s thinking, and I now err on the side of caution when releasing features. For example, there are two enhancements to search in the Swift Package Index (#1228 and #1320 specifically) in progress right now. Filtering package search based on metadata and expanding search to include keywords and author results. Both features are working but are disabled in production because they’re not quite right. I held back the metadata filtering feature because even though it works, I wanted people who use it to understand what they’re doing with visual feedback. Same with author and keyword search. It works but currently only matches one author or keyword result and doesn’t support partial matches.

I’m confident that both of those features are good ideas, and you can certainly make the argument that both could ship as is without hurting the product. But I’d much rather enable them with a bit more polish.

It’s not just about what the feature does either. It’s about momentum. Shipping something gives us a dopamine hit, and if you’ve completed the fundamentals of a feature, it can be hard to get motivated to tweak it afterwards when you could move on to something entirely new!

The best time to stop development on a feature is before writing any code, of course. You can also make a good argument that shipping features early for feedback is worthwhile, but there have been more times when I’ve regretted shipping something I wasn’t happy with than regretted not releasing something.

Dave Verwer

 
 

  Sponsored Link  

 

The Essential Guide to Mobile App Quality

Learn about the factors that affect the quality of your iOS app and the costs of releasing low-quality apps. Discover the industry benchmarks you should target and how you can improve your mobile app quality to meet and exceed them. Read it now.

instabug.com

 
 
 

  News  

 

Black Friday Deals for Developers

Last year, I said that linking to this repository created by Marius Landwehr with Black Friday deals for developers was becoming a tradition. This year, as the fourth time I've done it, it's definitely achieved that status!

This year is a little different because the community created the whole page while Marius enjoyed a vacation. That's the sign of a great project!

Get yourself a great deal before they end, and happy thanksgiving to those that celebrate it!

github.com

 
 

  Tools  

 

Adding DocC to an existing swift package

There are some great tips on using DocC in this article from Joseph Heck. Whether you've already started documenting your packages with it or still haven't checked it out yet, you'll learn something.

rhonabwy.com

 

Using Xcode Cloud

I finally got access to the Xcode Cloud beta about an hour ago, so there's no better time for me to read this article from Batikan Sosun, which goes through the basics of getting a project configured to work with the feature.

I'm looking forward to testing it out, but I remain sceptical about Xcode Cloud being broadly successful. I think there will be no better CI/CD system if you have an app that uses only first-party tools and only wants artefacts to go through TestFlight or the App Store, but that as soon as you stray too far from that happy path, it seems like it might run out of steam. I fear that the number of companies able to use it will be pretty small. I'm interested in testing it for myself, though!

devgenius.io

 
 

  Code  

 

Developing a SharePlay Game

It's been about a month since SharePlay launched, and since I asked if anyone had experience working with it. I'm delighted to say that Greg Gardner accepted that challenge and has put together a fascinating article about his experience implementing it in his latest App Store game. Fascinating, and as I expected, full of challenges!

wordpress.com

 

How do Swift actors work, and what kinds of problems do they solve?

I enjoyed this look at actors from John Sundell. It takes a real-world situation where an actor would be helpful, demonstrates the problem, provides a solution, and then reminds us that they are not a panacea! Great article.

swiftbysundell.com

 

Web API Client in Swift

I love this well written and thorough guide to one of the most common tasks when building an iOS app: Interacting with a web API. Alex Grebenyuk uses the GitHub API as an example and makes a modern, async/await enabled API client.

kean.blog

 

Detecting Broken Constraints in Swift

Ever wonder what's happening when your app tells you that your Auto Layout constraints are unable to be satisfied? Bruno Rocha takes his usual look behind the scenes to fill us in.

swiftrocks.com

 

Were unicode glyphs in source code a good idea?

I agree with Nick Lockwood on this.

twitter.com

 
 

  Design  

 

Designing the Finder App Icon with Photoshop

Michael Flarup knows a thing or two about icons, so when he records a video re-creating the Finder icon in Photoshop in ten minutes, it's worth watching. OK? OK. 😂

youtube.com

 
 

  Jobs  

 

Software Engineer @ Runway – We're a team of former mobile engineers, now building a tool that makes mobile teams' lives better. If you're up for changing stacks to build the future of mobile tooling, working closely with awesome mobile teams across the industry in the process, you'll fit right in! – Remote (within US or European timezones)

iOS Mobile Core Engineer @ FAIRTIQ – FAIRTIQ offers a great company culture, and you get the chance to work on the core product and have a real impact. Your co-workers are smart and fun too! And we offer flexible working hours and remote work in the countries where we are based. – Remote (within European timezones)

Lead iOS Developer @ Loop – We believe there are accessible, impactful mental health solutions outside of therapy & medication. We are building just that, starting with a focus on Social Anxiety, a condition with no dedicated solutions impacting some 25 million adults in the US. – Remote (Anywhere)

iOS Engineer @ sengaro GmbH – We offer an exciting position in the heart of the Alps (Innsbruck) with technical responsibility and conceptual refinements of our long-term products. They are used in the medical field by paramedics and doctors to help saving lives every day. Become part of it and support people in emergencies! – On-site (Austria) with some remote work (within European timezones)

iOS SDK Developer @ Stream – You will write and maintain our open-source SDKs that are used by hundreds of our customers and consumed by hundreds of millions of their users. – Remote (within US timezones)

iOS Developer @ Kiva Microfunds – Our organization combines the culture and technological passion of an internet start-up with the compassion and empathy of a non-profit to create impact and opportunity at a global scale. Our team is growing as we pursue exciting new opportunities to create a financially inclusive world. – On-site (United States) with some remote work (within US timezones)

Senior iOS Developer @ Komoot – We love Tech. We love Nature. We work hard to make it easy for everyone to explore the world’s most beautiful places. Today, millions of people explore nature with our apps. Their experiences are what drive us and make us smile every day. – Remote (within European timezones)

iOS Engineer @ Fjorden – We are a small team and you would be our first iOS engineer, next to Florian our CTO. Together we will build & ship our camera app (around 60% done today), and design an SDK other camera apps can integrate to take full advantage of the Fjorden grip. – Remote (within European timezones)

iOS Engineer @ Branch – Branch is on a mission to help working Americans grow financially. We do this by helping companies accelerate payments and empower working Americans with accessible, fee-free financial services. We’re committed to building and delivering more inclusive and transparent financial products. – Remote (within US timezones)

Senior iOS Engineer @ onX – Are you an iOS developer who loves the outdoors? Join onX! If you’re passionate about writing great software, love playing outside, and believe in protecting access to public lands – then join our team, where we empower millions of outdoor enthusiasts to explore the unknown! – Remote (within US timezones)

 

Are you hiring? Let's keep this simple. You should post your job for free over at iOS Dev Jobs.

 
 

  And finally...  

 

What if you didn’t need a realrubber duck to explain your problems to? 🦆

 
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.
 
Shiny Development Ltd. Daresbury Innovation Centre Keckwick Lane Daresbury Cheshire WA4 4FS United Kingdom
 
 

 
 
©2021 iOS Dev Weekly | Privacy Policy | Twitter | Suggest a Link
 
Published with Curated

Older messages

iOS Dev Weekly - Issue 534

Friday, November 19, 2021

Changing business models for your app is really, really hard. ☢️👷☢️ View on the Web Archives ISSUE 534 November 19th 2021 Curated Comment I felt so bad for the Notability developers when they misjudged

iOS Dev Weekly - Issue 533

Friday, November 12, 2021

Want to get involved with the Swift Package Index open-source project? We've made some changes that might help! 💡 View on the Web Archives ISSUE 533 November 12th 2021 Comment All of the open-

iOS Dev Weekly - Issue 532

Friday, November 5, 2021

Just how fast are the new M1 Max and Pro machines at running Xcode anyway? 🤑 View on the Web Archives ISSUE 532 November 5th 2021 Comment The entirety of the Swift Package Index core team (yep, both of

iOS Dev Weekly - Issue 531

Friday, October 29, 2021

We're not entirely done with betas for this year yet! What does Xcode 13.2 have in store for us? 🎁 View on the Web Archives ISSUE 531 October 29th 2021 Comment Two days ago, Apple reminded us that

iOS Dev Weekly - Issue 530

Friday, October 22, 2021

Anyone interested in more WWDC before the year ends? View on the Web Archives ISSUE 530 October 22nd 2021 Comment It's almost time for WWDC! 🎉Wait. What? It's October. What's happening? 🤔

You Might Also Like

Import AI 399: 1,000 samples to make a reasoning model; DeepSeek proliferation; Apple's self-driving car simulator

Friday, February 14, 2025

What came before the golem? ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Defining Your Paranoia Level: Navigating Change Without the Overkill

Friday, February 14, 2025

We've all been there: trying to learn something new, only to find our old habits holding us back. We discussed today how our gut feelings about solving problems can sometimes be our own worst enemy

5 ways AI can help with taxes 🪄

Friday, February 14, 2025

Remotely control an iPhone; 💸 50+ early Presidents' Day deals -- ZDNET ZDNET Tech Today - US February 10, 2025 5 ways AI can help you with your taxes (and what not to use it for) 5 ways AI can help

Recurring Automations + Secret Updates

Friday, February 14, 2025

Smarter automations, better templates, and hidden updates to explore 👀 ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

The First Provable AI-Proof Game: Introducing Butterfly Wings 4

Friday, February 14, 2025

Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? undefined The Market Today #01 Instagram (Meta) 714.52 -0.32%

GCP Newsletter #437

Friday, February 14, 2025

Welcome to issue #437 February 10th, 2025 News BigQuery Cloud Marketplace Official Blog Partners BigQuery datasets now available on Google Cloud Marketplace - Google Cloud Marketplace now offers

Charted | The 1%'s Share of U.S. Wealth Over Time (1989-2024) 💰

Friday, February 14, 2025

Discover how the share of US wealth held by the top 1% has evolved from 1989 to 2024 in this infographic. View Online | Subscribe | Download Our App Download our app to see thousands of new charts from

The Great Social Media Diaspora & Tapestry is here

Friday, February 14, 2025

Apple introduces new app called 'Apple Invites', The Iconfactory launches Tapestry, beyond the traditional portfolio, and more in this week's issue of Creativerly. Creativerly The Great

Daily Coding Problem: Problem #1689 [Medium]

Friday, February 14, 2025

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Google. Given a linked list, sort it in O(n log n) time and constant space. For example,

📧 Stop Conflating CQRS and MediatR

Friday, February 14, 2025

​ Stop Conflating CQRS and MediatR Read on: m​y website / Read time: 4 minutes The .NET Weekly is brought to you by: Step right up to the Generative AI Use Cases Repository! See how MongoDB powers your