Meet Orka: Orchestration with Kubernetes on Apple
Coming soon from MacStadium, Orka is a new virtualization layer for Mac build infrastructure based on Docker and Kubernetes technology. Orka offers the first and only solution for orchestrating macOS in a cloud environment using Kubernetes on genuine Apple Mac hardware. Currently in beta, Orka will be released later this summer. Learn more.
App Store Principles & Practises
This new official page about competition on the App Store is… interesting… I have absolutely no idea why this would have suddenly appeared on the Apple web site. Nope, no idea at all. 😂
Why Did Apple Reject My App? Ex-Head of App Store Review Explains
This is a fascinating interview with Phillip Shoemaker who ran App Review for Apple from 2009 to 2016. It contains so much information about the app review process that we could never have known for certain. Of course, you should take it all with the context that Phillip no longer works for Apple, but everything he said sounded extremely plausible to me. I loved every second of this podcast by Mark Gurman.
Ironically, I was interviewed earlier this week and one of the topics that came up was the App Review Times site I used to run. I wish I had known some of the things in this podcast before doing that interview… It turns out maybe I should have segmented the data more than I did! 😂
Screen time API proposal
I despair at how the marketing page for this API proposal (because apparently that's a thing now) feels to read. It's so high and mighty, putting the logos of every media outlet that covered the original story next to images of smiling kids and families. It's just… Ugh.
The proposal is in response to the recent situation where apps that were (mis)using MDM to monitor screen time were removed en-masse from the App Store. So, the companies involved have come together to propose an API that would help solve their problems. Even though the proposal is being ridiculed on Twitter, I do actually think it's a good idea. Will Apple implement it? No, but they are almost certainly already working on this problem internally, and this will be good input into that process. We should tell Apple what we want and need. It just doesn't need to be this filled with drama, but I guess that's just what you have to do in 2019. 🤮
The absolutely ridiculous idea that Apple will respond to this publicly at all, let alone before WWDC just makes this all the more frustrating. Start a countdown to next week's inevitable articles in the media about how Apple did nothing about the problem during their annual developer conference. Then, follow that up next year with the "WE DID IT!" articles when Apple announce some kind of API that vaguely addresses these concerns.
Am I feeling cynical today? I don't know what you're talking about. 😂
I don't know about you, but I can't wait to see what the folks in Cupertino have been working on all year! 🚀
If you're going to be in San Jose in person, there's something for every taste, and budget (as long as you ignore accommodation prices 😬). Whether you're going to WWDC itself, AltConf, Layers or try! Swift, you're going to have a great week.
Like I said in this week's opening comment though, WWDC week in San Jose is so much better if you meet plenty of new people. So, whether you join people for a morning coffee, at one of the morning fitness events (either official, or unofficial), at a live podcast recording (there are too many to link), at a party (also too many). Or maybe you organise an impromptu get together yourself with ConfFriends? If you're looking for a good place to hang out in the city, there's also a decent guide here. It doesn't matter how or where, just make sure you make the most of your week! It can be hard to go up to a complete stranger and say hello, but I promise that 99.9% of the time it results in a positive experience.
But even if you're not there in person, that doesn't mean you need to be alone! There are AltConf Satellite conferences in London, Paris, Berlin, and Madrid. Or, if you can't make it to any of those, then there are all sorts of other "keynote watching" type events in cities all around the world. Enjoy the announcements with friends or make new ones, even if you're not in California.
Or, maybe none of that is possible this year and you're going to be following along completely remotely. There will be plenty coverage from the session videos, and on Twitter, but one site that I'll call out specifically is WWDC by Sundell. Yes, that's a new site, purely for covering the conference as it happens. There's already plenty of content there too, including an interview with me containing some of my thoughts about Marzipan and what I hope to see in Xcode 11. 🤞
Enjoy WWDC, and I'll be back next Friday with my take on it all. 🎢
Review: Swift Playgrounds 3.0 for iPad
I must have missed the release of the new version of Swift Playgrounds, as reading this article by John Sundell it was news to me that it had even been updated. I wonder if we'll see some of the themes in this release echoed in next week's Xcode release?
Solving ambiguous constraints without rerunning your app
Tweak a constraint, build and run, tweak a constraint, build and run, tweak, build, tweak… There must be a better way? Marcos Griselli shows us how to use the Xcode view debugger and LLDB to speed up our view debugging process. I also came across this project from Nobuo Saito this week that allows you to unit test that your layout is consistent. 👍
Visualizing navigation flow progress
Great post by Sebastian Osiński on representing progress through a sequential process in a navigation controller. The idea is good, it's well written, the code is clear, there's great use of animations throughout the post, and there's sample code linked at the end. What more could you want? 👍
Promises in Swift for beginners
When talking about Promises a lot of articles immediately jump into recommending a Promises framework to use. I liked Tibor Bödecs approach here of explaining the concept, with code, before introducing a framework. 👍
Migrating a paid app to be free with In-App Purchases
Axel Kee with a good explanation of the techniques needed to transition users from a paid-up-front app to a free app with in-app purchases. This is never going to be a trivial thing to do, but if you've made the decision to flip your app then this post should help with the technical side of things.
One of my big hopes for next week is that Apple start to resolve this crazy situation we're in right now with in-app subscription screens. There are some great ideas in this post from David Smith, and they were followed by more from Joe Cieplinski. I think I agree with Joe that the subscription screen should be handled completely by the system. Standard is good in this situation.
The Future of Interaction
Following up on his last article on Marzipan, Craig Hockenberry lays down some more thoughts on where we may be heading after that.
Business and Marketing
Delisted Overnight: A Cautionary Tale for Indie iOS Developers
This is heartbreaking, but I don't know what I'd actually want Apple to do about it. We can't ask them to improve the search algorithm (which as a community, we regularly do) and then complain when the algorithm changes and an individual app loses ranking. It turns out that this this specific situation was caused by a bug, see the update at the end of the article for details. But if it wasn't a bug, I'm not sure what I'd want to see done about it.
The main reason I'm linking this article, is that this is a cautionary tale about relying too much on one source of downloads/revenue. This is always dangerous, but especially so if that source is not controlled by you. Marketing is much more than SEO and takes real work to maintain. It's also not the end of the world if this happens, it's very bad news but it doesn't have to be the end.
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
Looking for a job? There's many more job listings over at iOS Dev Jobs. Do you want your job listing posted here? Just post a featured listing and your job will be right here next Friday.
Test your WWDC knowledge with a quiz...
Given it's the WWDC issue, let's end with a fun quiz from Paul Hudson as we head into the conference!
I scored 13 out of 15. 👍 I got a the 2010 logo wrong and the number of scholarship tickets last year. 😬
This time tomorrow, I'll be somewhere over the Atlantic Ocean hurtling towards San Jose. ✈️ Yes, it's that time of year again, hold on tight… 🎢
There's a round up of what's going on down below so I'll keep this comment short, but I'll finish with a reminder that I love to meet new people at WWDC. Yes, the keynote is exciting, the labs are invaluable, and the sessions are educational. But the conversations I have and new friends I make are the reason I attend every year. So, if you see me around and want to say hello, please don't feel like it'll be weird because it won't. 👍
Or, if you'd like to say hello, and don't see me around then you can guarantee to bump into me at the App Marketing Lab that I'm running at AltConf on Tuesday. See you there!Dave Verwer