Did you notice that yesterday was Global Accessibility Awareness Day? Apple certainly did, and they had a huge banner across their home page linking to a marketing site for the accessibility features of iOS.
So, why not take up Duncan Babbage's challenge to himself, and you to create the most accessible app possible over the next 12 months?
I really like that Duncan's challenge is set over a year rather than a shorter time period. Accessibility isn't something you do once and then forget about, and over the course of this challenge it will hopefully just become part of what you think about as you develop software. Get started here with Apple's accessibility documentation.
I saw John Siracusa's tweet during the keynote, but I was (of course) watching the announcements and so I didn't investigate why he tweeted it and just kept scrolling. Now it all makes sense after he talked about it on this week's episode of ATP.
The "It's Road Trip" slip up has always been a favourite of mine, mainly because that tiny autocorrect mistake that any one of us could have made then gets blasted all over a video for the next several minutes (this bit especially makes me laugh). 😂I also love that they fixed it before publishing the official video. It's fantastic to see Apple make a cheeky reference to it like this. ❤️
Is this the longest explanation ever accompanying an "And Finally..." link? 😀
Foundation Package Preview Now Available
First announced late last year, Apple has now published a preview of the open-source Foundation package, and this post from Tony Parker outlines the current state and next steps for the project.
They plan to focus on quality and performance first, then:
As a secondary goal, the project requests community proposals to add new APIs with focused scope to round out existing API functionality in Foundation. This will pave the way to explore how to add significant new APIs as the project progresses. In 2023, we aim to accept a small number of proposals with corresponding Swift implementations.
This is a great step for Swift and the whole ecosystem. It must have taken a lot to make this happen. 🚀
How is it nearly the end of 2021 already? More importantly, how has it been a worse year than 2020 was? 😬
As depressing as the real world is at the moment, it has been a good year in the Apple development world. This year’s iOS and macOS releases have been great, there’s never been a better time to make your first steps into SwiftUI, and there are no better machines to do it on than the new M1 Pro and Max machines.
It’s also been a significant year for this newsletter, with the 500th issue in March and the tenth anniversary in August. iOS Dev Jobs also had a major relaunch in August, including native iOS and macOS apps. Finally, the Swift Package Index has gone from strength to strength this year, with usage increasing every month and a mention in a WWDC talk! Every time I see someone use or mention it, it warms my heart, and we have great hopes and plans for it in 2022.
So, even if it’s been a rough year, it has certainly been a fruitful one, for me at least. I hope it’s been as productive for you all.
As always, thank you for staying subscribed for another year and for your kind and thoughtful feedback after every issue. Next week, I’ll be taking my usual holiday break, followed by a “best of And finally…” that will land in your inboxes on the 31st December. Regular service will resume on 7th January 2022.
Happy holidays to you all, and let’s all wish for a fantastic year next year!
There's one rule in the App Store Review Guidelines that has never been taken seriously by Apple:
4.5.4 Push Notifications must not be required for the app to function, and should not be used for advertising, promotions, or direct marketing purposes or to send sensitive personal or confidential information. Abuse of these services may result in revocation of your privileges.
By it's very nature this guideline is impossible to enforce during app review. But apps that break the guideline once they are in the App Store are also seemingly never punished for it, at least I've never heard of it happening. Worse, Apple also break this rule themselves and this week saw more notifications go out from the company promoting Carpool Karaoke and Apple Music.
It's ridiculous that this part of rule 4.5.4 still remains in the guidelines. Apple should either get rid of it and accept that push notifications will be used for promotion, or my preference would be to really enforce the rule and implement punitive measures for apps that are reported as breaking this rule. Step one of that is for Apple to stop doing this themselves.
Rant over. But as with all good rants about Apple, this one ends with a radar number! 😀
As this year draws to a close it's time for my regular week off next week! However, I have had an idea for something which you may enjoy and so I'm not going to take my break this year. Don't expect a normal issue though, it's not going to be that.
I hope you all enjoy seeing family and friends over the next week and I wish you all happy holidays! 🍾🎄
Senior iOS Engineer @ Fi – Fi is reinventing the relationship between dogs and their humans by providing dogs more freedom and their owners peace of mind through the Fi Smart Dog Collar. We're working hard to push pet tech forward by building amazing hardware and software, all in a dog friendly office. Come join our veteran team that hails from Nest, Square, Google, MakerBot, FourSquare, and Canary. – New York, NY
Senior iOS Engineer @ Resy – At Resy, we are tackling hard problems with elegant solutions and scaling very quickly. As an iOS Engineer, you'll be a crucial player in taking our product to the next level. We're seeking ambitious coders who are eager to build out exciting features for our restaurant partners and diners. You thrive in a dynamic and evolving environment and you're excited about tech and hospitality. – New York, NY
Senior Software Engineer iOS @ Dataminr – This is an opportunity for you to own our mobile product, help us upgrade to Swift, and influence our technical strategy. You'll also mentor junior engineers and help our team scale as we build products with global impact. See how the UN uses our real-time alerts to react faster in crises and keep their people safe around the world. – New York, NY
Mobile Software Engineer @ Diamond Kinetics – Do you love baseball? Join Diamond Kinetics to build iOS apps that are revolutionizing the sport of baseball. Work on cutting-edge baseball technology with our Bluetooth-enabled baseballs and swing sensors that put deep baseball analytics in every coach’s pocket. – Pittsburgh, PA
iOS Engineer @ Muse – Muse is a thinking canvas on your iPad. It brings together your notes, PDFs, and photos into a single, fluid space. We're seeking one engineer to join our all-remote team of four. Come show the world how powerful the iPad can be for creative work. – Remote
iOS Engineer @ Lickability – Lickability is a small software studio in NYC building iOS apps with clients. At Lickability, you’ll have the opportunity to work side-by-side with teammates, participate in architecture and project-planning discussions, and contribute to our company style guide so we can keep getting better at what we do. Join a team focused on building delightful apps! – New York, NY
Senior iOS Developer @ 1 Second Everyday – Join a diverse team that's working on the next, privacy first, social network. 100% remote. Award winning product, profitable since day 1, and backed by impact-focused investors. – Remote
iOS Engineer @ Karbon – Join our dedicated, all-remote agency and help us build amazing iOS apps for amazing clients. We've spent the past 10 years helping companies ship apps to millions of users—join us as we focus on the next 10 years. – Remote or Portland, OR
Senior iOS Developer @ Mindgrub – As a Senior iOS developer at Mindgrub, you will be given the opportunity to work with industry-leading professionals on a variety of native and cross-platform apps. The culture is collaborative, fast-paced, and fun. Apply today. – Baltimore, MD
iOS Developer @ Shape – If you are passionate about making state-of-the-art iOS apps, why not work together with some of the best designers and developers who share this passion? You will work together with other smart iOS developers in a fun and relaxed environment at our offices in Copenhagen. We also like to host social events, morning runs (and swims), Friday bars, board game nights, LEGO days and much more. – Copenhagen, Denmark
Senior iOS Developer @ Albus – Join us to work on modern apps (Swift and iOS 12 minimum) used by thousands of medical professionals everyday. Our management is composed of mobile experts whose product's vision takes the technical aspects in consideration. Your voice will be heard at every step (technical, UX, design...). Get the best of both worlds by working in a small modern team inside a stable and growing company. – Nantes, France
Lead Application Engineer @ LiveSurface – Build the next generation of LiveSurface products with a focus on SwiftUI, Combine and the newest Apple frameworks. LiveSurface is an industry leader in visualization and image creation tools for creatives. We blend clean UX, proprietary rendering technology and hand-curated content to provide realtime photorealistic visualization to our users. – Remote
Senior iOS Engineer @ Fi – Fi is reinventing the relationship between dogs and their humans by providing dogs more freedom and their owners peace of mind through the Fi Smart Dog Collar. We're working hard to push pet tech forward by building amazing hardware and software, all in a dog friendly office. Come join our veteran team that hails from Nest, Square, Google, MakerBot, FourSquare, and Canary. – New York, NY
Senior iOS Engineer @ Resy – At Resy, we are tackling hard problems with elegant solutions and scaling very quickly. As an iOS Engineer, you'll be a crucial player in taking our product to the next level. We're seeking ambitious coders who are eager to build out exciting features for our restaurant partners and diners. You thrive in a dynamic and evolving environment and you're excited about tech and hospitality. – New York, NY
Senior Software Engineer iOS @ Dataminr – This is an opportunity for you to own our mobile product, help us upgrade to Swift, and influence our technical strategy. You'll also mentor junior engineers and help our team scale as we build products with global impact. See how the UN uses our real-time alerts to react faster in crises and keep their people safe around the world. – New York, NY
Mobile Software Engineer @ Diamond Kinetics – Do you love baseball? Join Diamond Kinetics to build iOS apps that are revolutionizing the sport of baseball. Work on cutting-edge baseball technology with our Bluetooth-enabled baseballs and swing sensors that put deep baseball analytics in every coach’s pocket. – Pittsburgh, PA
iOS Engineer @ Muse – Muse is a thinking canvas on your iPad. It brings together your notes, PDFs, and photos into a single, fluid space. We're seeking one engineer to join our all-remote team of four. Come show the world how powerful the iPad can be for creative work. – Remote
iOS Engineer @ Lickability – Lickability is a small software studio in NYC building iOS apps with clients. At Lickability, you’ll have the opportunity to work side-by-side with teammates, participate in architecture and project-planning discussions, and contribute to our company style guide so we can keep getting better at what we do. Join a team focused on building delightful apps! – New York, NY
Senior iOS Developer @ 1 Second Everyday – Join a diverse team that's working on the next, privacy first, social network. 100% remote. Award winning product, profitable since day 1, and backed by impact-focused investors. – Remote
What a fantastic WWDC! This is my first time in San Jose so it's been really interesting to see how different things are here compared to San Francisco. From my perspective, I love it! The show and all the surrounding activities fit so much better here and I feel like I've run into many more people just because the scale of everything is a little smaller. Oh and the scooters are 💯💯💯!
Talking of running into people, thank you so much if you came up and talked with me this week! If you're still here I'll be around all day today so please do feel free to stop me if you see me. Also, be careful or I'll sneak into your photos! 😂
So, on to the announcements. I've spoken to several people who expressed disappointment about the lack of a "wow" feature on stage (although I'd say Siri Shortcuts pretty much counted as wow for me), but I really don't see it that way. What we did get was a whole load of smaller features and refinements and nothing that should distract us too far from spending the next 12 months building amazing apps.
I won't name specific technologies, but think back to previous years where a huge new "wow" feature or a new type of app was introduced. We then spend the next 3-9 months furiously implementing them, only to find out that it didn't really bring any more success or revenue in the long run. I feel like this year Apple is saying "You've got great tools and APIs to make apps, we'll concentrate on making the core operating system better, you go do the same for your apps". I like that, and you'll be grateful of it when the new, paradigm shifting, Metal rendered, holographic UI framework requires us to re-implement everything next year. 😂
Of course, I also want to talk about Marzipan but before I do I want to give a little advice to Apple. If you don’t give UIKit on macOS a name, quickly it’s going to get called Marzipan for the rest of time. It may already be too late! 😀
I've seen some confusion around Craig's use of the big NO slide that iOS and macOS are not merging, and then previewing UIKit apps running on macOS. To me, this makes perfect sense and it's how I always hoped it would be done. Let's bring some of the tools and techniques to macOS that we've been enjoying on iOS. This is UIKit, but it's not iOS. I'm also glad to see enhancements to AppKit at the same time. This is not (yet?) a replacement, but a compliment. I like it. It's also a really great sign that this is being used internally.
Wrapping up, I can't skip the improvements to Xcode. Again, there's nothing revolutionary here but there are some great smaller changes and the source control change bar is especially impressive.
I also can't finish this without raising a glass to "Bug fixes and other improvements" which will no longer pass for release notes unless that is only what the release contained. This'll cause problems for some (larger) companies, but will be better for users. Here's to you, useless release notes! 🍷
But Dave, what about all the other stuff from this week? What about the new App Store Guidelines, the Swift 5 delay, ARKit 2.0 or the oodles of ML related announcements and improvements, or the fact that iTunes Connect is being rebranded to App Store Connect and now has an official API and TestFlight invite links! 😱 Yes, there's a lot I didn't talk about up here and you won't find coverage of these things down below either. However, we have 3 months to cover everything important before the official releases. There's still time... 👍
What a week, I love this event and this community.
iOS Trainee Program @ The App Academy – Ready for the next step in your career? Become a highly skilled iOS developer in Amsterdam, The Netherlands. Apply for the iOS Trainee Program at The App Academy. Limited spots available, so act now! – Amsterdam, NL
Accessibility Software Engineer - Hearing @ Apple, Inc. – Are you interested in making the world a better place? Do you want to help influence and create some of Apple’s most important products? Our team, iOS Accessibility Software Engineering, is looking for a talented engineer who can contribute directly to our hearing focused accessibility products, including Made for iPhone Hearing Aids, Live Listen, Real-time Text Support and more. – Cupertino, CA
Senior iOS Engineer @ Citizen – Citizen is a global safety network used by more than 10% of New York. In the past few months, we’ve rolled out to SF, LA, Baltimore, and Philadelphia and despite being in only 5 cities we are consistently a top-10 News app. We’re people from Instagram, Tesla, Google, and the NYPD who came together to build tech to help people. Curious about helping scale Citizen to millions of users? Let's chat. – New York, NY
iOS Engineer @ Chegg – "Chegg is one of the best teachers I’ve ever had" These are not our words, but the words of Victoria, one of our students. We're reimagining the learning experience in 2020 and we're looking for an iOS engineer to join a new team to build Chegg's next learning platform. You'll also be part of our iOS guild of a dozen engineers passionate about being better iOS devs. – Rehovot, Israel
iOS Developer @ Transit – Bright, light-hearted coworkers. The cutest rooftop in Montreal. We’re a team of app-wielding urbanists creating the vaccine to eradicate car ownership: Transit. We bring better real-time data (and smarter trip plans) to hundreds of cities, spanning public transport, bikeshare, scooters, and other shared modes. We keep millions of cars off the road — and lure more people to sustainable options. – Montreal, Canada
Senior iOS Engineer @ Octi Inc. – We are the next great platform for AR. We have all of our own patented custom tech and have been backed by the best product investors in the world. – Los Angeles, CA
iOS Chapter Lead @ Babylon Health – We're looking for iOS Chapter Lead to join one of the most disruptive and socially conscious AI start-ups around. – London, UK
Senior Software Engineer (iOS) @ Capital One – At Capital One, the iOS platform is recognized as an opportunity to reach our customers in unique, personal and engaging ways. Nothing is off limits as we explore exciting ways to take advantage of the full ecosystem of iOS devices including Apple’s Watch, TV and whatever future developments Apple creates. – Mclean and Richmond, VA
Lead Software Engineer, Senior Manager (iOS) @ Capital One – As a Team Lead, you will drive design, implementation, testing, and devops in an Agile environment, using modern methodologies, and open source tools. You’ll be empowered to choose the way you work (Mac or PC, iPhone or Android). You will bring solid experience in designing and delivering software applications, and lead teams that are at the forefront of disrupting the financial services segment. – Mclean, VA
Accessibility Software Engineer - Hearing @ Apple, Inc. – Are you interested in making the world a better place? Do you want to help influence and create some of Apple’s most important products? Our team, iOS Accessibility Software Engineering, is looking for a talented engineer who can contribute directly to our hearing focused accessibility products, including Made for iPhone Hearing Aids, Live Listen, Real-time Text Support and more. – Cupertino, CA
Senior Software Engineer (iOS) @ Capital One – At Capital One, the iOS platform is recognized as an opportunity to reach our customers in unique, personal and engaging ways. Nothing is off limits as we explore exciting ways to take advantage of the full ecosystem of iOS devices including Apple’s Watch, TV and whatever future developments Apple creates. – Mclean and Richmond, VA
Lead Software Engineer, Senior Manager (iOS) @ Capital One – As a Team Lead, you will drive design, implementation, testing, and devops in an Agile environment, using modern methodologies, and open source tools. You’ll be empowered to choose the way you work (Mac or PC, iPhone or Android). You will bring solid experience in designing and delivering software applications, and lead teams that are at the forefront of disrupting the financial services segment. – Mclean, VA
iOS Engineer @ Chegg – "Chegg is one of the best teachers I’ve ever had" These are not our words, but the words of Victoria, one of our students. We're reimagining the learning experience in 2020 and we're looking for an iOS engineer to join a new team to build Chegg's next learning platform. You'll also be part of our iOS guild of a dozen engineers passionate about being better iOS devs. – Rehovot, Israel
Senior iOS Engineer @ Citizen – Citizen is a global safety network used by more than 10% of New York. In the past few months, we’ve rolled out to SF, LA, Baltimore, and Philadelphia and despite being in only 5 cities we are consistently a top-10 News app. We’re people from Instagram, Tesla, Google, and the NYPD who came together to build tech to help people. Curious about helping scale Citizen to millions of users? Let's chat. – New York, NY
Senior iOS Engineer @ Octi Inc. – We are the next great platform for AR. We have all of our own patented custom tech and have been backed by the best product investors in the world. – Los Angeles, CA
iOS Chapter Lead @ Babylon Health – We're looking for iOS Chapter Lead to join one of the most disruptive and socially conscious AI start-ups around. – London, UK
iOS Developer @ Transit – Bright, light-hearted coworkers. The cutest rooftop in Montreal. We’re a team of app-wielding urbanists creating the vaccine to eradicate car ownership: Transit. We bring better real-time data (and smarter trip plans) to hundreds of cities, spanning public transport, bikeshare, scooters, and other shared modes. We keep millions of cars off the road — and lure more people to sustainable options. – Montreal, Canada
iOS Trainee Program @ The App Academy – Ready for the next step in your career? Become a highly skilled iOS developer in Amsterdam, The Netherlands. Apply for the iOS Trainee Program at The App Academy. Limited spots available, so act now! – Amsterdam, NL