iOS Dev Weekly - iOS Dev Weekly - Issue 496

Is there an alternative to everyone uploading contacts databases to find friends in new apps? 🤷‍♂️
 

iOS Dev Weekly

 
View on the Web    Archives

ISSUE 496  February 26th 2021

 
Comment

  Comment  

 

“Clubhouse” would like to access your contacts.

Knowing what apps do with contact data after issuing a prompt like this, my default answer is no every time I see this prompt. There’s been plenty of criticism of apps that use these prompts over the last couple of weeks, mainly aimed at Clubhouse as they built their entire invitation system around needing databases full of contact data.

I wish Clubhouse (and other apps) didn’t do this, and I tapped no when it asked me. That said, the idea behind this type of feature isn’t a bad one. It’d be great if apps could automatically match me with people I care about or want to interact with. Unfortunately, picking which of the records in my contacts database fit that definition is tough, if not impossible, to automate.

I saw some suggestions that Apple should solve this with a Photos.app style “select which contacts can be accessed” permission, but is anyone going to go through their contacts manually, picking and choosing? I have just under a thousand records in mine from many years of personal+work life, and I bet that’s nothing compared to some people. It’s not practical. Maybe a solution would be to let the permission be on groups rather than individual contacts, but who’s contact database is that well organised? Mine isn’t.

The other popular theory on how to solve this is that Apple should provide an API to hash contact information, allowing apps to match people without getting access to personal information. That’s one of those ideas that feels better and solves one aspect of the problem, but bad situations are inevitable when you match a full contacts database.

I don’t see any solution to this problem that doesn’t need massive and fundamental change to identity and how we map social connections. Smart people have been thinking about this problem for a long time. I remember watching this talk at ETech 2006, more than 15 years ago. 👴 OpenID failed, open social graphs failed, and the walled gardens won, even if that garden is just your contacts database.

The best solution for right now? Don’t ask for contacts permission, don’t attempt to match people, and don’t try to discover connections. That creates a terrible user experience and will never drive that “hockey stick” growth. It’s the only solution that stops other people from uploading my contact information and prevents ugly situations like the one I linked to above. I wish there were a better solution because the problem is real, but I don’t think there is.

I hope you weren’t hoping for a magic bullet in the last sentence… 😬🤷‍♂️😂

Dave Verwer

 
 

  Sponsored Link  

 

Get M1 Mac minis in the Cloud with Scaleway

Get the best macOS Big Sur experience running on the lightning-fast Mac mini M1 for $0.12/hour. Perfect for tackling complex macOS or iOS continuous integration and delivery for distributed development teams. Available now at Scaleway, the cloud that makes sense, complete with integrated IaaS and PaaS offering. Get started in minutes!

scaleway.com

 
 
 

  News  

 

Additional guidance available for App Store privacy labels

I wish this announcement included a little more detail on what has changed, but it's great to know that something changed. It certainly looks like there's an expanded "Additional guidance" section, but it's going to be safest just to reread the whole thing. 📚

apple.com

 
 

  Tools  

 

Remember the Xcode counterpart editor?

This feature was everyone's best friend in the Objective-C days, and with a little hidden defaults tweak, you can make them almost as essential in your Swift projects. What a great tip from Peter Friese!

twitter.com

 

Similar Detritus Not Allowed

I couldn't have predicted that macOS extended attributes would get a mention in this week's newsletter, but thanks to Daniel Jalkut, they do! If you ever receive a weird codesigning error after adding a new resource to your app, this may be the solution. 🚀

indiestack.com

 
 

  Code  

 

Recreating Apple Photos with Compositional Layouts

I mentioned how Filip Němeček was writing plenty about compositional layouts a few weeks ago, but his posts have all been on the theoretical side so far. Theoretical posts are great, but I love when people explain how they put it into practice in a real-world situation, like recreating the Apple Photos UI. Check out the sample code too. 🚀

nemecek.be

 

Hummingbird

Is this the second new server-side Swift framework that I've linked to in February? Yes, it is! This time, it's Adam Fowler's turn to dip a toe in the water and try to create a modular, lighter weight server-side Swift framework.

opticalaberration.com

 

Testing for watchOS Apps

I had seen mention of watchOS testing support in Xcode 12.5 but didn't know the details until I read this post from Jason Zurita. If you read it too, you'll be just as up-to-speed as I am! 😂

jasonzurita.com

 

AppKit is Done

I almost didn't link this because of the clickbait title, but this post from Alex Grebenyuk is worth reading despite it. I'm afraid I have to disagree with the premise that AppKit is done, but it's great to see what's possible with SwiftUI on the platform where it has felt least at home so far.

kean.blog

 

Distributing closed-source frameworks with SPM

What technical challenges will you face if you decide to create a commercial version of an open-source project and distribute it via the Swift Package Manager? Daniel Saidi details the issues he faced when making KeyboardKitPro, the closed-source, commercial version of KeyboardKit. It also makes a good to read if you're curious how he's approaching the business side of this decision.

danielsaidi.com

 
 

  Design  

 

Gradient Generator

Why am I linking to a gradient generator that generates CSS gradients in an iOS development newsletter? It's not a mistake. These are special gradients! 🦄 Read Erik Kennedy's description below the generator to learn about dead zones and why the ones you make never look as good as those you see from other people.

learnui.design

 
 

  Jobs  

 

Senior iOS Engineer @ National Public Radio – This is a unique opportunity to join a dynamic team working to improve our iOS products. – Washington DC

Senior iOS Software Engineer @ TeamSnap – If you find sharing party parrot emojis in Slack amusing, TeamSnap is the place for you. We've been remote since before remote was cool. You'll work on a team with big ideas and tiny egos to develop a product that has been featured by Apple at WWDC (Worldwide Developer Conference) and has 23+ million users. – Remote within the US

Principal iOS Software Engineer @ Tripadvisor – Great opportunity to work with the latest Swift and Swift UI iOS development technology on MVVM architecture. Help drive key architectural discussions and designs leading from the front as a technical authority within the talented iOS team. – Boston MA

Mobile Full Stack Engineer @ Expensify – Join our passionate team of top-notch engineers to solve a real-world problem, and help people spend less time managing expenses and more time pursuing their real goals. As we revolutionize the way people manage their expenses, being part of the Expensify team means building the easiest, fastest, and most efficient platform to automate everything expense-related. – San Francisco, Portland, Michigan, New York, London, or Melbourne

Senior iOS Software Engineer @ Doximity – Doximity, the medical network used by over 70% of US clinicians, is hiring passionate Senior iOS engineers (remote-friendly!). You'll get to be part of an amazing product team and work on an app that is constantly evolving. Use your skills (Swift, MVVM, FRP) to be an integral part of our newly launched telemedicine feature. Apply today! – Remote within the US

Mobile Automation Build Engineer @ Doximity – Come work on a small team, inside a fast growing, largely remote company! In this role, you will maintain the mobile (iOS and Android) CI/CD pipelines, and ensure our app continues to make the lives of healthcare professionals better on a daily basis. – Remote within the US

iOS Engineer @ Turo – Help us build product features that delight guests who book vehicles on our platform and enable hosts with the tools they need to manage their fleet. The iOS team is actively transitioning our iOS codebase from Objective-C to Swift, and we’re learning SwiftUI together–in labs–as we migrate our internal, watchOS, and tvOS apps. It’s really an exciting time to be an Apple-centric engineer at Turo. – San Francisco CA

iOS Engineer @ WillowTree – As an iOS Software Engineer at WillowTree, you’ll influence project outcomes and collaborate with teammates to build amazing products people love. In response to the pandemic, our team members have the option to work remotely. Once it is safe to return, this role will be based in our Columbus, OH office. Non-local candidates are encouraged to apply as we provide relocation assistance. – Columbus OH

Senior iOS Engineer @ WillowTree – As a Senior iOS Engineer at WillowTree, you’ll have the opportunity to impact teammates throughout various stages of their careers. In response to the pandemic, our team members have the option to work remotely. Once it is safe to return, this role will be based in our Durham, NC office. Non-local candidates are encouraged to apply as we provide relocation assistance. – Durham NC

 

Are you hiring? Get your open iOS development positions listed right here by posting a Featured Listing over at iOS Dev Jobs.

 
 

  And finally...  

 

Foundation looks like a great TV series. 😂

 
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 495

Friday, February 19, 2021

Has anyone ever been as wrong as I was last week? 😱😱😱 View on the Web Archives ISSUE 495 February 19th 2021 Comment In my comment last week, I said: I don't want someone else being able to judge

iOS Dev Weekly - Issue 493

Friday, February 5, 2021

Privacy, privacy, privacy. 🕵️‍♀️ View on the Web Archives ISSUE 493 February 5th 2021 Comment It was Data Privacy Day last week, and Apple was all over it. The most significant part of the event was

iOS Dev Weekly - Issue 492

Friday, January 29, 2021

Suggesting links for the newsletter, and continuing to map the Swift and iOS developer community. 🗺 View on the Web Archives ISSUE 492 January 29th 2021 Comment I've been accepting suggestions for

iOS Dev Weekly - Issue 489

Friday, January 8, 2021

Happy new year! 🎊 Shall we do a survey of our community again? 🎉 View on the Web Archives ISSUE 489 January 8th 2021 Comment Happy new year! I hope you all enjoyed a break from work over the holidays,

iOS Dev Weekly - Issue 487

Friday, December 18, 2020

Is it time to say goodbye to 2020 yet? Or should we pause a second and find something good about it before it departs? 🤔 View on the Web Archives ISSUE 487 December 18th 2020 Comment I think it's

You Might Also Like

Is there more to your iPhone?

Monday, November 25, 2024

Have you ever wondered if there's more to your iPhone than meets the eye? Maybe you've been using it for years, but certain powerful features and settings remain hidden. That's why we'

🎉 Black Friday Early Access: 50% OFF

Monday, November 25, 2024

Black Friday discount is now live! Do you want to master Clean Architecture? Only this week, access the 50% Black Friday discount. ​ Here's what's inside: 7+ hours of lessons .NET Aspire coming

Open Pull Request #59

Monday, November 25, 2024

LightRAG, anything-llm, llm, transformers.js and an Intro to monads for software devs ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Last chance to register: SecOps made smarter

Monday, November 25, 2024

Don't miss this opportunity to learn how gen AI can transform your security workflowsㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ elastic | Search. Observe. Protect

SRE Weekly Issue #452

Monday, November 25, 2024

View on sreweekly.com A message from our sponsor, FireHydrant: Practice Makes Prepared: Why Every Minor System Hiccup Is Your Team's Secret Training Ground. https://firehydrant.com/blog/the-hidden-

Corporate Casserole 🥘

Monday, November 25, 2024

How marketing and lobbying inspired Thanksgiving traditions. Here's a version for your browser. Hunting for the end of the long tail • November 24, 2024 Hey all, Ernie here with a classic

WP Weekly 221 - Bluesky - WP Assets on CDN, Limit Font Subsets, ACF Pro Now

Monday, November 25, 2024

Read on Website WP Weekly 221 / Bluesky Have you joined Bluesky, like many other WordPress users, a new place for an online social presence? Also in this issue: CrawlWP, Asset Management Framework,

🤳🏻 We Need More High-End Small Phones — Linux Terminal Setup Tips

Sunday, November 24, 2024

Also: Why I Switched From Google Maps to Apple Maps, and More! How-To Geek Logo November 24, 2024 Did You Know Medieval moats didn't just protect castles from invaders approaching over land, but

JSK Daily for Nov 24, 2024

Sunday, November 24, 2024

JSK Daily for Nov 24, 2024 View this email in your browser A community curated daily e-mail of JavaScript news JavaScript Certification Black Friday Offer – Up to 54% Off! Certificates.dev, the trusted

OpenAI's turbulent early years - Sync #494

Sunday, November 24, 2024

Plus: Anthropic and xAI raise billions of dollars; can a fluffy robot replace a living pet; Chinese reasoning model DeepSeek R1; robot-dog runs full marathon; a $12000 surgery to change eye colour ͏ ͏