Sponsored Link
The online magazine for deep-thinking developers
The new monthly magazine De Programmatica Ipsum: "on the programming itself". Brought to you by industry veterans Graham Lee and Adrian Kosmaczewski, each month brings a new topic, fresh guest contributions, and insight born of experience. Visit today to read our first two issues: "Hype" and "Quality".
News
Apple Entrepreneur Camp
This is a wonderful initiative from Apple. If you're a female founder or developer and have an app or a working prototype developed, these camps are very likely going to be fantastic opportunities. There are four dates scheduled in 2019, but I hope it continues for a lot longer than that.
How to Game the App Store
I've said before that if the App Store is going to succeed in the long term, customers need to feel completely comfortable knowing that it is generally an honest and fair marketplace. Unfortunately, with all of the various tricks highlighted in this article by David Barnard that has never been less true than right now.
Tools
All you need is tools
Pedro Piñera with a great article on internal developer tooling at Shopify. Obviously you're only going to be able to invest in things like this as a larger company, but even as a small developer it's worth reading just to be aware of what's going on.
Xcode and LLDB Advanced Debugging
A three part series of posts (Part 1, Part 2 and Part 3) from Fady Derias which is sure to teach you a few things you didn't know about LLDB. I'd just be a little cautious of the advice in part 1 to prototype a bug fix by using expression
. It's way too easy to forget to update the actual code and have the breakpoint silently modify your app's behaviour!
Code
Measuring iOS scroll performance is tough
I missed this article from Kyle Sherman when it was first published in August but came across it this week, and it's great. Before you can improve your scrolling performance, you need to know how to test how fast it is.
By the way, just a a quick reminder that the primary way that I source content is by reading the feeds from the iOS Dev Directory. If you write about iOS development or Swift, you know what to do! Kyle's blog wasn't listed previously, but it is now! 👍
Dependency Injection for Testability
Can you write a ~2,700 word article about how to unit test the calling of a single class method that takes no parameters? Actually, yes you can! Josh Adams shows us how. 😂
Debouncing in Swift while your iOS app is in the background
I hadn't come across the term debouncing before, although I was familiar with the concept. Debouncing while your app is in the background though? Interesting article from Belle B. Cooper.
When to Avoid Libraries
This article by Ben Sandofsky is not new, but after this week's most recent npm fiasco it feels like the right time to link to something like this again. I've linked to several articles like this in the past, but it's worth a reminder. This could easily happen in the iOS world too.
Attributed Strings with Style
Like Pierre Felgines, I have also seen view and model logic merge too many times as soon as an attributed text is needed. How do you solve it? How about separating the semantics of the styling from the application of the styles? The purity of this solution does come with the cost of additional complexity, but it's going to be appropriate in certain situations.
Business and Marketing
Linking to Subscription Management Settings
I'd love to see Apple give some guidance, or even some rules around subscription management on iOS. I'd also love to see them implement some APIs that provide a native, fast view controller which allows modification/cancellation of an App Store subscription for the current app. Until some of that happens, Joe Cieplinski explains how to do your best with what we have today!
Joe also dropped this comment this week. It's largely unrelated, but it's a great point.
Videos
Videos from try! Swift NYC 2018
Check out this fantastic set of videos from the wonderful try! Swift conference held in New York just a couple of months ago in September! 📺
And finally...
Brass Bar Debugging
Think they'll fit the new Mac Pro with one of these? 😂
I saw the tweet this week, which I think is a screenshot of this post about this book. It made me smile though, so here it is!
Comment
This week saw the open source release of a new version of SubEthaEdit and it sent me on a real trip down memory lane. 😍
I was a fairly late adopter of Apple technology. At the start of 2006, I was a pretty frustrated manager leading a team of ASP.NET developers writing HR software. As part of that job, I headed over to San Diego to attend O'Reilly Etech 2006. It was an amazing conference and I saw Kathy Sierra, Bruce Sterling, Kevin Lynch, Ray Ozzie, David Heinemeier Hansson and a whole host of other amazing people talk. That conference, and the people I met over the next few months also changed the course of my career.
I remember two things stood out from the first few hours in the convention centre. A lot of people were using Mac laptops, and they all seemed to be using a text editor called SubEthaEdit to collaboratively take notes in real time during the talks. No faffing about with network settings, the laptops just found each other (I didn't know about Bonjour at the time) and a new cursor representing a new user would pop into the file. I was there with my Toshiba Tablet PC 🙄 and I felt like an absolute dinosaur. I had been thinking about buying a Mac for a while, but that was the final push I needed. That evening I went straight from the conference to the Apple Store, bought a MacBook Pro and never looked back. I quit my job a couple of months later and started a company.
So why am I writing about this? When I saw the SubEthaEdit announcement this week it brought back all those memories and reminded me of why I fell in love with the Apple software ecosystem. Innovative software, crafted with love primarily by small, independent developers. It was unlike anything else in computing that I had ever seen. That feeling continued, and in fact got even stronger with the early days of iOS development. In my opinion, some really rapid advancement of personal computing happened during those years. It's a real shame that SubEthaEdit didn't find commercial success, but it definitely found a place in my heart.
These days, the reality of having two very popular mobile platforms, and the difficulties of creating a sustainable business on the App Store means that we see less and less software that really cares about innovating with the platform in the same way it did in the early years of OS X and iPhone OS. It does still exist though and it still makes me smile when I see it.
So, thanks to Dominik Wagner for this new release, and for being part of the reason I'm even here doing this today. I hope you all go and build amazing software in the spirit of what I first saw in that San Diego convention centre.
Dave Verwer