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

Edge 391: Autonomous Agents and LLM Function Calling

Tuesday, April 30, 2024

LLMs that invoke external functions, UC Berkeley's LLM Compiler and the Phidata framework. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

China approves Tesla FSD 🚗, GitHub Copilot Workspace 👨‍💻, Mystery chatbot appears 🤖

Tuesday, April 30, 2024

China's government has signaled its blessing for Tesla to roll out its advanced driver-assistance service in the country Sign Up |Advertise|View Online TLDR Together With Dollar Flight Club TLDR

I/O is coming, get ready

Tuesday, April 30, 2024

What's new in Google Play and Android Email not displaying correctly? View it online April 2024 Google I/O program details are now live Google I/O program details are now live Get a sneak peek at

Google and Fisker cut jobs

Monday, April 29, 2024

Plus, Getir exits most markets and real estate investors learn to Backflip View this email online in your browser By Christine Hall Monday, April 29, 2024 Happy Monday, and welcome back to TechCrunch

⌨️ You'll Want One Of These Steam Deck Keyboards — Why I Stopped Trying to Finish Games to 100%

Monday, April 29, 2024

Also: Conditional Formatting in Spreadsheets, and More! How-To Geek Logo April 29, 2024 Did You Know Babies have more bones than adults; as they age, several bones (such as the plates in the skull)

Behind the Product – Miro

Monday, April 29, 2024

Brought to you in partnership with CustomerIQ The AI platform to help teams aggregate, search, and synthesize customer feedback. CustomerIQ aligns teams with insights from channels like CRM notes,

Rapidly responsive... space stations!?

Monday, April 29, 2024

There are scant details as to the mission profile, but I can't help but feel intrigued by this news from Gravitics View this email online in your browser By Aria Alamalhodaei Monday, April 29, 2024

Daily Coding Problem: Problem #1426 [Hard]

Monday, April 29, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Salesforce. Given an array of integers, find the maximum XOR of any two elements.

Code Story - Mar 24

Monday, April 29, 2024

Welcome to the March addition of the podcast newsletter. Please enjoy, and check out any of the episodes you might have missed below. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏

Feature | The Best Visualizations from April on Our New App 📲

Monday, April 29, 2024

See the most popular, most discussed, and most liked visualizations on our new data storytelling app Voronoi from April. View Online | Subscribe At the end of 2023, we publicly launched Voronoi, our