Auto Layout, algorithms, Crusty, and more
Every year Apple presents its Worldwide Developer Conference (WWDC), giving us five days of keynotes, sessions, and labs that bring the world up to speed with the latest developments across all Apple platforms.
But with five days and multiple simultaneous tracks, it can be hard to know which sessions deserve special attention. So, with the help of many friends on the internet I put together a list of what I consider to be the best WWDC videos of all time.
Before I start, there are some rules:
Without further ado, here are what I consider to be the best WWDC videos of all time…
SPONSORED Take the pain out of configuring and testing your paywalls. RevenueCat's all new Paywall Editor allow you to remotely configure your paywall view without any code changes or app updates.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Year: 2018 Difficulty: Advanced Watch here
It’s rare for Apple to get right down to the fundamentals of computer science, but when they do it they do it well. This talk uses extensive code examples to give clear, practical guidance to help you write more efficient code – if you’ve seen things like O(n) in the Swift documentation and wondered what it means in practice, this talk is for you.
Year: 2014 Difficulty: Beginner Watch here
Officially this talk is a glimpse into the way Apple prototypes some of its own things, but although I don’t know how accurate that is I can say this talk does make a solid point: if you have an app idea and you want to see how it might looks and work, you can build a rough prototype in something like Keynote before committing many more resources to building an actual example project. There’s also a lot of great advice here about how to solicit feedback from others, which is critical no matter what prototyping approach you take.
Year: 2014 Difficulty: Intermediate Watch here
In earlier WWDCs the scrollview talks were always amongst the best, and this one effectively capped it all off with an incredible talk that even today will give you ideas for how to solve touch handling problems. The project they use – a slide out drawer with a UIVisualEffectView
grows and grows as they make it increasingly more powerful, and shows off neat tricks like transferring gesture recognizers from a scroll view to another view.
Year: 2015 Difficulty: Beginner Watch here
Yes, it’s a session entirely about fonts. Yes, fonts. No, I’m not joking – this really deserves to be here. When Apple designed the San Francisco font family in 2015, they put an epic amount of thought into how it looked and worked across all font weights, sizes, formats, and more, and this talk walks you through how extensive their reasoning was. Stick with it to the end, because there are some super important tips to make sure your fonts look great!
Year: 2016 Difficulty: Beginner Watch here
We’re here to build apps for everyone rather than just a select few, and this talk walks through many ways we can all do better: using typography more thoughtfully, using Dynamic Type, supporting right-to-left languages, and thinking carefully about color to ensure we cater for color blindness. Obviously it’s in your interest to do all of these things and more, but even if you took only a handful of the suggestions on board your users will still benefit.
Year: 2018 Difficulty: Intermediate Watch here
There have been lots of Auto Layout talks in the past, but none pack in more tips per minute than this one. It answers a number of common developer questions such as what the render loop looks like, how activating a constraint really works, and what the relative costs are of various Auto Layout features. However, it also gives extremely clear examples of what and what not to do, along with how to diagnose and improve inefficient layouts. A must watch.
Year: 2018 Difficulty: Beginner Watch here
This was a surprise hit at WWDC18, and I think everyone who watches it comes away impressed and inspired to do better. Yes, there isn’t much code, but there doesn’t need to be – they walk you through how the iPhone X redesigned user interfaces to be entirely gestural, how to use things like springs and bounces to hint at UI state, and even how to make a tap have very specific behavior to communicate your intent.
Year: 2011 Difficulty: Advanced Watch here
When I have the pleasure of showing folks how to dig into Instruments to make their code better, they often ask “where did you learn this stuff?” Honestly, I think I can trace the answer back to this talk – this was where I first really sat down and took the time to work through Instruments, because it goes over so much of the tool in real, deep detail. Instruments has evolved its UI a little since 2011, but the concepts are timeless.
Year: 2015 Difficulty: Intermediate Watch here
If there were just one change you could make to improve your Swift code, it would be make more use of values types rather than reference types – structs rather than classes, for example. That might sound like a simple change to make, but this talk dedicates almost 40 minutes to go into specific details on value semantics, copy on write, equatability, and more. Seriously, just watch the first two minutes and you’ll be hooked.
Year: 2014 Difficulty: Beginner Watch here
Did you read Ken Kocienda’s book Creative Selection? Of course you did. This WWDC talk has so much of the same feel – you get real stories from inside Apple’s development that almost make you feel like you were in Infinite Loop yourself. How do you handle text selection? Like, really handle it? How does the iOS text correction work? What made Steve Jobs say, “we only need one of these, right?” Told through engaging, funny stories, this talk is always going to be a highlight.
Year: 2010 Difficulty: Intermediate Watch here
This talk is by Ali Ozer, who is one of a handful of engineers who have fundamentally shape Apple’s platforms for as long as most people can remember, and this talk is him sharing what it takes to make a great API – one that’s consistent, safe, convenient, and more. If you want to build code that looks and works like Apple’s does, this talk is pretty much the gold standard.
Year: 2016 Difficulty: Intermediate Watch here
This talk took a lot of people by surprise, because although it starts off by covering fairly fundamental things – use asset catalogs! treat warnings as errors! remove calls to deprecated APIs! – it then takes a hard left turn to talk about how Apple’s internal issue reporting system works. Even better, it then goes on to discuss dependency injection. Yes, I know for many of us DI is old news, but this session was the first time I had heard “dependency injection” mentioned by Apple – and this is a great primer.
Year: 2018 Difficulty: Intermediate Watch here
Apple developers don’t have the best reputation for taking testing seriously, but if there’s one talk that can make us do better it’s this one. Seriously, it covers the testing pyramid, networking testing, notification testing, asynchronous testing, mocking, performance, and more. Perhaps best of all it starts off on an important foot by saying “here are some techniques we’ve been learning recently” – this isn’t Apple preaching to us, but instead just sharing common learnings.
Year: 2015 Difficulty: Advanced Watch here
This talk discusses NSOperation (now Operation
and OperationQueue
) in extensive detail, but does so with an important twist: they talk about how it was used in the WWDC app itself. This means everything is born out of solving real problems the Apple team themselves faced, and their solutions – although perhaps overkill for many apps – are quite brilliant. The APIs involved have been lightly Swiftified, but the techniques are worth studying closely to see if you can integrate them into your app.
Year: 2015 Difficulty: Intermediate Watch here
How good is this talk? Well, if you say “the Crusty talk” to almost any iOS developer, they will know exactly what you mean because this talk not only redefined the way most of us approach Swift problems but managed to do so in a fun, approachable way. This deserves to be watch once a year, because chances are you’ve forgotten some small detail that will help improve your code.
So, those are my top 15 WWDC talks of all time. What are yours? Tweet me @twostraws and let me know!
SPONSORED Take the pain out of configuring and testing your paywalls. RevenueCat's all new Paywall Editor allow you to remotely configure your paywall view without any code changes or app updates.
Sponsor Hacking with Swift and reach the world's largest Swift community!
Link copied to your pasteboard.