Sponsored Link
Automate the mindless tasks of app development with Bitrise
Bitrise automates build, test and deployment for Fox, InVision, Grindr, PagerDuty and the community of 40K+ developers. Craft powerful workflows with 170+ integrations and run the same config locally with our CLI. Sign up to Bitrise and deploy your iOS app in minutes.
News
What’s new in Swift?
This is a fantastic resource from Paul Hudson. Pick two versions of Swift and instantly get a list of what's changed between them. If you've got a project that you haven't touched since Swift 2.1, first of all you have my sympathies 🤪 but at least this site is going to make that transition a bit easier.
You’re Practically a Mac Developer
Are you waiting for a "Marzipan" or similar framework from Apple to get started with macOS development? Brent Simmons thinks you're probably already closer to being a Mac developer than you think.
Tools
Periphery - Eliminate unused Swift code
This is really cool. Over time your projects (especially if you work on a large app) are going to accumulate code which is no longer used. This tool finds that code and adds warnings to Xcode for what it finds. Sounds like a good idea to me.
Generating Testing Device Wallpapers
David Smith not only celebrated a bit of a milestone this week 🎉but also wrote about a little technique he has for identifying which testing watch device is paired with which phone.
Inspect your app’s Documents directory on device in the Files app
Downloading the content of your app container is slow and awkward, so why bother? What a very helpful tip from Ole Begemann.
Compiler Optimizations, Compiling Optimally, and Whole Modules
This gist by Laura Savino can be summed up by simply saying "The Swift compiler is still very much in development". 😂
Code
An Evolution of a Better MVC
I linked to Dave DeLong's original 4 part set of posts a few months ago, and this week he followed it up with another part (and also a conference talk) on how his thinking has progressed in the time since the original articles.
Improving performance with background data prefetching
This is a fantastic article by Lola Priego. Yes, I know it's about Android and not iOS but the principles apply just fine across both platforms. This statement also really spoke to me:
Offline is a status, not an error
Details like how an app deals with being offline can turn a good app into a truly great one.
Making efficient use of libdispatch
Are you doing heavy work with GCD in your app? Originally based on this twitter thread it ended up as a more structured gist. You won't need this if you're just doing basic async work with GCD, but if you're spinning out thousands of tasks then read on.
RFC: In-Line Tests for Swift
I've not really much more to say about this than I really like this idea. Of course having a separate test target should still be an option, but I love both the idea of inline tests, and also documentation based tests.
Swift Tips
This repository of tips from John Sundell has been around for well over a year now, but I only came across it this week... I'm always late! 😀 What is it? 79 (and counting!) bite sized tips for Swift development, that's what!
Design
Exploring Apps Without Jailbreaking
Nathan Gitter on how to sniff out a non-native app. I love looking for the little details like the ones found in this article. Oh and no, I'm not going to make comment on this week's hot conversation, and I'm linking this not with any judgement on what you choose to develop with, but purely as an interesting article. 😬
Mobbin
It's similar to Pttrns, Mobie Patterns and the sadly defunct Capptivate but what I like about Mobbin is that you can organise the screenshots by either the pattern they are implementing, or the app name to see the feature in context.
Business and Marketing
How Ulysses pulled off a controversial pivot to subscription
Max Seelemann being interviewed on the ChartMogul podcast by Ed Shelley. This is very open and honest interview from Max with loads of information that's worth digging into if you're considering a subscription business model.
Videos
Videos from App Builders 2018
Yes, the AppBuilders conference was less than two weeks ago and yes, the videos are all available already. Pretty impressive! There are some really fantastic talks here.
Sponsored Jobs
Swift Developer at WillowTree, Charlottesville VA
The career move you've been waiting for. Competitive pay. Exciting projects. Great people.
iOS Developer at ustwo in Shoreditch, London
Work on projects that make a meaningful impact to our clients, their customers, and the world.
iOS Engineer - Anchor - NYC (Flatiron)
We're a small, smart, innovative team building the easiest way to create a podcast. Ever.
Comment
I came across this UI experiment by Darin Senneff a couple of months ago, take a second to go and look at it before reading on. It's a delightful animation of course, but it really stuck with me and I've been thinking a lot about how it made me feel when I first saw it. This week, I was reminded of it when I came across this Swift implementation of a similar design by Chris Goldsby and I want to finally write some thoughts down about it.
I think (or hope!) we all strive to create apps that delight our users and this animation delighted me twice in just a few seconds. First is the eyes following of the cursor of course, but then it actually made me laugh out loud when I saw the hands raise to cover the eyes for the password entry! 😂
A login screen made me laugh... Wait, what? That's amazing.
There was a documentary on the BBC a couple of years ago where Jimmy Carr looked at the science of laughter. I can't find the actual clip I'm thinking about from the show, but he talked about the reasons people laugh and that one of them was humans find unexpected things funny. The raising of the hands to cover the eyes is obviously the unexpected part of this, but it's the first part of the animation where the head follows the cursor that draws you in and makes you so unprepared for the raising of the hands. It's perfect.
Now, I'm not saying we should all be trying to make people laugh in our apps, and I'm definitely not saying that we should all implement cute animals hiding their eyes for our login screens! Please, don't. What I am saying though is that you should always be thinking how a little unexpected moment of delight in your UI can brighten someone's day. That's going to make your app stick in someone's mind, and that can only be a good thing.
Dave Verwer