Conferences Condensed: WWDC22
5 of our favorite sessions
It’s that time of year again—we always look forward to a week full of design and development talks from Apple. This time around, a few of us were able to meet up in person to watch the Keynote together, in addition to streaming and chatting about sessions in Discord like we usually do. Out of all the videos our team watched this week, here are a few that stood out as our favorites.
📊 Design app experiences with Charts
I’ve been a fan of Nicholas Felton for over a decade, and I mostly knew him as the creator of the beautiful Feltron Annual Reports. So it was a pleasant surprise to me that he now works at Apple as a designer primarily focused on data visualization with charts. In this talk, Nicholas walks through when developers should use charts in their UIs and gives a bunch of useful tips on how to progressively disclose and explore data with both static and interactive charts built in the new Swift Charts framework. I imagine I’ll be returning to this talk many times as I start to think through more charts in apps like Buildwatch.
– Matthew Bischoff
🎨 Compose custom layouts with SwiftUI
This session introduced fantastic new layout capabilities that bring
UICollectionViewLayout-like flexibility and transitions to SwiftUI, and fill in some gaps for more common layouts that were more difficult to achieve with the lack of layout constraints.
While the entire session was fantastic, what stood out most to me was
ViewThatFits. This new API was touched on during Platforms State of the Union, but in this more detailed session, we see its use in context with more of the new layout features. It doesn’t get a lot of screen time, but it still proved to be my most 🤯 moment this year. It’s very often that a designer will ask us to make adjustments like “if we run out of horizontal space, just remove this purely decorative component, or this supplementary label”. Seems simple enough, but it’s not—until now! Without using complicated layout math, lots of text measurement, or relying solely on the very broad size classes as layout breakpoints, we can now swap between layouts only when we need to, and the API for it couldn’t be simpler.
– Michael Liberatore
🗺 Explore navigation design for iOS
I love all the design talks that happen at WWDC every year. This year, my favorite talk was (again) about design—this time focused on navigation design for iOS. Navigation design encompasses how things behave, where things belong, and how things work. And good navigation, as this talk highlights, is often unnoticed so the user’s focus is on the content of the app.
The talk went over best practices for using tab bars, hierarchical navigation, and modal presentations. Tab bars should reflect your information hierarchy, and can tell a story about what the app can do, even without the content of the app. Hierarchical navigation is used to push users between pages of content that becomes more specific as you move down the hierarchy. And modal presentations are useful for focused, self-contained tasks. Watch the talk to learn more about the best practices for using each!
– Thomas DeVuono
🖥 Use Xcode for server-side development
Swift, but on the server! Seeing Apple use Vapor, a community-built server-side Swift framework, in a WWDC session is very exciting! I’ve done some Vapor development on internal projects and seeing Apple recommend it lets us know that it’s here to stay. This introduction session shows how a server project can be in the same Xcode project as the iOS code, and how it can be deployed to Heroku. The Vapor docs give more in-depth instructions, but this session is a great introduction to what’s possible.
– Mikaela Caron
✍️ Writing for interfaces
When you know their power, words are a force to be reckoned with. In this talk, Kaely Coon and Jennifer Bush cover how to use them effectively in your app through the PACE framework:
Consider the purpose of the screen you’re writing—what should someone know at that moment?
It helps to write copy as if you’re having a conversation with the person on the other side of the screen. A conversation has an organic flow where participants vary their tone and can anticipate what’s next.
Context and timing is a huge part of writing effective copy. For a navigation app, for example, the person will (hopefully) not be directing their attention toward your app. Write time-sensitive copy that’s short without sounding terse.
Write for everybody, regardless of region, language, or how someone interacts with their device. If your app targets a defined audience, speak to that audience without leaving anyone out.
Designers and front-end developers, take note. These lessons, while practical, extend far beyond iOS or even UX writing. They can be applied to web apps, emails, or interoffice signs on how to use a frustratingly-designed elevator.
– Sam Henri Gold
If you liked these talks & want more iOS dev tips, give us a follow on Twitter!