UPGRADE YOUR SKILLS: Learn advanced Swift and SwiftUI on Hacking with Swift+! >>

The 15 Best WWDC Videos of All Time

Auto Layout, algorithms, Crusty, and more

Paul Hudson       @twostraws

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:

  1. The video must still be relevant. That doesn’t necessarily mean it must be about Swift, but any killer talks about things Apple has replaced, discontinued, or sidelined, weren’t considered for this list.
  2. No keynotes, and no “What’s new in…”. Yes, I know they are awesome, particularly the keynote where Swift was introduced, but it wouldn’t be fair.
  3. If similar content from an older video was presented in a newer video, the newer video is included.
  4. “Best” is subjective. I’ve tried to pick talks that I know contain lots of useful information so you can learn something valuable. If you disagree you’re welcome to tweet me.
  5. I’ve attempted to mark each talk as being Beginner, Intermediate, or Advanced. This is also subjective – it’s just to give you a rough guide.

Without further ado, here are what I consider to be the best WWDC videos of all time…

Hacking with Swift is sponsored by RevenueCat

SPONSORED Take the pain out of configuring and testing your paywalls. RevenueCat's Paywalls allow you to remotely configure your entire paywall view without any code changes or app updates.

Learn more here

Sponsor Hacking with Swift and reach the world's largest Swift community!

15. Embracing Algorithms

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.

14. Prototyping: Fake It Till You Make It

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.

13. Advanced Scrollviews and Touch Handling Techniques

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.

12. Introducing the New System Fonts

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!

11. Inclusive App Design

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.

10. High Performance Auto Layout

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.

9. Designing Fluid Interfaces

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.

8. iOS Performance and Power Optimization with Instruments

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.

7. Building Better Apps with Value Types in Swift

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.

6. A Strategy for Great Work

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.

5. API Design for Cocoa and Cocoa Touch

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.

4. Improving Existing Apps with Modern Best Practices

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.

3. Testing Tips & Tricks

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.

2. Advanced NSOperations

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.

1. Protocol-Oriented Programming in Swift

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.

Where now?

So, those are my top 15 WWDC talks of all time. What are yours? Tweet me @twostraws and let me know!

Hacking with Swift is sponsored by RevenueCat

SPONSORED Take the pain out of configuring and testing your paywalls. RevenueCat's Paywalls allow you to remotely configure your entire paywall view without any code changes or app updates.

Learn more here

Sponsor Hacking with Swift and reach the world's largest Swift community!

BUY OUR BOOKS
Buy Pro Swift Buy Pro SwiftUI Buy Swift Design Patterns Buy Testing Swift Buy Hacking with iOS Buy Swift Coding Challenges Buy Swift on Sundays Volume One Buy Server-Side Swift Buy Advanced iOS Volume One Buy Advanced iOS Volume Two Buy Advanced iOS Volume Three Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with macOS Buy Dive Into SpriteKit Buy Swift in Sixty Seconds Buy Objective-C for Swift Developers Buy Beyond Code

Was this page useful? Let us know!

Average rating: 4.4/5

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.