Sponsored Link
How much time did you really spend coding this week?
Are you billing your time effectively? Did that bug fix take you an hour or two? What about all the time you spend emailing, or in meetings? You can't improve your productivity if you don't measure it β so let Timing do that for you automatically. Try it free, then get 20% off with code IOSDEVWEEKLY!
News
Looking back on Swift 3 and ahead to Swift 4
Chris Lattner with a summary of Swift 3, and 4! He outlines a two phase plan for the next version and gives us some ideas on what to expect. Oh, and I do realise that there is a certain irony of linking this as the first article after what I wrote above, but this is the news this week.π
iOS Developer Podcasts
I don't often link to podcasts, or specific episodes because the medium is a little harder to consume than a blog post. I do enjoy listening to them though! This list by Josh Adams is a great excuse to get up to date with what's available, and subscribe to a few more.
Tools
Non-Apple Tools Survey
If you're still using a tool after 6 months, it's become a proper part of your workflow and that's what makes this question from Dave DeLong interesting. Looks like these tools were most popular from the replies and they match pretty well with much of what I use too. For me, it would have been Tower, Dash, Sketch, Soulver, Xscope, SimPholders, Atom, Paw and Sip.
PNG optimisation
All PNG files are not created equally and Mark Edwards gives some details on which tools are going to provide you with the smallest files for shipping alongside your app. Looks like Photoshop PNG24 export is the winner, but as long as you're using your tool's optimised export rather than a Save As you're probably in good shape.
Code
AspectFillFaceAware
This might as well be called "ProfilePictureImageView", but that's no bad thing! If you need to display a photo of someone in your app, being able to detect a face is far easier to use than any pan/scale/crop control you could build. This library from Beau Nouvelle gives you an image view that'll find and centre a face in a photo. Really smart use of face detection technology.
Amazing Physically Based Rendering Using the New iOS 10 SceneKit
Not being involved with anything which has needed SceneKit, I wasn't aware of exactly what it was capable of these days. Avihay Assouline gives us a run down on the new Physically Based Rendering features. It's pretty impressive.
NXDrawKit
I can see that with iMessage apps now being a thing, that it might be the case that the ability to write with your finger, or draw small doodles might be a bigger requirement than it used to be. Rather than build that yourself, here's a pre-built component.
Interactive Messages in iOS 10
Talking of iMessage apps, Prianka Liz Kariat gives us a walkthrough of creating a tic tac toe game inside messages. I'm not sure these apps are going to be a huge success, but I bet we'll see at least a few really catch on, especially when they integrate with a full blown iOS app.
Design
Making a case for letter case
John Saito on the pros and cons of letter case over capitalisation for your labels and buttons. There's some good points being made in the comments too.
Business and Marketing
Why we see "Bug fixes and improvements"
This Twitter thread gives some good insight into why you might see the dreaded "Bug fixes" line in larger apps when they update. Great discussion here and it makes a lot of sense.
Videos
My name is Bond⦠SwiftBond
Craig Clayton talking about SwiftBond (now known as ReactiveKit), a reactive library. The talk focuses on using it primarily for monitoring and updating UI.
Sponsored Jobs
Thousands of Jobs, One Application
Want cooler iOS opportunities? Hired brings job offers to you, so you can stop wasting your time applying. Apply to 4,000+ companies at once on the platform. π²
Senior iOS Engineer - GameChanger - New York City
Create the interactive iOS experience shaping the future of sports teams and their communities.
Comment
I'm going to start this week with something that's been on my mind for a while now, but after reading The Churn by Robert C. Martin this week I want to briefly write some thoughts about it.
First of all, read the article.
There is a balance to be struck when considering this problem. I don't really agree that software development is at the point of diminishing returns and I do still think that we need people working towards pushing development practices forward. But in iOS development, do we see more writing about the language and CS techniques? Do we see less about actually building the apps that end up in the hands of our users?
Introducing a new language, especially one as flexible and complex as Swift was always going to trigger a lot of writing about lower level topics, but it's easy to fall into some of the traps Bob mentioned if if you listen too closely. I love Swift and I'm happier writing code with it than Objective-C, but what matters most to me is still the apps that we ship, and how they work for our users.
It's worth bearing in mind that is an issue mainly focused on writing about building apps, rather than actually building apps. There are a thousands of apps shipped every single day, but we do view iOS development through a lens of what's being written about it in our community and it does have an effect on getting things done. I'm also aware that in giving you things to read every week, I am part of the problem! I do actively try to keep things balanced where I can though.
I think what I'm trying to say is that it's OK to focus on getting apps built and shipped. You don't need to be an expert on how a language is created, or every new development technique, or rewrite working code because you saw a potentially better solution in a blog post.
Dave Verwer